From
Wiki:'Migrant wave sizes
The first two migrant waves have a minimum size of 1, if it has a relative in your group already, and a maximum size of 10. The size of these waves are unaffected by fortress wealth.
The third migrant wave and on are influenced by the created wealth of the fortress, with more wealth attracting more immigrants (more research is needed to determine specifics). Specifically, they're influenced by the fortress wealth as reported by the last outgoing dwarven caravan. Wealth created after the caravan leaves has no influence until the next year's caravan leaves. If the caravan fails to make it out then the fortress' wealth is not reported. The dwarven liaison does not report on fortress wealth, in those circumstances where the liaison makes it out but the caravan doesn't.
Imported wealth, caravan sales figures, absolute caravan profit and caravan profit margin either have no effect on migration numbers, or only have an effect by applying a percent modification to the numbers driven by created wealth. If a fortress manages to trade (not offer) away 100% of its created wealth then no immigrants will come the next season. More research is needed to determine if the aforementioned statistics have any influence on migration numbers.
One factor which is known to affect migrant wave size is the total size of your fortress's units list (all 4 categories), which consists of dwarves, invaders, merchants, and animals which either died or currently live at your fortress. As this number increases, the maximum size of migrant waves will be reduced: starting at a local population of 1000, migrant wave sizes are limited to 10, and at subsequent levels of 1300, 1600, 1800, 2000, 2200, 2400, 2600, 2800, and 2900, the limit is decreased by 1, and once you reach a local population of 3000 you will cease to get migrants at all.'