Actually, Google has an Adwords tools which allow you to estimate what it would cost you to run an ad.
IIRC, that has estimated Cost Per Click (CPC) and Cost Per Thousand (CPM) columnns, along with estimated impressions and a sweet API to pull it all together.
Many people estimate Google takes a 20-40% rip from the advertiser, and gives the adsense guy the rest of the payout. So from that you can estimate what the adsense ads pay.
How much Google takes is not confidential, you can compute it from their SEC filings. Would you believe that they take 70% of the advertiser's money, and give back 30% to the site owner?
Google provides a lot of this data to advertisers -- so they bid for more word combinations.
Even though Made-For-AdSense microsites are polluting the infosphere, in the short term they probably even make Google money. Overstuffing natural results with repetitive, poorly-written information? Great, you're more likely to click a paid ad instead! Making it so all the top 10 natural results are AdSense-holding pages? Great, no matter where you go, you might click a Google ad!
Making it so all the top 10 natural results are AdSense-holding pages?
Actually, that's probably the one area Google won't go for, but it results in a smaller pool of people to make money off of, as consumers can't get the right answers to their questions.
The key needs to be high-quality content delivery. Without that, you leave yourself vulnerable to being banned.
Yet: there's an inherent tension. Unless there's a credible threat people will go to another engine for natural results, for Google to degrade their own natural results slightly can improve Google's quarterly revenues!
Let's say Google is A/B testing a ranking tweak. Option A results in more searches (because people don't find exactly what they're looking for on the first try), and more clicks on ads (because they look relatively better). Option B results in one click on a natural result and nothing further.
Are we sure they'll always choose option B?
Maybe Google can add a new advanced operator: [-src:googlesyndication.com]. That is, don't return results that 'source' (as in <SCRIPT SRC="">) Google ad units.
Surely it's something google keep pretty close to their chests?