I could calculate this in closed form, but since I'm currently working on some scripting, I decided to just python 1000 trials and see what I got:
Trials: 1000 Successes: 24 Success rate: 2.4 %
That's how often a simulated opening of 36 crystals with equal chance at one of six classes generated a set where at least 13 of them were of the same class.
Uncommon, but not extraordinarily rare. There were a few 14s in the data, so that's not super rare either. And this is the stuff that conspiracy theories are made of. A legitimately randomly generated result that some people would never believe was random if it happened to them.
Wow, so this basically entails that RNG odds aren't as "simple" as a result obtainable from something like binomial distribution or Poisson distribution (well, Poisson would require an absolutely immense amount of crystals as a sample size anyways, and that's borderline impossible with 6*s of anyone's roster at this point in time we are.); But it rather seems that a simulated environment would reveal an answer closer to the truth (more or less). At least that's what I understood.
Regardless, the odds turned out to be fairly high in the end as per this calculation. Appears that there's a multitude of summoners with a similar condition to mine in-game. I feel this weird 6* ratio is going to continue anyways considering my luck. Just gonna hope the majority gets buffed.
Thanks to all who commented. To those with a similar situation, hopefully our pulls would even out in due time. To those who calculated, thanks for the insight. Have a great day, all.
Yeah I assumed you could do a binomial cumulative, which means the chances of getting 13 or more is 0.39%, with the probability of precisely 13 being lowrr
So this is my 6* cosmic roster. There are 13 of them. In total I have 35 unique 6*s (about 3 are duped). So I have opened about 36 6*s so far (2 were nexuses) and have pulled a whopping 13 cosmics...
This isn't quite a rant post, but either way, feel free to leave a lol reaction at my abysmal luck. This meme-tier ratio pretty much reflects my entire 6* luck, lmao. As you can see, I haven't leveled them up because it would probably take literally 1000 cosmic iso to do so (don't have such funds).
It isn`t easily calculable since you do not know the timeframe over which you have opened your 6 stars. Who were featured and who were basic. So for this calculation I just took the number of cosmics and total champs auntm.ai showed are in the game and for the calculations assumed ALL 6* champions are in the basic crystal. This gives 37 cosmics and 193 total champions. So a 19.171% chance to get a cosmic from a single crystal. Taken that you have 35 champs and 3 dupes you have opened 39 crystals.
Taking 38 chances at 19.171% chance to get a single cosmic. You have a 2.08% chance to get a total of 13 cosmics from 38 pulls.
ı want to add extra cuz ı think this topic is getting a bit long.
ı dont mean any offense, ım more familiar with c,sharp and ++ (c basically) ;dont have any experience in phyton but if the 'random' library work same as the others( and probably it does = uses the most basic code for randomness in this library which probably takes us to our second statement -> it produces values from the clock of the hardware you are using) it is insanely bad for calculating any precies odd or some close to actual value( nothing can be realy random in any programming base algorithm the best we can do is define ways for randomness to resemble what is actualy random).
secondly if we know what rng kabam uses for its crystalls we can simulate it a lot and get some posible similarities.(this will only work if we try to get heavy sequential output. even with this high load, it will probably be useless for any method planned cuz of the number of the outputs and probably there is delay in each of them , that can be the reason it lags a lot and fails to display huge pops sometimes)
thirdly binomial distribution is standart, textbook method for this exact style of odds(total try and number of goal defined and we know the chance for our target in a single try). you just need to define what you targeted odd is and define it as your goal. you can use this for any crystal in this game.
fourtly there are some insanely thought out rngs out there and ım want to be hopefull that kabam uses a fine one for this. and this means it isnt actualy random either.
best way for our odds is standart pen paper calc because its the definition of what statistic is. any other computer based simulation is as its names states a simulation. it will be different for every other try. nothing can exactly tell that captain america in your next crystall. if kabams rng is good and their statement on odds of each individual champ beeing equal is correct then its the best odd you are gonna get.
Python 3.9.5 appears to use Mersenne Twister as its core PRNG algorithm. Mersenne Twister is known to be not cryptographically secure, but generally considered sufficiently random for most statistical purposes.
Almost no PRNG directly generates random numbers from the system hardware clock. Many will "seed" their PRNG from the clock as one of its entropy inputs. Basically all computer PRNGs use a serial algorithm that is "seeded" with an initial value or set of values, whereupon the generator generates pseudo-random outputs based on that initial state.
Kabam almost certainly didn't implement their own RNG. They just used whichever one their language libraries included. So, if not Twister probably a 32-bit LCG like that MS Visual C uses (or used to use: I haven't checked in years).
Simulated runs like this don't "calculate" the odds of anything in particular. Instead, simulations are more properly a form of measurement of the possible results of a set of random possibilities. The more iterations performed, the lower the proportional likely margin of error that measurement will be from the actual statistical average result. Or to put it more colloquially, the more runs you calculate, the more likely the actual value will be close to the one you get. You can certainly attempt to calculate everything closed form, but actually in the real world it is often the case that the mathematics to calculate closed form values is so complex that people resort to simulations to estimate them. Or in this case, people could be too busy and lazy to calculate them.
I think the biggest problem in all of this is the notion that some PRNGs are "good" and some are "bad." Honestly, this is a misunderstanding from too much reliance on Google searching. Whether a PRNG is good or bad depends on circumstance, and specifically how random do you need it to be. If you're going to use it to simulate flipping a coin to decide where to go for lunch, no PRNG is "bad." Even the worst PRNG can generate enough entropy to simulate a coin toss. What matters is whether a PRNG is "random enough."
There's actually no such thing as "truly random" - there's actually no technical definition for that term you could use to determine if something was "truly random" or not. We actually define "random enough" to be a generator that meets a set of conditions. For something like Contest of Champions crystal openings, all we really need is something that is unbiased and unpredictable. Viewing a hundred crystal openings gives players no hints on what the next hundred will look like. And over statistically long periods of time every result is equally likely to occur (and to get technical, every pair of openings is equally likely to occur, and every triple, and so on). Most PRNGs you'll find in modern languages are at least this good. Most of the technical problems generators have wouldn't do anything noticeable to MCOC crystal openings. Hyperplanar correlation, for example, would be a problem if you were doing complex multivariable simulation, but this would be immaterial when it comes to champion crystal openings. Again, no human could possibly notice, and thus care, about such correlations.
Comments
So for this calculation I just took the number of cosmics and total champs auntm.ai showed are in the game and for the calculations assumed ALL 6* champions are in the basic crystal.
This gives 37 cosmics and 193 total champions. So a 19.171% chance to get a cosmic from a single crystal.
Taken that you have 35 champs and 3 dupes you have opened 39 crystals.
Taking 38 chances at 19.171% chance to get a single cosmic. You have a 2.08% chance to get a total of 13 cosmics from 38 pulls.
Almost no PRNG directly generates random numbers from the system hardware clock. Many will "seed" their PRNG from the clock as one of its entropy inputs. Basically all computer PRNGs use a serial algorithm that is "seeded" with an initial value or set of values, whereupon the generator generates pseudo-random outputs based on that initial state.
Kabam almost certainly didn't implement their own RNG. They just used whichever one their language libraries included. So, if not Twister probably a 32-bit LCG like that MS Visual C uses (or used to use: I haven't checked in years).
Simulated runs like this don't "calculate" the odds of anything in particular. Instead, simulations are more properly a form of measurement of the possible results of a set of random possibilities. The more iterations performed, the lower the proportional likely margin of error that measurement will be from the actual statistical average result. Or to put it more colloquially, the more runs you calculate, the more likely the actual value will be close to the one you get. You can certainly attempt to calculate everything closed form, but actually in the real world it is often the case that the mathematics to calculate closed form values is so complex that people resort to simulations to estimate them. Or in this case, people could be too busy and lazy to calculate them.
I think the biggest problem in all of this is the notion that some PRNGs are "good" and some are "bad." Honestly, this is a misunderstanding from too much reliance on Google searching. Whether a PRNG is good or bad depends on circumstance, and specifically how random do you need it to be. If you're going to use it to simulate flipping a coin to decide where to go for lunch, no PRNG is "bad." Even the worst PRNG can generate enough entropy to simulate a coin toss. What matters is whether a PRNG is "random enough."
There's actually no such thing as "truly random" - there's actually no technical definition for that term you could use to determine if something was "truly random" or not. We actually define "random enough" to be a generator that meets a set of conditions. For something like Contest of Champions crystal openings, all we really need is something that is unbiased and unpredictable. Viewing a hundred crystal openings gives players no hints on what the next hundred will look like. And over statistically long periods of time every result is equally likely to occur (and to get technical, every pair of openings is equally likely to occur, and every triple, and so on). Most PRNGs you'll find in modern languages are at least this good. Most of the technical problems generators have wouldn't do anything noticeable to MCOC crystal openings. Hyperplanar correlation, for example, would be a problem if you were doing complex multivariable simulation, but this would be immaterial when it comes to champion crystal openings. Again, no human could possibly notice, and thus care, about such correlations.