ForHosting KIT · Finance & money

Producer tax burden calculator

With a pre-tax price of 10, a tax of 2 and elasticities of 1 on both sides, sellers bear half: they now receive 9 while buyers pay 11. See the producer and consumer share of any per-unit tax. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Original price
10
Tax
2
Demand elasticity
-1
Supply elasticity
1
You get
Abs demand elasticity
1
Producer share
0.5
Producer share percent
50
Consumer share
0.5

Statutory incidence — who remits the levy to the tax authority — is not the same fact as economic incidence, which asks who actually pays. A per-unit excise tax opens a wedge between the price buyers pay and the net price sellers receive, and the original competitive equilibrium price lies between those two post-tax prices. The producer tax burden is the fall in the net price producers receive below that original equilibrium; the producer share is that fall divided by the tax. This producer tax burden calculator accepts the pre-tax equilibrium price, the per-unit tax, and the price elasticities of demand and supply, applies the standard partial-equilibrium incidence formula, and returns the producer share, the dollar-per-unit burden, the new net producer price, and the matching consumer-side figures.

What producer tax burden means and how elasticities assign the wedge

In a competitive market a per-unit tax does not simply add the levy to the buyer price or subtract it from the seller price. The tax drives a vertical wedge of width t between inverse demand and inverse supply, and the market finds a new quantity where those two curves are exactly t apart. Relative to the original equilibrium price P-star, buyers then pay a higher gross price P-c and sellers receive a lower net price P-s, with P-c minus P-s equal to the tax.

The producer tax burden is the fall P-star minus P-s; the consumer tax burden is the rise P-c minus P-star; those two pieces always add up to t. Partial-equilibrium incidence assigns the pieces from the relative price elasticities of demand and supply: writing eta-d for the absolute own-price elasticity of demand and eta-s for the elasticity of supply, the producer share equals eta-d over eta-d plus eta-s, and the consumer share equals eta-s over the same denominator. Intuitively, the more elastic side of the market escapes more of the levy.

Perfectly inelastic demand, when eta-d equals zero, puts the entire tax on buyers, so the producer burden is zero and the net seller price stays at P-star. Perfectly inelastic supply puts the entire tax on sellers, so the net price falls by the full t. When both elasticities are zero the formula has no denominator and this calculator rejects the input rather than inventing a fifty-fifty split.

Statutory incidence — whether the law names the buyer or the seller as the remitter — does not appear in the formula, because in this standard model it does not change economic incidence.

Where this calculation helps

Principles and public-finance courses use a producer tax burden calculator so students can convert any pair of elasticities and a specific tax into the textbook seller share without mixing statutory language with economic incidence or forgetting that the producer piece is a fall in the net price, not a rise in the sticker.

Exam generators and LMS plugins need a deterministic oracle that rejects a zero tax, a negative supply elasticity, or two perfectly inelastic sides instead of inventing a hollow zero share that a buggy grader might treat as success. Failed validation does not consume balance. Keep requests small, pin the rounded share and burden fields in tests, and you get reproducible incidence numbers for homework, LMS plugins, and edge workers without standing up a full computable-general-equilibrium stack of your own.

Classroom tax-incidence checks

Let students enter the pre-tax equilibrium price, a per-unit tax, and demand and supply elasticities, then verify the producer share and the fall in net seller price against the textbook wedge diagram.

LMS and exam auto-grading

Mark incidence items with a deterministic oracle that rejects a non-positive tax, both elasticities equal to zero, or a levy that would push the implied net producer price below zero.

Excise-policy scenario tables

Tabulate how a specific tax splits between sellers and buyers when estimated elasticities change, without mixing statutory remittance with economic burden.

How is the producer tax burden calculated?

The producer share is |εd| / (|εd| + εs). The producer burden is that share times the per-unit tax, which equals the fall in the net price sellers receive below the original equilibrium P*. The new producer price is P* minus that burden.

What inputs does the producer tax burden calculator need?

Both elasticities cannot be zero. Optional decimals (0–12, default 6) sets half-up rounding.

Does it matter whether the law taxes buyers or sellers?

Not in this standard partial-equilibrium model. Statutory incidence does not change economic incidence: the wedge, the producer share, and the fall in the net seller price depend on relative elasticities, not on who remits the cheque.

What if demand is perfectly inelastic or supply is perfectly inelastic?

If |εd| = 0 and εs > 0, producers bear none of the tax and the net seller price stays at P*.

Which side of the market pays more of the tax?

The less elastic side. Whoever reacts more to price escapes more of the levy, so producers carry a larger share when supply is less elastic than demand. With equal elasticities of 1, each side pays half.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/econ/producer-tax-burden

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/econ/producer-tax-burden \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"original_price":10,"tax":2,"demand_elasticity":-1,"supply_elasticity":1}'
{
  "original_price": 10,
  "tax": 2,
  "demand_elasticity": -1,
  "supply_elasticity": 1
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "econ.producer_tax_burden",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Input contract, response fields, and validation rules

Demand elasticity may arrive as an absolute value such as one or as the signed textbook value such as negative one; the engine always works with eta-d equal to the absolute value so classroom notation never flips the share twice by accident. Optional decimals is an integer from zero through twelve, default six, and controls half-up rounding on every numeric field. Example: original price ten, tax two, demand elasticity negative one, supply elasticity one yields equal shares of one half, a producer burden of one, a net producer price of nine, and a consumer price of eleven. POST a JSON body with four required finite numbers: original_price, the pre-tax competitive equilibrium P-star, strictly greater than zero; tax, the per-unit levy t in the same money units, also strictly greater than zero; demand_elasticity, the own-price elasticity of demand; and supply_elasticity, the price elasticity of supply, which must be greater than or equal to zero. Missing fields, empty strings, non-finite values, a non-positive tax or original price, a negative supply elasticity, both elasticities equal to zero, out-of-range decimals, and a tax so large that the implied net producer price would be negative all fail with invalid_input and are not billed. Common aliases are accepted: p0, equilibrium_price, or pretax_price for original_price; t, unit_tax, per_unit_tax, or excise_tax for tax; ed, epsilon_d, or abs_demand_elasticity for demand_elasticity; es or epsilon_s for supply_elasticity. On success the body echoes the rounded inputs, returns abs_demand_elasticity, producer_share and consumer_share on the unit interval, the same shares as percents, producer_burden as the fall P-star minus P-s, consumer_burden as the complementary rise, producer_price as the new net seller price, consumer_price as the new gross buyer price, and a formula string restating the identities. Pair the numbers with your own diagram if you need a plotted wedge; this endpoint returns the incidence numbers only.

Where a producer tax burden API earns its keep

Policy notebooks and consulting workbooks often tabulate excise scenarios for briefings; pinning the arithmetic in a tiny parse API keeps spreadsheet drift out of the comparison column when someone later changes only one elasticity.

What does the producer tax burden calculator cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →