Thanks to egg groups, a Dratini and a Magikarp will happily make eggs together, and whichever Pokémon is female determines what comes out of those eggs. However, any Pokémon can breed with Ditto, which is important. Look a Pokémon up on Serebii, a great Pokémon resource, to find out what egg group its in. Note that they don’t need to be the same type or species of Pokémon - just the same egg group. When you drop two Pokémon off at the daycare they’ll eventually make an egg, if they’re in the same egg group. It may seem complicated, but there are concrete rules that go into breeding, and it all makes sense in the end. But in competitive and online battling all Pokémon are the same level, and Pokémon without perfect IVs are at a serious disadvantage. That’s because in-game, you can simply level your Pokémon above your opponents’ levels, and gain an unbeatable advantage (not to mention most players are smarter than the game-controlled opponents). This doesn’t matter at all when playing through a Pokémon game’s story, up to and beyond defeating the Elite Four. By selectively breeding across multiple generations, you can get the highest possible stats for your Pokémon. And that’s why you must breed to get perfect competitive Pokémon. Pokémon caught in the wild usually have random IVs, but those hatched from eggs inherit some IVs from their parents, working like genetics. Once you’ve hatched any 20 eggs you can speak to a character in the lobby of the Battle Tree on Poni Island to gain the ability to easily check any Pokémon’s IVs, a feature new to Sun and Moon.
IVs determine what a Pokémon’s stats look like, high or low. They range from 0 to 31 and there’s one for each stat. That’s due to a feature called Individual Values, or “IVs.” Every Pokémon, even if they’re the same species, level, gender, and nature, will have different stats from its peers.