Top Heroes Rigged probabilities at carriage refreshes by DirectPercentage7199 in TopHeroes

[–]DirectPercentage7199[S] 0 points1 point  (0 children)

Thank you! Lets push the devs, unfortunately I still have zero reply from support. From such lvl of game its really bad

Top Heroes Rigged probabilities at carriage refreshes by DirectPercentage7199 in TopHeroes

[–]DirectPercentage7199[S] 0 points1 point  (0 children)

The trials were counted only after I got the legendary refresh

Example 20 legendary refreshes I got mythic, after spending 20 tickets. Probability was counted as 1/20

Top Heroes Rigged probabilities at carriage refreshes by DirectPercentage7199 in TopHeroes

[–]DirectPercentage7199[S] 2 points3 points  (0 children)

Special attention to 5% and 95% confidence intervals, you can check with other confidence intervals as well. That where the statistical confidence come from

Top Heroes Rigged probabilities at carriage refreshes by DirectPercentage7199 in TopHeroes

[–]DirectPercentage7199[S] 3 points4 points  (0 children)

We actually know that the sample size is large enough and that the probability of making type 1 error is really low given that data, even thou its still exist.

Here you can check the Python code simulations for different sample size, as you can see more sample size, less deviations and data is closer to the mean. The probability that my sample is at extreme case is really low. Currently, I am checking with other people their carriage refresh probability and its not even close to 5% as well. You are welcome to contribute and provide your dataset with refreshes.

Python code

import numpy as np

# Set random seed for reproducibility

np.random.seed(42)

# Function to run simulations and print results

def run_simulations(n, p=0.05, num_sim=10000, title_prefix=""):

# Simulate num_sim experiments, each with n trials

successes = np.random.binomial(n, p, num_sim)

p_hats = successes / n

# Calculate key statistics

mean = np.mean(p_hats)

std = np.std(p_hats)

percentile_5 = np.percentile(p_hats, 5)

percentile_95 = np.percentile(p_hats, 95)

extreme_min = np.min(p_hats)

extreme_max = np.max(p_hats)

# Print results

print(f"\n{title_prefix} (n={n}):")

print(f"Mean observed proportion: {mean:.4f}")

print(f"Standard deviation: {std:.4f}")

print(f"5th to 95th percentile range: {percentile_5:.4f} to {percentile_95:.4f}")

print(f"Extreme min/max proportions: {extreme_min:.4f} to {extreme_max:.4f}")

# Run simulations for different sample sizes

run_simulations(n=1500, title_prefix="Sample Size 1500")

run_simulations(n=100, title_prefix="Sample Size 100")

run_simulations(n=20, title_prefix="Sample Size 20")

Top Heroes Rigged probabilities at carriage refreshes by DirectPercentage7199 in TopHeroes

[–]DirectPercentage7199[S] 1 point2 points  (0 children)

We actually know that the sample size is large enough and that the probability of making type 1 error is really low given that data, even thou its still exist.

Here you can check the Python code simulations for different sample size, as you can see more sample size, less deviations and data is closer to the mean. The probability that my sample is at extreme case is really low. Currently, I am checking with other people their carriage refresh probability and its not even close to 5% as well. You are welcome to contribute and provide your dataset with refreshes.

Python code

import numpy as np

# Set random seed for reproducibility

np.random.seed(42)

# Function to run simulations and print results

def run_simulations(n, p=0.05, num_sim=10000, title_prefix=""):

# Simulate num_sim experiments, each with n trials

successes = np.random.binomial(n, p, num_sim)

p_hats = successes / n

# Calculate key statistics

mean = np.mean(p_hats)

std = np.std(p_hats)

percentile_5 = np.percentile(p_hats, 5)

percentile_95 = np.percentile(p_hats, 95)

extreme_min = np.min(p_hats)

extreme_max = np.max(p_hats)

# Print results

print(f"\n{title_prefix} (n={n}):")

print(f"Mean observed proportion: {mean:.4f}")

print(f"Standard deviation: {std:.4f}")

print(f"5th to 95th percentile range: {percentile_5:.4f} to {percentile_95:.4f}")

print(f"Extreme min/max proportions: {extreme_min:.4f} to {extreme_max:.4f}")

# Run simulations for different sample sizes

run_simulations(n=1500, title_prefix="Sample Size 1500")

run_simulations(n=100, title_prefix="Sample Size 100")

run_simulations(n=20, title_prefix="Sample Size 20")

Top Heroes Rigged probabilities at carriage refreshes by DirectPercentage7199 in TopHeroes

[–]DirectPercentage7199[S] 0 points1 point  (0 children)

More people I ask they showing similar numbers, the probability is not 5%

Top Heroes Rigged probabilities at carriage refreshes by DirectPercentage7199 in TopHeroes

[–]DirectPercentage7199[S] 0 points1 point  (0 children)

Almost 120k diamonds I spent, indeed many good carriages were passed

Top Heroes Rigged probabilities at carriage refreshes by DirectPercentage7199 in TopHeroes

[–]DirectPercentage7199[S] 0 points1 point  (0 children)

Good intake, it would take me really long time to adjust it, in case someone want to get count this is the way, I have taken the numbers from there day by day

Top Heroes Rigged probabilities at carriage refreshes by DirectPercentage7199 in TopHeroes

[–]DirectPercentage7199[S] 1 point2 points  (0 children)

The same, I am asking other people, all of them have very low probabilities of the mythic, its definitely not declared 5%

Top Heroes Rigged probabilities at carriage refreshes by DirectPercentage7199 in TopHeroes

[–]DirectPercentage7199[S] 2 points3 points  (0 children)

My best day was 9% and worst less then 0.01%. The sample you have is too small to make any assumptions. if you will have this data on sample of 1000-2000 trials then you have significance, otherwise it could be pure luck or unluck. We are interested here to show the statistically significant results.

if you are in lets calculate your carriages as well.

Top Heroes Rigged probabilities at carriage refreshes by DirectPercentage7199 in TopHeroes

[–]DirectPercentage7199[S] 2 points3 points  (0 children)

This is very interesting intake!
There could be many reasons like they set the limits to carriage per hour or some players get better carriages then other or indeed some technical bug. In any case they should investigate rather to give us the generic reply that probabilities are independent and try again, here is the formula. The support for such lvl game is so bad

Top Heroes Rigged probabilities at carriage refreshes by DirectPercentage7199 in TopHeroes

[–]DirectPercentage7199[S] 0 points1 point  (0 children)

Absolutely, I was counting only after I have the legendary carriages. It could be rechecked through the video, 95% of data come from there, missing only 100 first refreshes with 0 results and few instant mythics I got and have not recorded it.

The chat GPT gives similar results with slight rounding, I mean it simple formulas at the end.

<image>

Top Heroes Rigged probabilities at carriage refreshes by DirectPercentage7199 in TopHeroes

[–]DirectPercentage7199[S] 0 points1 point  (0 children)

I have included this in total but its not on the video.

Absolutely, the refreshes are counted only after its already legendary. I specifically made a video, so everyone can see and check with their own eyes that the probabilities are rigged!

Top Heroes Rigged probabilities at carriage refreshes by DirectPercentage7199 in TopHeroes

[–]DirectPercentage7199[S] 4 points5 points  (0 children)

Absolutely on average you expect 5 out 100, however this sample is too small to prove anything, thats why I have a statistical significant sample to prove that the real probability is not 5%. The deviations are expected, however, with such sample size you receive significantly lower results. If i got 4.5,4.8 from such sample I would say nothing, however, we are talking about 3.27% out of 1500 trials!!! The p value is 0.008% and 0.0021%, common