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 where the levy exceeds every available bid–ask gap. No trade means no transaction price and zero tax revenue.
One book · three assignments
A tax with no transactions
Neither taxed case trades. There is no buyer payment or seller receipt to compare—not a zero-price trade.
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 | 2 | 0 | 0 |
| Posted price per unit | 9 tokens | No trade | No trade |
| Buyer pays per unit | 9 tokens | No trade | No trade |
| Seller keeps per unit | 9 tokens | No trade | No trade |
| Total tax revenue | 0 tokens | 0 tokens | 0 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 (3)
Each step is one order, not a fitted continuous curve. No transaction marker: no trade.
Buyers remit
Posted-price scale in tokens
Solid blue: bids − buyer levy (3)
Dashed orange: asks + seller levy (0)
Each step is one order, not a fitted continuous curve. No transaction marker: no trade.
| Input row | Price | No tax | Either tax |
|---|---|---|---|
| 1 | 10 | Trades | No trade |
| 2 | 9 | Trades | No trade |
| Input row | Price | No tax | Either tax |
|---|---|---|---|
| 1 | 8 | Trades | No trade |
| 2 | 9 | Trades | 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.