Ok, so over the last little while I’ve done a study on how Pokemon spawning actually works in Pokemon Go. My study took place in Southern Ontario in Canada, and comprises 449 spawn points over nearly four days, for 93-94 spawns at each point and 41829 total Pokemon spawns. This data was recorded since the water event so as far as I can tell there are no seasonal Pokemon or event Pokemon muddying the waters. Warning, this is going to be a lengthy post with a lot of details. In this post I will present all my findings, including some things that have been previously discovered by other users here. I’m using all my own collected data for this so please view any repeat discoveries as simply confirmation of others’ previous work. There is however a lot of stuff in here I haven’t seen yet! Please see the TL;DR for a summary, and the results section for a little more info, or if you’re interested in the whole picture read the whole damn thing!
- Spawn points are unique and specific locations. Over the four day study, they don’t move at all and each spot (except one) spawned one Pokemon every single hour, at the exact same moment of every hour. (actually, a single point acted weird, see the anomalies section)
- Every spawn point that is a nesting spawn point will spawn their nesting Pokemon 25% of the time. The other 75% of the time, the spawn point will act normally in accordance with what it would do were it not a nesting spawn point.
- Each spawn point has a specific biome associated with it, which dictates what species of Pokemon it will spawn.
- Each biome will choose from a distribution of what I have termed “pots” of Pokemon. For example, the Forest biome during the day has about a 90% chance of spawning a Pokemon from the Forest pot, a 3-4% chance of choosing the Shore pot, etc. Pots are tiered lists of Pokemon, where each tier’s Pokemon have half the spawn rate of the Pokemon of the tier above it. For example, in the Forest pot during the day, the top tier of Pokemon is Pidgey, Rattata, Sentret and Natu. These four Pokemon each have an overall spawn rate at Forest points during the day of about 16%. The second tier consists of Spearow and Murkrow, which spawn at a rate of about 8%. Tier three is Hoothoot at about 4%, etc. I don’t know how many tiers a pot can have because I need more data to properly resolve the rarer species. There are more than five tiers in the Forest biome for example. I was unable to determine a deeper framework for Pokemon spawning than this, but I suspect there is one.
- The tier lists of a pot have a unique distribution for daytime and nighttime. The rule of tier n having half the spawn rate of tier n-1, etc still applies, just with the Pokemon redistributed. For example, in the Forest pot, as mentioned in the previous point, tier 1 during the day is Pidgey, Rattata, Sentret and Natu. At night this tier becomes Pidgey, Rattata, Hoothoot, Natu and Murkrow. Sentret is sent down to tier 2, while Murkrow and Hoothoot are promoted from tiers 2 and 3 respectively.
- Daytime and Nighttime switch over around 10am and 10pm, which I assume is local time. I can’t resolve the time exactly because I don’t detect all Pokemon the instant they spawn, but it seems to be pretty close to Pokemon spawning before 10am use nighttime distribution, and after 10am use daytime (vice versa for 10pm). You’d think it would be a round number. Since each spawn point produces a Pokemon every hour, there is no difference in overall Pokemon spawn rate between daytime and nighttime or any other particular time of day.
- Evolutions of Pokemon are not spawned in as a percentage of their pre-evolutions, they are separately placed into pots.
- Bonus from my first data set which was recorded before the water event! (This conclusion is less certain because of less data being available). Swinub, widely believed to be a seasonal Pokemon since its disappearance during the water event, appeared to have been spawned in at a special rate chosen after the nesting decision. So after the 25% chance to spawn a nest Pokemon was applied, the seasonal chance to spawn was applied, followed by normal spawn point distributions. The seasonal chance to spawn depended on the biome of the spawn point.
- Pokemon are placed into pots with each other, and it is the pot rather than the individual species which have a spawn rate at a spawn point. The Pokemon in turn have a spawn rate inside their pots. (Confirmed, probably. Hard to tell with the non dominant pots in a given biome. The Pokemon species were found to be tiered inside the pots to give them their spawn rates.)
- There is a day/night cycle of some sort, with certain Pokemon getting a boosted spawn rate at night, particularly Dark and Ghost types. (Confirmed)
- Each spawn point has a biome that dictates what Pokemon can spawn at it and at what rates they spawn. (Known from before, but not the specifics on how this works)
- Each spawn point that is a nesting spawn point has a certain chance to spawn its nesting species (widely reported from other sources as 25%), and if it does not spawn the nesting species it will revert to the same behaviour as a spawn point in the same biome that does not have a nesting species. (Confirmed)
- Evolutions of Pokemon are chosen as a percent chance of their pre-evolved forms. So for example Pidgey might spawn 20% of the time, and each Pidgey has a 2% chance of turning into a Pidgeotto, which in turn has a 10% chance of evolving further to a Pidgeot. (Disproved, evolved form frequency does not appear to depend on the frequency of pre-evolved forms)
Let’s get these out of the way real quick.
- In my data collection I have no way of telling if a Pokemon is actually a Ditto. Because my numbers work out quite well I would guess that the choice of whether for example a Pidgey becomes a Ditto is determined after the Pidgey has been selected to spawn. If this is truly the case, my data is not affected by Ditto, and the only remaining thing to be determined would be the chance a given species becomes a Ditto. If, on the other hand, Ditto has been placed into pots with the other Pokemon, my numbers for Pidgey, Rattata, and others that can become Ditto would be slightly inflated due to Dittos hiding amongst them.
- This study only looks at a small area, and there are only three different biomes in that vicinity (and truly not enough of the Water biome to make me totally satisfied with my data). I am in the middle of gathering data for another area I have been to that I know has a different set of biomes, so we’ll see what happens there and if my theories apply.
- Due to the length of the study, I don’t have enough data points to really characterize the rarest spawns for these biomes. I can’t draw any solid conclusions based on any Pokemon that spawned less than 50 times during the same time of day in the same biome. I have a bit of speculation on these rarer spawns but I try to point out when I’m reaching. I have limited my real analysis to any Pokemon that spawned more than 100 times overall.
- I didn’t look super in depth at whether for example the Forest biome is actually comprised of two similar but distinct biomes. I very briefly checked that a couple common spawns don’t have some weird bimodality of spawn rates in their biomes, but I didn’t do a rigorous search. I strongly suspect that if this were the case my numbers wouldn’t have worked out very nicely though.
- It’s possible a Pokemon could be present in two different pots, which could possibly be difficult to interpret depending on its spawn rates. I didn’t see any evidence of this with the major spawners in my data set but it could definitely happen in the rarer species without me noticing.
Couple quick definitions
- Biome – Biome is used widely in two different senses on the internet. Commonly it is used to describe the kind of general climate conditions of an area, for example arid, wet, cold, etc. People use it this way as a proxy to indicate that there are a larger than usual proportion of fire spawn points or water spawn points or grass spawn points or whatever.
- The other way it is used is to refer to the property of the spawn point that determines which Pokemon it will spawn. This is how it is used in my study. My study includes three biomes, which I have used the names Forest, Shore and Water for. Forest and Water are both commonly cited biomes online. The one I called Shore is referenced as several different names online. Shore is an admittedly poor name, but looking at the list of Pokemon I see there it’s hard to find a word to lump them together. I went with Shore because it contains a lot of all the Water type Pokemon that aren’t commonly found in the Water biome, such as Krabby and Shellder.
- Pot – Pot is used to refer to the groups of Pokemon whose spawn rates in different biomes appeared to change together with each other. A given biome will have a percent chance to choose a selection of pots rather than the individual Pokemon species, with the pot chosen then having the spawn rates of the individual Pokemon inside.
- Tier – Inside every pot is a set of tiers which the individual Pokemon species are assigned to. Each tier’s Pokemon individually have half the spawn rate of the individual Pokemon on the tier above them. A pot can have many tiers.
My initial data collection (not included in this study’s data) involved me collecting data from my immediate vicinity. I wanted to try and build some spawn distributions for different biomes since Gen 2 had been released, which I had not been able to locate online. Originally 8 spawn points I could see from home, I expanded to about 15 I could see on my radar from home and then to about 70 I could easily monitor. The data I recorded manually was obviously fairly spotty, but I did record enough to start doing some early analysis. The results were pointing towards the 25% rate for nesting species, and I was also noticing some interesting patterns in the data (using some lovely conditional formatting in excel). I noticed first that I could group the spawn points into biomes easily: the Forest biome, the Swinub biome, and the Water biome. Forest and Water were biomes I had seen referenced online before. I named the Swinub biome as such due to the most common Pokemon in it by far being Swinub. I searched for sub biomes under these three but couldn’t find any. After grouping the spawn points into the three biomes, I began to notice that I could group the less common guys together by their frequencies in the three biomes. For example Marill, Krabby, Wooper, Gastly, Zubat, Drowzee and Shellder spawned from 2-8% of the time in Swinub biomes, from 0.5-1.5% of the time in Forest, and never in Water biomes except for the Water types on the list which spawned from 0.1-0.5% of the time there. From here was born the idea of the pots, that these species were linked together by more than just similar spawn rates.
I eventually figured out how to get my own detection system going so I could monitor areas on my own and get complete data sets for as long as I wanted, which led to the generation of the dataset I have used for this study.
My data was collected constantly from about 10pm local time on March 30th to about 7pm local time on April 3rd. I monitored 449 spawn points, and captured every spawn at those spawn points in the collection time, for 93-94 spawns per point and 41829 spawns total.
Out of my 449 spawn points, 93 points were nest points. This comprised:
- 11 Dunsparce nest points, with 1 being a Forest biome, 6 being Shore biomes, and 4 being Water biomes. These points are a single park area on OpenStreetMap (OSM).
- 23 Girafarig nest points, with 1 being a Forest biome, 20 being Shore biomes, and 2 being Water biomes. These points are a single park area on OSM.
- 13 Meowth nest points, with 2 being Forest biomes, 7 being Shore biomes, and 4 being Water biomes. These points are a single park area on OSM.
- 4 Scyther nest points, with 1 being a Forest biome and 3 being Shore biomes. The 3 Shore biome spots are a single park area on OSM, and the 1 Forest spot is a separate nest, on a little playground inside the Girafarig park.
- 6 Bellsprout nest points, with 1 being a Shore biome and 5 being Water biomes. These points are a single park area on OSM.
- 7 Exeggcute nest points, all Shore biomes. These points are a single park area on OSM.
- 6 Hoppip nest points, all Shore biomes. These points are a single park area on OSM.
- 14 Houndour nest points, 12 being Shore biomes and 2 being Water biomes. One of the two water points is a separate nest, being the only spawn point in a very small park. The remaining 13 points are all within one park area on OSM.
- 1 Jynx nest point, being a Shore biome. This Jynx nest is at the edge of my studied area so it is likely this nest extends to more points outside my scope.
- 1 Psyduck nest point, being a Shore biome. This Psyduck nest point is the only spawn point inside a small park area.
- 4 Venonat nest points, 3 being Shore biomes and one being a Water biome. These points are a single park area on OSM.
- 2 Weedle nest points, both Shore biomes. This nest is at the edge of my scope and likely extends beyond my range.
- 1 Wobbuffet nest point, being a Shore biome. This is the only spawn point in a very small park area.
So basically, my data set contains at least some points of 15 different nests that at that time had 13 different species at them. Most of these points were Shore biomes, but there are many points that are Forest and Water biomes as well. After looking through the data for the nesting species at these points, I found that the spawn chance of the nesting Pokemon was 25% regardless of biome, species, and time of day. I thus conclude that when a spawn point is choosing which Pokemon to spawn, it first of all chooses whether or not to spawn its nesting Pokemon should it have one.
For the rest of the analysis, I removed the nesting species spawns from the data set to level the playing field with non-nesting points. In reality there would be a very low amount of some of these Pokemon spawning at their nest points due to normal spawning rather than nest spawning, but I’ve chosen to neglect that since none of my nests contained Pokemon that were common to those biomes. (Thankfully, that Psyduck nest was on a Shore point and not a Water point.)
I don’t have a ton of data on this, but I do have some data that I took before the water event when Swinub seemed to be everywhere in my area. Since people have been suggesting that perhaps he was seasonal, here is what I can speculate about it from my data.
At the Forest spawn points I monitored before the Swinubs disappeared, Swinub spawned in around 8-12% of the time. After the water event, he spawns in there about 0.5% of the time. At Shore spawn points, before the water event he spawned about 43% of the time, whereas after the water event he spawned about 5% of the time. He never spawned in the Water biome before or after. I suspect that after the game has done the nesting species choice, it moves on to a seasonal Pokemon choice, if there is a seasonal Pokemon. Perhaps each biome has a different rate to spawn in the seasonal Pokemon. In the case of the Forest biome, it would appear that rate is something like 10% of the time, since you can neglect his regular spawn rate in that biome. In Shore biomes, it appears the chance of spawning a seasonal Pokemon is 40%, and then if that is not chosen then he still spawns in normally at 5% of the remaining 60%, which gives the extra 3% and leads to the total observed spawn rate of 43%. Finally, seasonal Pokemon seem to have 0 chance to spawn in on Water biomes.
This is more or less speculation due to my limited data set from before the water event, but it seems like a reasonable way to code the seasonal Pokemon chance in.
I plotted all the most common spawning Pokemon by what hour of the day I detected them. This time is not exactly the spawn time because it sometimes takes some time for me to detect them. I noticed immediately that certain Pokemon show a clear difference between their daytime and nighttime spawn rates (for example, Murkrow, Zubat, Gastly), while others show very little difference (for example, Rattata). Weeding out the Pokemon that showed no real day/night spawn rate differences, I could see pretty clearly that all the transitions from day to night rates happened over the same hour, and the opposite transition was 12 hours later. After looking closely, I determined the transition was at around 10pm, and it seems like it’s something along the lines of anything spawning after 10am is daytime and anything after 10pm is nighttime. Also, Pokemon appeared to have a specific spawn rate during daytime and nighttime, not some sort of curve where there would be a specific time most likely to get nighttime spawns, it’s just a step from one spawn rate to another. I also tried plotting the time of despawning for the spawns, but the transition hour became a two hour more gradual transition, which indicates to me that the cutoff is for spawn times, not despawn times. Because of all this, I have divided the rest of my analysis into daytime and nighttime. I considered neglecting the 10am and 10pm hours from my data set, but upon inspection there wasn’t very much of a transition point so I decided to use the data and not decrease my pool of spawns. One final note is that this 10am/10pm time does not correspond to the time of day when the background of Pokemon Go changes from daytime to nighttime. I haven’t paid super close attention to that but I think it might happen at actual local sunset/sunrise?
Here’s what I originally did this for, learning the spawn rates by biome! In the biomes sections I’ll list the distributions of pots that are found at the spawn points of that biome. After that, in the Pots and Tiers section, I’ll list what Pokemon comprise those pots. The pots percentages are probably all somewhat less than their true values since there are almost certainly rarer Pokemon that belong in the pots which I have not categorized due to insufficient data (the most obvious of which are the evolved forms of categorized Pokemon). I have only assigned Pokemon to pots if I have more than 100 spawns from them, since any less and I feel my method of assigning them becomes too unreliable. Also, the rarer a pot is in the three biomes I monitored, the more Pokemon inside it are too rare for me to categorize. For example, I have populated a few tiers for the Forest pot, but only tier 1 in the rarer pots. One final note is that I am reporting the data as I recorded it, but in many cases it is likely that the real rates are more round numbers than I have found here. I am reporting all rates to two significant figures.
The Forest Biome
224 of my spawn points are Forest biomes, and 5 of those are nest points. The Forest biome spawns from the Forest pot nearly 90% of the time.
The Grass, Tentacool and Moon pots occur at rates around 0.1% or less. The Jynx pot is completely absent.
The Shore Biome
196 of my spawn points are Shore biomes, and 70 of those are nest points. The Shore biome spawns from the Mixed 1 and Shore pots most often and doesn’t have a heavily favoured pot like Forest and Water biomes do.
Every one of the pots I have identified spawns at a rate of over 0.1% in the Shore biome. Having 3 different major pots in the distribution gave Shore biome points the most diverse distributions of the three biomes in this study.
The Water Biome
24 of my spawn points are Water biomes, and 18 of them were nest points. The Water biome spawns from the water pot over 90% of the time.
All other pots do not spawn at all in the Water biome.
Pots and Tiers
After getting my idea for the pots of Pokemon, the best way I could come up with to differentiate Pokemon into their respective pots (and check whether they even exist) was to look at the ratios of their spawn rates in different biomes. If, say, Pidgey and Rattata are in the same pot, then the ratios of their spawn rate in the Forest biome to their spawn rate in the Shore biome should be about the same. As it turned out, I could categorize any Pokemon with more than 100 recorded spawns into pots with each other. There are quite a few with less than 100 spawns that I have strong suspicions about, but I had to cut it off somewhere before it got too uncertain. After that, I looked at the spawn rates of the Pokemon in the pots I had formed, and noticed that the rates were clearly clumping into doubles of each other. By that I mean that for a pot containing a bunch of Pokemon, some might have a spawn rate of 15, others with a rate of 7.5, others with a rate of 3.75 and so on. I strongly suspect that there is a deeper connection that explains all these numbers in some grand unified spawn mechanics theory but I couldn’t for the life of me figure it out. Anyways, here is the first of the pots I populated, the Forest pot. The percentages next to the species are the percentage of total spawns at the spawn point that they have to illustrate the relationship between tiers. For future tables, the percentage will always indicate the percent of total spawns in the biome they are most commonly found in. The percentages are “each”, that is they apply to each Pokemon in the tier, not a tier as a whole.
|1||Pidgey, Rattata, Sentret, Natu (16%)||Pidgey, Rattata, Hoothoot, Natu, Murkrow (14%)|
|2||Spearow, Murkrow (8%)||Spearow, Sentret (7%)|
|4||Aipom (2%)||Aipom (1.7%)|
|5||Pidgeotto, Furret (1.0%)||Pidgeotto (0.9%)|
|6||Xatu (0.6%)||Furret, Xatu (0.4%)
From this data the 2x relationship between tier spawn rates can be clearly seen. One other obvious note is that the spawn rates at night tend to be about 13% lower than the day ones. This is actually the case with other pots as well, and I honestly can’t figure out why. The explanation that springs quickly to mind is that with one more Pokemon in Tier 1 at night, the percentages of all spawns must go down to accomodate this. That may be the case, but I have a feeling it could be something deeper, like possibly sub-pots with one extra sub-pot added at night than in daytime. I’ll give one example here of what I mean. So the Forest pot could conceivably be divided into 8 sub-pots, with one of those being only active during daytime and two being only active at night. This gives 7 pots at night at 6 during the day which explains quite nicely the day/night difference. Here is an example of the possible division of Pokemon amongst the tiers of these pots, which would give pretty much the observed distribution:
|Tier||Sub-Pot 1||Sub-Pot 2||Sub-Pot 3||Sub-Pot 4||Sub-Pot 5||Sub-Pot 6 (day)||Sub-Pot 7 (night)||Sub-Pot 8 (night)|
There are several ways to switch around the Pokemon in that table that would still meet the required distributions. This also raises one other question, namely how does the game deal with when it selects a spot that is blank? Either selecting a blank tier like tier 3 at night in my first Forest pot table, or selecting a blank spot in the table I just gave with all the sub-pots. I would assume it just recalculates until it selects a valid Pokemon, but if it also rechooses the pot, it would cause pots with more blank spaces to actually have a decreased spawn chance. I don’t know this yet, but it is possible that this could explain day/night differences in the pot rates chosen at the biome level. For example, in the Shore biome, the Mixed 1 pot is 10% more likely to be chosen at night than during the day. This could be a hard coded probability, or it could possibly be explained by an empty Tier 1 in the Mixed 1 pot during the day that causes the pot to be rechosen frequently. Anyways, this is speculation and it’s pretty hard to tell for sure what’s going on. On to the other pots, which I will simply list tables for. Occasionally I have assumed empty tiers at the tops of these distributions. I can’t really know this, but I’m putting them in where it seems like there should be a spawn chance that isn’t there.
|1||empty||Zubat, Gastly (8.3%)|
|2||Zubat, Shellder, Swinub (5.2%)||Shellder, Drowzee, Swinub (4.3%)|
|3||Paras, Gastly, Drowzee (2.6%)||Paras (2.1%)|
|4||Caterpie, Seel (1.2%)||Caterpie, Seel (1.0%)
|Tier||Day or Night|
|1||Psyduck, Poliwag, Goldeen, Staryu, Magikarp (15%)
|2||Slowpoke, Chinchou (7.5%)
Quick note, there doesn’t appear to be much of a difference if any between day and night for the Water pot. I need more data to confirm this though.
|1||Krabby, Marill, Wooper (10.5%)||Krabby, Marill, Wooper (8.7%)
|2||Horsea (5.5%)||Horsea (4.5%)|
|1||Magnemite (1.0%)||Magnemite (0.9%)
|2||Jigglypuff, Venonat (0.5%)||Jigglypuff, Venonat (0.5%)
Note that I suspect Magnemite is not actually in the same pot as Jigglypuff and Venonat, possibly being the Tier 1 member of an electric pot or something. More biomes will have to be surveyed to figure that out.
|3||Bellsprout, Hoppip, Sneasel (2.7%)||Oddish (2.3%)
|4||Oddish (1.2%)||Bellsprout, Hoppip (1.1%)
The reason I put so many empty tiers is that I’m assuming that the day tiers should be slightly higher percentages than the night tiers as I’ve seen in other pots. This could be incorrect but it kind of makes things look nice.
|1||NidoranF, NidoranM (2.7%)||NidoranF, NidoranM (2.0%)
|1||Ledyba, Spinarak (0.6%)||Ledyba, Spinarak (0.5%)
|1||Tentacool (0.5%)||Tentacool (0.6%)|
|1||Jynx (5.0%)||Jynx (2.6%)
As you can see, Tentacool and Jynx don’t really match anyone else and have their own pots so far. Ledyba and Spinarak don’t actually match super well, but they have on the low end of sample sizes and they’re similar enough that I think they belong together. Anyways, as always more data collection will clarify all of this. I’m hopeful that as I survey new biomes I’ll be able to properly categorize more and more Pokemon into pots and maybe steal away certain Pokemon from these pots to put into Tier 1 of a different pot.
There were a couple weird things I noticed during my data collection. One of them was that a single one of the 449 spawn points went dormant for some random periods of time. Specifically, it was active from the beginning for the first 25 hours, then went dormant for 43 hours, then was active again for 9 hours, then disappeared for the final 16 hours I should have found it. I doubt this is a flaw in my detection system, although I suppose it’s possible. The point is not at the very edge of my area nor can I think of any other reason I wouldn’t have detected it except for that maybe it just doesn’t consistently spawn Pokemon. No idea.
Another interesting anomaly is that sometimes Pokemon appear to be in different pots than their evolved forms. There were only a couple evolved forms that I had sufficient data on to categorize above like Pidgeotto, but looking at my data I can guess at what pot the less well represented Pokemon belong to, and sometimes weird things arise. The example that comes to mind as being the most extreme, Seaking has never spawned for me in the water biome, instead being quite uncommon in the Shore biome and very rare in the Forest biome. This is completely different from Goldeen, which is one of the main Water pot Pokemon. We’ll see how this evolves (ha!) with more data. The only other interesting case I see is that Golbat may be in a different pot to Zubat but it’s very hard to tell so far. Crobat really really seems like it will be in a different pot from either Zubat or Golbat though. This finding is a little important because it allowed me to quickly rule out the idea that evolved forms spawn as a percentage of their pre-evolved forms.
I’m not really studying spawn point or biome distribution, but I thought I’d add a note about it for anyone who might be looking into or just interested in these things.
I plotted on Google Earth all my spawn points to see their distribution. It looks like in the area I surveyed, the residential areas tend to be Forest biomes with some Shore biomes sprinkled in at public areas like parks and public buildings. The portion of downtown in my survey is much more mixed between Forest and Shore, and I can see no large scale patterns. The water points are all obviously clustered right next to the riverside, I don’t see any water points that are more than about 20 metres from the shore.
Well, if you got this far thanks for reading! If you have any questions regarding the work please leave a comment or PM me or whatever, I’ll try to get to them. I’m hoping to continue surveying more biomes to gather information on more pots for a while, then I’ll switch back to surveying the area I did for this study in order to get data on the rarest spawns there.