Last week, Pokemon Go quietly made some major changes to the way its Pokemon spawn. While wild Pokemon used to have the same IVs and moves for every player, the game recently changed its spawning mechanism so that each Pokemon was different for each player that was Level 25 or lower. This means that two players encountering the same Pokemon at the same time will discover that it has different moves, IVs, height, and weight
Last night, players discovered that Pokemon Go had expanded this randomization to even more players. Level 25-29 players are now reporting that all Pokemon encounters are now unique per player.
It's unclear exactly why Pokemon Go made these changes, although the popular belief is that it was done to lessen the effectiveness of third party trackers. Many trackers would let players know a Pokemon's moveset and IVs in advance, allowing GPS spoofers to basically cherry pick the strongest Pokemon from around the world. Some have also speculated that this is a precursor to more Shiny Pokemon, as the mechanic is similar to how Pokemon Go determines whether a Magikarp or not.
It probably won't be too long until Pokemon Go finalizes the switchover and makes encounters wild for players over Level 30 too. Hopefully, we'll learn exactly why Pokemon Go made this change soon.