How many times have you meticulously built your dreamies list, stocked up on NMTs and flown to an honestly shocking amount of mystery islands only to not find a single one of your dreamies? Are the Animal Crossing Gods against you? Is Wilbur deliberately flying you to the same villagers over and over again? Or is it actually just statistics… ?
I started playing Animal Crossing: New Horizons a few months ago and one thing that fascinated me about the game – besides how fun and addicting it is – is the amount of probability sampling going on in the background.
One example is the fossils exhibit in the museum: every day, 4 buried fossils will spawn on your island, which you can then bring to Blathers – a prohibitively cute owl museum curator – to assess. In that moment, the game will randomly decide which of the 73 fossils you have found. This means that in the beginning you will find new fossils every day and you feel like you’ll finish the collection in no time. But the last few fossils could very easily take you weeks and weeks to find. This is actually a form of the coupon collector’s problem and maybe a topic for a later blog entry.

In this blog entry, however, I want to focus on something different – villager hunting. Now then – in the game there are currently 397 villagers, but you only have 10 spots on your island. Lots of players are thus very selective about who they let move onto their island. Once a plot opens up on the island, you can use a Nook Miles Ticket to fly to a mystery island, where you will meet a random new villager and have the possibility to invite them. What players with a higher frustration tolerance than me will thus do is stock up on hundreds of Nook Miles Tickets and visit island after island until they meet and invite one of the villagers on their “dreamies” list. While these types of villager hunt videos are very fun to watch, I do feel like many player overestimate the probability of finding one specific villager in for example a hundred tickets and underestimate how much you increase your chances of finding a dreamie by adding even one more villager to your dreamies list.
This is why I have created a Nook Miles Ticket calculator! Here is what it looks like:

You can enter in the villagers currently living on your island (including a potential campsite villager), the villagers you want to find and then have two options:
- set the probability with which you want to find one of your dreamies before you run out of tickets and the app will give you the number of tickets you will need for this
- set the number of tickets you have available and the app will give you the probability of finding one your dreamies before you are running out of tickets
The first option is useful if you are 100% set on your dreamies and just want to know how many Nook Miles you need to save up on. Option two on the other hand is useful if you can only afford a certain number of tickets and want to know if you should maybe add some more villagers to your list.
If you are only interested in using the app, visit the link! If you are interested in how these probabilities are calculated, keep on reading…
https://claudi.shinyapps.io/ACNH_NMTcalculator/
Before we can calculate any kind of probability, we need to make some assumptions about the underlying processes. When you fly to an island, the game first randomly chooses one of the 35 species in the game and then one specific villager of all villagers of that species. So if you are looking for Zucker – one of the three octopi in the game – you have a chance of him appearing in a single visit. If your all-time dreamie on the other hand is Marshal – one of 18 squirrels – you only have a
chance. The game does not keep track fo who you have already seen, but draws randomly every visit – so it is absolutely possible to meet the same villager several times on different island. In statistical terms, we are sampling with replacement and all island visits are independent draws. You also need to account for the villagers already living on your island – if you already have 9 other squirrels on your island, finding Marshal will be much easier . Or if you already have all animals of one species on your island, there are only 34 species to draw from in each visit, increasing the probability of all remaining villagers slightly. All of this is accounted for in the app. Then, however, there is the move-in queue – a truly elusive aspect of the game, which koramora did a better job of explaining than I could ever do. If the villager you are looking for is in this queue, their chance of appearance is 0 – but since there is no (easy) way for you to find out who and how many villager are in your queue, this is not accounted for in the app.
Statistically speaking, we can define two random variables: Let be the villager species and
the specific villager. Then
follows a discrete uniform distribution across all species and
follows a discrete uniform distribution across all villagers of the species
. To get the probability of one specific villager
of species
, you then simply multiply the respective probabilities. To get the probability of finding one of several villagers, you simply add up all of their appeareance probabilities.
So we have calculated the probability of finding one of our dreamies per visit, but what we are actually interested in is the probability of finding one of our dreamies within a certain number of tickets. This is where the negative binomial distribution comes into play: this probability distribution models the number of successes in a sequence of independent and identically distributed Bernoulli trials. Each trip to an island is an independent Bernoulli trial, the success is finding one of our desired villagers and the success probability for each trial can be calculated as explained above. So if we for example have a 1% chance of one of our dreamies appearing on an island and 100 Nook Miles Tickets, we can calculate the probability of a successful hunt via the cumulative distribution function of the negative binomial distribution at 100 (or 99, depending on the definition). In R, this probability can be calculated by calling pnbinom(q = 99, size = 1, prob = 0.01), yielding 63.4%. Have fun investigating the results in the app! Maybe it will help you better plan your next villager hunt π
https://claudi.shinyapps.io/ACNH_NMTcalculator/
The source code for the app can be found on my github.
hi, i’ve actually been using your nmt calculator for a while! i just refined my dreamy list as i’m planning on hunting in a few days, but it seems as though i cannot add in the villagers i’m looking for anymore? it just says “what villagers are currently living on your island?” and then asks what you want to calculate. not sure if this is an issue with the calculator itself or me, i’ve tried on both my phone and laptop. just wanted to let you know!
LikeLike
Oh that’s cool that you are using it! Sometimes the app only lets you select the villagers you are looking for after you entered in villagers that you already have on the island. I honestly don’t know why this is happening – it works perfectly offline, but as soon as I host it on the server it has this weird bug. So try that and I hope it works!
EDIT: You were right, it’s no longer showing up at all – I’m checking it out now and see if I can find the error!
EDIT2: It should work again now – I disabled that your current villagers disappear from the selection of dreamies, cause that was the part that was causing issues. So selecting the same villager in both lists is now possible and would lead to wrong results! Everything else works as before π
LikeLike