How it works

How the simulator turns IRS, Treasury and Census tables into revenue estimates, how well it matches the official totals, and what it leaves out. The ⓘ notes in the simulator explain individual columns.

Income tax: a synthetic population built from IRS data

The IRS doesn't publish individual tax returns, but its Statistics of Income (SOI) division publishes detailed tables. The model splits returns into 19 income ranges × 4 filing statuses (Table 1.2). Within each cell it creates a handful of weighted "representative returns" ( in total). They're spread across the range so each cell reproduces SOI's number of returns, total AGI, number of returns with taxable income, and total taxable income. The top range ($10M+) uses SOI's top 0.01% and 0.001% cutoffs from Table 4.3, with a Pareto tail above $78.6M. Capital gains and qualified dividends are split across cells using Tables 3.5 and 3.6. Credits are allocated using Table 3.3. The child tax credit is modeled with its own formula (next section), and all other nonrefundable credits stay as fixed dollar amounts.

Next the 2023 brackets (Rev. Proc. 2022-38) are applied to every representative return. The results are checked against IRS totals the model was not forced to match: tax generated at each rate, tax by filing status, and top-percentile tax shares.

Item (TY2023)ModelIRS SOIDifference

Child tax credit: how children were estimated

The IRS publishes, by AGI range, the number of returns and dollars for the nonrefundable child tax credit / credit for other dependents and for the refundable additional child tax credit (SOI Table 3.3, TY2023). It also publishes national Schedule 8812 counts: 63.8 million qualifying children and 21.2 million other dependents (Publication 4801). It does not publish children per return by income, so the model builds an estimate:

  1. Claiming returns by income range = returns with the nonrefundable credit + returns with the refundable credit − returns with both. The 9.3 million returns with both come from Publication 4801 (38.6M + 17.4M − 46.7M with a positive credit) and are spread across ranges in proportion to the smaller of the two counts. That gives 47.2 million claiming returns. Within a range they're split across filing statuses in proportion to dependents per return from TY2017 IRS data (the last year with personal exemptions).
  2. Children per claiming return. Returns with children have 1, 2 or 3 children in the proportions of Census CPS 2023 Table F1 (43% / 36% / 21% of families with members under 18; "3 or more" counted as 3). Some claiming returns have only other dependents, like an older child or a parent. In each income range, that share is solved so the modeled credit (nonrefundable + refundable) equals the IRS total for the range.
  3. Earned income for the refundable part is set equal to AGI. In the lowest ranges, where IRS Table 1.4 shows wages plus business income exceeding AGI, the model uses that ratio. The no-AGI range uses wages per return. IRS data support this: the average refundable credit in the $10–15k range ($1,500) needs about $12,500 of earnings at the 15% rate.
  4. Above $500k the IRS shows almost no credit because it is fully phased out. So families there are imputed with the $200–500k range's claiming rate and mix of children. That's 1.1 million returns and 1.7 million children, and it only matters if you raise the phase-out.

Results the model was not forced to match: 62.9 million children under $500k (IRS: 63.8 million), 35.4 million returns with children (IRS: 37.4 million) and 23.2 million other dependents (IRS: 21.2 million). The nonrefundable/refundable split comes out of the formula. Other credits absorb the difference so income tax after credits still matches the IRS total.

Tariffs

For each category: revenue = rate × imports. Imports shrink as the rate rises, depending on the elasticity slider. Import values and "calculated duty" come from Census merchandise trade files (HTS-10 detail, grouped by end-use code). The summary compares them with actual customs receipts from the Monthly Treasury Statement.

Excise taxes

Receipts by type come from IRS SOI Historical Table 20 (FY2024). The taxed amount is worked out as receipts ÷ statutory rate. Taxes with many different rates (wine, tobacco, aviation, …) change through a "× current rates" multiplier.

Key simplifications (please read)