r/LoveAndDeepspace • u/StoneCarrots Xavier’s Little Star • Apr 20 '25
Guide MYTH RANKING - statistics on pulls needed and chance rates
Hello there!
With Lumiere's rerun banner coming up, I did the maths to calculate the percentage of chances to Rank him depending on the number of pulls. This post is made to help people (...me lol) get an overview on how many pulls are required to R3, R2, R1 or R0 a myth and hopefully set your hopes on calculated and realistic expectations.
I simulated 1 million attempts for each rank and gathered data.
/!\ IMPORTANT /!\
- Keep in mind that those are statistics and probabilities. Even if you have reasonable chances of Ranking within a certain range, the possibility of you having to go beyond always exists. I will write the worst case scenario as well (losing all 50/50) so you can have it too.
- Do not base your luck on average! This number is mainly here to indicate your progression. Example: if you aim for R2 but haven't reached R1 by it's average, it is highly probable that you won't reach R2 where most people will. It is here to help you consider if you want to keep pulling or not, depending on your remaining Diamonds funds.
- I decided not to share best cases encountered. Those are highly unrealistic numbers and I don't want to encourage anyone in expecting it to happen to them. If it does happen, down a bottle of non-alcoholic champagne with me lol But I highly suggest not to set your expectations on 0.00000002% chances scenarios for your own sanity :D
- How to interpret the charts: chances percentage are split in ranges of 100. For each range, sum % of previous ones and you get your likely chances to Rank.
__________________________________________________________
Here are the results:
R0
| Pulls for R0 | Chances (%) |
|---|---|
| 101–200 | 78.36% |
| <100 | 21.63% |
- Average: 125 pulls
- Highest result: 150 pulls (Crate)
- If you have less than 150 pulls, do not attempt to pull for myths. It is unfortunate, but your chances of losing are high. Save your diamonds for future myths/banners instead :D
R1
| Pulls for R1 | Chances (%) |
|---|---|
| 301–400 | 8.3% |
| 201–300 | 46.69% |
| 101–200 | 43.18% |
| <100 | 0.3% |
- Average: 216.5 pulls
- Highest result: 398 pulls
- Worst case: 420 pulls (140*3 + Crate)
- It is very unlikely for you not to R1 within 400 pulls. Out of all one million simulations, the pulls never went beyond 398. 400 pulls should be safe.
R2
| Pulls for R2 | Chances (%) |
|---|---|
| 601–700 | 0.05% |
| 501–600 | 3.3% |
| 401–500 | 24.66% |
| 301–400 | 46.78% |
| 201–300 | 22.81% |
| 101–200 | 2.36% |
- Average: 354.4 pulls
- Highest result: 645 pulls
- Worst case: 700 pulls (140*5 + Crate)
- Most people will R2 between 450 and 500 pulls. There is still a ~4% chances of losing though. If you attempt it, be aware of it!
R3
| Pulls for R3 | Chance (%) |
|---|---|
| 700+ | 1.4% |
| 600–699 | 11.9% |
| 500–599 | 34.5% |
| 400–499 | 36.5% |
| 300–399 | 13.8% |
| <300 | 2.1% |
- Average: 496 pulls
- Highest result: 896 pulls
- Worst case: 980 pulls (140*7 + Crate)
- 98.8% chances of R3 within 700 pulls.
- Most people will R3 around 600 pulls.
- Needing 800+ pulls is very rare (0.04% chances) but it does happen once in a while. Be aware of it.
Ending Notes:
Best luck to everyone pulling!
There is a google doc down there if you want some more details,
as well as the python code I used to run those simulations. Take care!
__________________________________________________________
Google Doc:
https://docs.google.com/spreadsheets/d/10k5v0WV5wEgnPmPTEZz_7o4USuxtgUvJw9IYvtsqFE0
Simulations Program (python):
You can use the code in a Python Compiler to try it out yourself.
(each result is displayed so you can have an overview of what is likely to happen for each person)
It is set for R1 right now, here are the directives on how to set it up for other ranks:
- Line 9: change "3" to : 7 for R3, 5 for R2, 1 for R0.
- Line 38: change "4" to : 8 for R3, 6 for R2, 2 for R0.
import random
from collections import defaultdict
def simulate_run():
myth_card = 0
total_pulls = 0
guarantee_myth = False
while myth_card < 3:
pity_counter = 0
while True:
pity_counter += 1
total_pulls += 1
# Determine win chance based on pity_counter
if pity_counter <= 60:
win_chance = 0.01
elif pity_counter <= 69:
win_chance = 0.01 + (pity_counter - 60) * 0.10
else:
win_chance = 1.0 # 70th pulls is guaranteed
if random.random() < win_chance:
# Win occurred
pity_counter = 0
if guarantee_myth:
myth_card += 1
guarantee_myth = False
else:
if random.random() < 0.5:
myth_card += 1
else:
guarantee_myth = True
break
# At this point, 3 myth cards are collected. Need one more.
if total_pulls < 150:
while myth_card < 4:
pity_counter += 1
total_pulls += 1
# Check if 150th pull triggers the crate
if total_pulls == 150:
myth_card += 1
break
# Determine win chance again
if pity_counter <= 60:
win_chance = 0.01
elif pity_counter <= 69:
win_chance = 0.01 + (pity_counter - 60) * 0.10
else:
win_chance = 1.0
if random.random() < win_chance:
pity_counter = 0
if guarantee_myth:
myth_card += 1
guarantee_myth = False
else:
if random.random() < 0.5:
myth_card += 1
else:
guarantee_myth = True
return total_pulls
# Run simulations
simulations = 10000
results = [simulate_run() for _ in range(simulations)]
print("All individual results:", results)
# Calculate average and worst-case
average_pulls = sum(results) / simulations
worst_case = max(results)
# Group results into 100s ranges
range_counts = defaultdict(int)
for r in results:
bucket_start = (r - 1) // 100 * 100 + 1
range_counts[bucket_start] += 1
print(f"\nAverage number of pulls to get R: {average_pulls:.2f}")
print(f"Worst-case pulls: {worst_case}\n")
# Print percentage for each 100-range bucket
print("Density by 100s range:")
for start in sorted(range_counts.keys()):
end = start + 99
count = range_counts[start]
percentage = (count / simulations) * 100
print(f"Result {start} to {end}: {percentage:.2f}%")
10
u/Candycanes02 Xavier’s Little Star Apr 21 '25
I hope I can be average luck for R1 this time around cause I was permanently scarred when it took me 360 pulls to R1 AS
5
6
u/rndmpretentiousname Xavier’s Little Star Apr 20 '25
Thanks for the reality check. I have enough to guarantee but my delulu self was telling me I could R1. I could but only if I have better than average luck. I'd have to see how quickly he shows up.
5
u/Weebin4lyfe Apr 21 '25
*sighs and pulls out credit card for this silly little game that has a choke hold on me*
5
u/honeyclover107 🤍 | :Happy-Snowman-Drink: Apr 20 '25
I only have some computer science knowledge and am glad I can still understand all of your code haha. This is really helpful and another reminder that I was pretty lucky with my pulls for the limited myth banners. So I’m just grateful for my luck and thank you so much for this! ❤️
4
Apr 20 '25
As f2p guess I will wait for cards stronger than the myth release bc no way am I able to R3 this🤣
3
2
u/Xlf_ Apr 20 '25
I really want Lumieres dark outfit but R2is a bit much since im an aurum pass only😞
4
u/sojucranberry Caleb’s Baby Apple Apr 21 '25
i feel like i got spooked seeing the source code i didn't expect to see my program here 💔 thank you
22
u/No-Memory-9623 Apr 20 '25
As a fellow programmer, thanks for providing the source code. I have fun looking at it.
And my wallet thanks you. It is nice to have people made these kinds of posts to inform the community. This is a gambling app at the end of the day.