Two things throw a wrench into that.
1) The 4S abandoned the 12 month release schedule; the 4 came out in June 2010, the 4S in October 2011.
2) Carriers are offering two levels of early upgrades. On AT&T, for example, you can upgrade every 20 months, or pay a $250 fee and upgrade every ~14 months.
1) So that makes it a 16month release cycle, so you either wait 4 months to get around the fee, or just wait another 7 months to get the next generation. You kind of end up in the middle of no-where land (roughly the center of a release).
Consider an aggressive 20month cycle buyer:
Buy iPhone 4 in June 2010
Buy iPhone 4S in Feb 2012
Buy iPhone 5 in Oct 2013? By that time iPhone 6 is probably out. It's nearly impossible to get every generation of a device without a fee.
2) Personally I would never pay $250 for an early upgrade free (and then you have to pay for the phone on TOP of that). I don't know if a majority of people do that, but I can tell you that 100% of my friends have never paid an additional fee to upgrade early. They would all rather just wait out until it's normal. This is me with no proof, but I think the majority of iPhone user buy every other generation or larger (important point on larger because I still see 3GS around. For some people throwing around $200 on a phone every other year isn't viable)
Edit: One more thing. I just checked my upgrade eligibility. June 2013. It would be idiotic for me to use that time to buy a 5.