Compute · Assess & Decide · Analysis & Finance
Compute the break-even sales change for a price change
You get the minimum percent (and unit) sales-volume change at which a proposed price change leaves total profit contribution unchanged.
You receive: A pure function that, given a price change and the baseline contribution margin, returns the break-even percent sales change, the break-even unit change, the resulting new contribution margin, and whether the result is economically defined.
Part of Choose Business Model
What's verified: STUD verifies the ARITHMETIC of the break-even formula only: that the function reproduces the book's price-volume trade-off math on held-out inputs and that the declared algebraic invariants hold. STUD does NOT verify that the supplied price change, contribution margin, or baseline units are real or correctly measured; does NOT estimate or predict the actual sales response (the book is explicit that whether realized volume will clear the break-even is a separate qualitative judgment for a sales or product manager); does NOT verify that the market will accept the new price; and does NOT assert anything about fixed-cost recovery or overall product profitability (this is an INCREMENTAL break-even on contribution, not a total break-even). The dollar-sales conversion is reported only when the buyer supplies the percent price change; STUD does not infer it.
Opens soon
This objective is verified and ready. It opens soon, once sign-in and payments are live.
Deliverable interface
The exact vocabulary the automated check enforces: keys, tokens, entry points, and worked examples. Generated from the verification source.
{
"constants": {},
"entryName": "compute_breakeven_sales_change",
"expectNote": "expect is the comparison-space value (your return value goes through normalize first when one is published)",
"hiddenCaseCount": 12,
"hiddenCaseNames": [
"zero_change_zero_volume",
"thin_margin_volume_doubles",
"cut_below_cost_undefined",
"increase_no_baseline",
"large_cut_with_dollars",
"small_increase_with_dollars",
"fat_margin_small_cut",
"increase_negative_new_over_baseline_defined",
"cut_leaves_negative_margin_undefined",
"fractional_inputs",
"increase_reduces_volume_no_dollars",
"deep_cut_thin_margin_defined"
],
"inputKeys": [
"baseline_units",
"contribution_margin",
"pct_be_dollars",
"pct_price_change",
"price_change"
],
"normalizeSource": "def _normalize_compute_breakeven_sales_change(r):\n if not isinstance(r, dict):\n return repr(r)\n def _n(x):\n return None if x is None else round(float(x), 6)\n out = {\n \"pct_be\": _n(r.get(\"pct_be\")),\n \"new_contribution_margin\": _n(r.get(\"new_contribution_margin\")),\n \"unit_be\": _n(r.get(\"unit_be\")),\n \"defined\": bool(r.get(\"defined\")),\n }\n if r.get(\"pct_be_dollars\") is not None:\n out[\"pct_be_dollars\"] = _n(r.get(\"pct_be_dollars\"))\n return out\n",
"returnShapes": [
[
"defined",
"new_contribution_margin",
"pct_be",
"unit_be"
]
],
"signature": "def compute_breakeven_sales_change(inp):",
"submission": "python exposing the entry function; inp is one input object; graded on held-out cases",
"tier": "calculator",
"visibleCases": [
{
"expect": {
"defined": true,
"new_contribution_margin": 4,
"pct_be": 0.125,
"pct_be_dollars": 0.06875,
"unit_be": 500
},
"input": {
"baseline_units": 4000,
"contribution_margin": 4.5,
"pct_price_change": -0.05,
"price_change": -0.5
},
"name": "book_5pct_cut"
},
{
"expect": {
"defined": true,
"new_contribution_margin": 5,
"pct_be": -0.1,
"pct_be_dollars": -0.055,
"unit_be": -400
},
"input": {
"baseline_units": 4000,
"contribution_margin": 4.5,
"pct_price_change": 0.05,
"price_change": 0.5
},
"name": "book_5pct_increase"
}
],
"vocabulary": [
"baseline_units",
"contribution_margin",
"defined",
"new_contribution_margin",
"pct_be",
"pct_be_dollars",
"pct_price_change",
"price_change",
"unit_be"
]
}Get early access to STUD the day it goes live.