I did an experiment last night to try and see how may migrants I could get in my 3rd wave. Since I've always read that the size of migration waves depends on wealth produced, I specifically created as much wealth as I could before the first caravan, figuring that would cause a big migrant wave. By the end of spring I had created over 300,000☼. I got 4 migrants in the summer wave, but we know the first two waves are hardcoded and don't depend on fortress value. By the end of summer I was over 750,000☼. I got 3 migrants in the autumn wave. When the caravan arrived, I had a little over 1,400,000☼. I bought everything they had, which was ~55,000☼, and gave them 100% profit. Then I offered another 900,000☼ to the king. So the caravan left with just over <dr_evil>one million dwarfbucks</dr_evil> in goods. I then continued wealth production and was back up over 1.5 million when the spring migration wave came.
I was expecting 50 or more migrants, and was disappointed to only get 29. So I'm now thinking that value creation isn't the only factor in how big migration waves are. This wave did, however more than triple my population. I had 14 and got 29 more. I've heard others mention waves that tripled their population, but never heard anyone say they had a wave that quadrupled it. I wonder if maybe migration wave size is capped at 2N+1, where N is the population beforehand. That's what I got, but this is based on a sample size of 1, which is not really a sample, more of an anecdote.
I'm going to continue wealth building (while preparing for the inevitable ambushes and sieges that it will attract) and see if my 4th wave is huge. Let's see, I have 43 now, if the cap is 2N+1, then I could get as many as 87. That's assuming I have amassed enough wealth to hit the cap (and assuming there is a cap, and that it is 2N+1, and that I survive that long, yada yada).