Egg

Eggs are items that contain Pokémon. Eggs can be obtained in several ways: buying them from Shops, breeding level 100 Pokémon or in some Dungeons loot. Hatching an egg will boost the bred Pokémon's attack by 25% of its base attack.

Shop Egg Pool
In the following tables, Bolded names indicate Pokémon that can be obtained in their respective regions by either hatching shop eggs or through Wandering Pokémon on the Farm. Bolded and Italicized names indicate Pokémon that can only be obtained in their respective region by hatching shop eggs.  Bold, Italicized, and underlined  names indicate Pokémon that cannot be obtained outside shop eggs (ie can't find it wild in a later region even with Require Complete Pokédex challenge off) as of v0.8.15

The Egg Pool split works like this:
 * 50% chance of getting a Pokemon from the current region (odds split evenly for each possible Pokemon from the current region)
 * Remaining 50% is divided into an equal split among all previous region egg pool Pokemon.

Helpful Info
When you enter the next area the Pokémon rates change. Assuming you've just entered Sinnoh the Water Egg table changes from

In Hoenn
(Squirtle, Lapras, Staryu, Psyduck)

(Totodile, Wooper, Marill, Qwilfish)

(Mudkip, Feebas, Clamperl)

(Mudkip, Feebas, Clamperl)

In Sinnoh
(Squirtle, Lapras, Staryu, Psyduck)

(Totodile, Wooper, Marill, Qwilfish)

(Mudkip, Feebas, Clamperl)

(Mudkip, Feebas, Clamperl)

(Piplup, Finneon, Buizel)

(Piplup, Finneon, Buizel)

(Piplup, Finneon, Buizel)

(Piplup, Finneon, Buizel)

This makes the chance of getting a Pokémon from the new region you entered 50% and dropping the total combination of all previous areas percent's down to 50%. The Mystery Egg will pull randomly from all egg pools, making it most useful when you have not obtained any egg Pokémon for that region yet.