Loss-Minimizing Output Calculator
The loss-minimizing output calculator applies the short-run shutdown rule to a firm facing a market price at a proposed output.
Run — free
Enter price, average variable cost, output quantity, and fixed cost to see whether producing covers variable cost and contributes toward fixed cost. The result separates the operating outcome from the shutdown decision, calculates the loss under each choice, and shows exactly how much producing reduces or increases the firm's short-run loss. It can also identify break-even or profitable inputs instead of incorrectly labeling every scenario as a loss.
Use the short-run shutdown rule correctly
A competitive firm should compare market price with average variable cost at the output where it would otherwise produce, normally the quantity at which price equals marginal cost on the rising part of the marginal-cost curve. If price is above average variable cost, revenue covers every variable cost and leaves a positive contribution toward fixed cost. Producing therefore creates a smaller loss than shutting down, even when total revenue remains below total cost. If price is below average variable cost, each unit adds more variable cost than revenue, so continuing production makes the short-run loss larger. The firm should shut down and lose only its unavoidable fixed cost. When price exactly equals average variable cost, production covers variable cost but contributes nothing toward fixed cost. The loss from producing then equals the loss from shutting down, making the firm indifferent in the simplified model. This calculator reports all three cases explicitly. The decision is a short-run result: it assumes fixed cost cannot be avoided during the period and that the entered output is the relevant operating quantity.
Read the loss comparison behind the recommendation
The calculator first multiplies price by output quantity to obtain total revenue. It multiplies average variable cost by that same quantity to obtain total variable cost, then adds fixed cost to calculate total cost. Operating profit is total revenue minus total cost; a negative value is the loss from producing. The shutdown loss equals fixed cost because a firm that produces nothing has no variable cost but must still pay its unavoidable short-run fixed obligations. Contribution margin per unit is price minus average variable cost, and total contribution margin scales that amount by output. A positive contribution margin reduces the fixed-cost burden, while a negative contribution margin adds to it. The reported loss reduction from producing is shutdown loss minus production loss, so a positive figure favors production and a negative figure favors shutdown. The firm-status field is deliberately separate from the decision. A firm can report a loss and still rationally produce, because shutting down would lose even more. Conversely, profitable or break-even test inputs remain visible and are not forced into a loss-only label.
Know the assumptions and limits of the calculation
Treat the result as a short-run operating test, not as a complete business forecast. The rule assumes the market price is given, the firm can sell the specified output at that price, average variable cost is measured at that output, and fixed cost is unavoidable during the decision period. It does not locate the profit-maximizing quantity from a cost curve, test whether marginal cost equals price, account for start-up or shutdown expenses, or decide whether the company should permanently exit an industry. In the long run, all costs are avoidable and a persistently unprofitable firm needs a different analysis. Use consistent units: price and average variable cost must use the same currency per unit, while output quantity must match that unit and fixed cost must use the same currency for the same time period. Enter accounting or economic costs consistently; mixing monthly fixed cost with daily output will make the comparison meaningless. For an API request, the base price is $0.002. The browser calculation uses the same deterministic arithmetic, sends no network request from the algorithm, and produces stable numeric fields suitable for worksheets, teaching examples, or repeatable operating-decision checks.
What you can do with it
Evaluate a temporary operating loss
Check whether a factory with unavoidable fixed costs should keep producing during a period of weak market prices.
Teach the shutdown rule
Show students why a loss-making firm may continue operating when price still exceeds average variable cost.
Compare operating scenarios
Test alternative prices or variable costs and observe when the recommendation changes from production to shutdown.
FAQ
Should a firm produce when price is above average variable cost but below average total cost?
Yes in the short run. Producing covers variable cost and contributes toward fixed cost, so the firm's loss is smaller than the fixed cost it would lose after shutting down.
What happens when price equals average variable cost?
The firm is indifferent in this simplified model. Production covers variable cost exactly, and both producing and shutting down leave a loss equal to fixed cost.
Why does the calculator ask for fixed cost if the decision uses price and average variable cost?
Fixed cost does not change the shutdown threshold, but it is needed to quantify and compare the loss from producing with the loss from shutting down.
Does this calculator find the profit-maximizing output quantity?
No. Supply the proposed output, normally found where price equals marginal cost. This calculator determines whether operating at that output beats shutting down.
How much does an API calculation cost?
Each API request costs $0.002. The calculation is also available in the browser as a tier-A capability.
For developers — API access
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.
API endpoint
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.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/econ/loss-minimizing-output \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"price":18,"average_variable_cost":14,"output_quantity":100,"fixed_cost":600}'const res = await fetch("https://api.kit.forhosting.com/econ/loss-minimizing-output", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"price": 18,
"average_variable_cost": 14,
"output_quantity": 100,
"fixed_cost": 600
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/econ/loss-minimizing-output",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"price": 18,
"average_variable_cost": 14,
"output_quantity": 100,
"fixed_cost": 600
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/econ/loss-minimizing-output", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"price":18,"average_variable_cost":14,"output_quantity":100,"fixed_cost":600}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"price":18,"average_variable_cost":14,"output_quantity":100,"fixed_cost":600}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/econ/loss-minimizing-output", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"price": 18,
"average_variable_cost": 14,
"output_quantity": 100,
"fixed_cost": 600
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "econ.loss_minimizing_output",
"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.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |