Tax Incidence Calculator
Who remits the tax, and who pays more? Hold the orders fixed, move the legal tax bill, and compare the prices each side experiences in a one-unit call market.
Assumption: orders do not respond to the tax. Each row is one unit offered in a sealed call market. All three cases use exactly the same submitted bids, asks and tie priority. Changing an order creates a different hypothetical book—not evidence of how a person would react.
Synthetic orders. Compare the number of matched units before and after tax; then move the same tax to the other side without changing any orders.
One book · three assignments
Which trade disappears?
Under either tax assignment, buyers pay 68 tokens and sellers keep 52 tokens per unit. The posted price moves; these two amounts do not.
This is a result of the fixed-book, whole-unit clearing rule below. It is not a prediction about orders submitted again after a tax change.
| Measure | No tax | Sellers remit | Buyers remit |
|---|---|---|---|
| Units traded | 3 | 2 | 2 |
| Posted price per unit | 60 tokens | 68 tokens | 52 tokens |
| Buyer pays per unit | 60 tokens | 68 tokens | 68 tokens |
| Seller keeps per unit | 60 tokens | 52 tokens | 52 tokens |
| Total tax revenue | 0 tokens | 32 tokens | 32 tokens |
No tax
Posted-price scale in tokens
Solid blue: bids − buyer levy (0)
Dashed orange: asks + seller levy (0)
Each step is one order, not a fitted continuous curve. The dot marks traded quantity and the posted price.
Sellers remit
Posted-price scale in tokens
Solid blue: bids − buyer levy (0)
Dashed orange: asks + seller levy (16)
Each step is one order, not a fitted continuous curve. The dot marks traded quantity and the posted price.
Buyers remit
Posted-price scale in tokens
Solid blue: bids − buyer levy (16)
Dashed orange: asks + seller levy (0)
Each step is one order, not a fitted continuous curve. The dot marks traded quantity and the posted price.
| Input row | Price | No tax | Either tax |
|---|---|---|---|
| 1 | 120 | Trades | Trades |
| 2 | 90 | Trades | Trades |
| 3 | 60 | Trades | No trade |
| 4 | 30 | No trade | No trade |
| Input row | Price | No tax | Either tax |
|---|---|---|---|
| 1 | 0 | Trades | Trades |
| 2 | 30 | Trades | Trades |
| 3 | 60 | Trades | No trade |
| 4 | 120 | No trade | No trade |
What this clearing rule assumes
Bids sort highest first; asks sort lowest first. Match rank k while bidₖ ≥ askₖ + buyer levy + seller levy. At the last matched rank, the price interval is bounded below by the larger of its ask plus seller levy and the next bid minus buyer levy; above by the smaller of its bid minus buyer levy and the next ask plus seller levy. A missing next order imposes no bound. The posted price is the midpoint, rounded down to a whole unit. Equal-price orders use input row priority.
Moving an integer levy from sellers to buyers shifts both interval endpoints down by exactly that levy. Rounding down commutes with a whole-unit shift, so the same matched orders have the same all-in buyer payment and net seller receipt. This rule has no price cap, subsidy, fractional levy or behavioral re-bidding model.
Submitted orders are not necessarily true values or costs. This tool therefore does not report welfare, deadweight loss or estimated elasticity. For the broader economics of tax incidence and relative elasticities, see OpenStax, Principles of Economics 3e §5.3.
Explore the tax-incidence classroom lesson and its interactive preview. That lesson is a separate experience; this link does not transfer these orders or create a live activity.