Break-even volume
cashflow_breakevenCalculate the monthly units a contract must sell to cover fixed and variable costs, returning margin of safety and contribution per unit.
Instructions
Compute the monthly volume at which a contract stops losing money, without running the full schedule.
Contingency is folded into the contribution margin rather than added to fixed cost, because total cost is (fixed + maintenance + variable x u/u0) x (1 + contingency): contingency multiplies both sides. Fixed revenue offsets fixed cost, so a contract whose flat fee already covers its fixed base breaks even at zero units.
Escalation is excluded on purpose. Break-even is a statement about the base year.
Args:
model (object): The contract, same shape as cashflow_evaluate_contract.
volume_factor (number): Scales planned volume before solving. Default 1.
Returns: units, revenue, marginOfSafetyPct, averagePrice, variableCostPerUnit and contributionPerUnit. Returns null when the model has no metered streams to break even on, and unitsUnreachable true when contribution per unit is zero or negative.
Examples:
Use when: "How many units a month do we need to cover costs?"
Use when: "How much headroom is there between plan and break-even?"
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | ||
| volume_factor | No | Scales planned volume before solving. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| breakeven | Yes | ||
| hasMeteredVolume | Yes |