Scenario. A family runs a 4,000-acre row-crop operation. The land has been in the family for three generations and is the farm. A hyperscale data-center campus is announced 15 miles away in year 3, and land prices in the county climb sharply over the next several years as developers and speculators buy up parcels.
The farmer’s cash income hasn’t changed — corn and soybeans pay roughly what they did before. But the paper value of the farm has tripled. Under a 20% annual mark-to-market tax on unrealized gains for net worth above a threshold (we’ll use $50M, a common figure in wealth-tax proposals), what happens?
Year-by-year simulation
| year | land_per_acre | land_value | net_worth | above_threshold | annual_gain | farm_cash_income | tax_owed | cash_after_tax | tax_vs_income | cum_tax | cum_cash_income | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 10000 | 40000000 | 48000000 | False | 0 | 600000.0 | 0.0 | 600000.0 | 0.0 | 0.0 | 600000.0 |
| 1 | 1 | 10200 | 40800000 | 48800000 | False | 800000 | 600000.0 | 0.0 | 600000.0 | 0.0 | 0.0 | 1200000.0 |
| 2 | 2 | 10400 | 41600000 | 49600000 | False | 800000 | 600000.0 | 0.0 | 600000.0 | 0.0 | 0.0 | 1800000.0 |
| 3 | 3 | 13000 | 52000000 | 60000000 | True | 10400000 | 600000.0 | 2080000.0 | -1480000.0 | 3.0 | 2080000.0 | 2400000.0 |
| 4 | 4 | 17000 | 68000000 | 76000000 | True | 16000000 | 600000.0 | 3200000.0 | -2600000.0 | 5.0 | 5280000.0 | 3000000.0 |
| 5 | 5 | 22000 | 88000000 | 96000000 | True | 20000000 | 600000.0 | 4000000.0 | -3400000.0 | 7.0 | 9280000.0 | 3600000.0 |
| 6 | 6 | 27000 | 108000000 | 116000000 | True | 20000000 | 600000.0 | 4000000.0 | -3400000.0 | 7.0 | 13280000.0 | 4200000.0 |
| 7 | 7 | 30000 | 120000000 | 128000000 | True | 12000000 | 600000.0 | 2400000.0 | -1800000.0 | 4.0 | 15680000.0 | 4800000.0 |
| 8 | 8 | 30500 | 122000000 | 130000000 | True | 2000000 | 600000.0 | 400000.0 | 200000.0 | 1.0 | 16080000.0 | 5400000.0 |
| 9 | 9 | 31000 | 124000000 | 132000000 | True | 2000000 | 600000.0 | 400000.0 | 200000.0 | 1.0 | 16480000.0 | 6000000.0 |
| 10 | 10 | 31500 | 126000000 | 134000000 | True | 2000000 | 600000.0 | 400000.0 | 200000.0 | 1.0 | 16880000.0 | 6600000.0 |
| 11 | 11 | 32000 | 128000000 | 136000000 | True | 2000000 | 600000.0 | 400000.0 | 200000.0 | 1.0 | 17280000.0 | 7200000.0 |
| 12 | 12 | 32500 | 130000000 | 138000000 | True | 2000000 | 600000.0 | 400000.0 | 200000.0 | 1.0 | 17680000.0 | 7800000.0 |
| 13 | 13 | 33000 | 132000000 | 140000000 | True | 2000000 | 600000.0 | 400000.0 | 200000.0 | 1.0 | 18080000.0 | 8400000.0 |
| 14 | 14 | 33500 | 134000000 | 142000000 | True | 2000000 | 600000.0 | 400000.0 | 200000.0 | 1.0 | 18480000.0 | 9000000.0 |
| 15 | 15 | 34000 | 136000000 | 144000000 | True | 2000000 | 600000.0 | 400000.0 | 200000.0 | 1.0 | 18880000.0 | 9600000.0 |
Headline numbers
Annual farm cash income (steady): $ 600,000
Worst tax year: year 5
Tax owed that year: $ 4,000,000
Multiple of annual income: 6.7x
Cumulative tax, years 0-15: $ 18,880,000
Cumulative cash income, 0-15: $ 9,600,000
Cumulative shortfall (tax − cash): $ 9,280,000
Acres of land that must be sold to cover the shortfall: 422 acres (11% of the farm)
Charts





Takeaways
- The farm’s real economic activity has not changed. The corn still pays roughly what corn pays. But the speculative bid-up of nearby parcels drags this farm’s paper value across the threshold and forces a huge annual tax bill.
- During the price-shock years, the annual tax is a multiple of the entire farm’s cash income. There is no way to pay it from operations.
- The only way to pay is to sell off acres — to the same kind of developer-funded buyer who created the shock in the first place. This means the policy effectively accelerates the conversion of family farmland into commercial use, which is plausibly the opposite of what its proponents want.
- The asymmetry matters too. If the data-center plan falls through in year 8 and land prices drop back to $15k/acre, the farmer’s prior tax payments are not refunded. She paid real cash for a paper gain that never materialized into anything she could spend.
The simulation above is generated by farmer.ipynb. View the notebook on GitHub to inspect or run the code.