break_even
Solve for the input value required to make an output metric hit a target value (deterministic bisection root-finding). Provide 'template', 'solve_for' (the input to solve), 'target_metric' (defaults to the primary output), and 'target_value'. Optionally pass 'bounds' [low, high] to constrain the search. Returns the required input value, the change from baseline, the achieved metric, and the residual. Assumes the metric is monotonic in the solved input over the range.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bounds | No | Optional [low, high] search range for the solved input. Auto-derived + expanded if omitted. | |
| inputs | No | Scenario assumptions as {name: value}. Which keys are valid depends on the template (call list_templates). Unlisted keys fall back to documented defaults; unknown keys are ignored and reported in notes. You may also pass assumptions at the top level. | |
| horizon | No | Number of periods to project forward (1..1200). Default depends on template (usually 12). | |
| template | Yes | Pre-built scenario template id: saas_growth, pricing_change, churn_impact, cost_reduction, hiring_plan, cash_runway, unit_economics, marketing_funnel, compound_growth (aliases like 'saas','pricing','runway','ltv' also resolve). Omit (or use 'custom') to run a free-form 'metrics' projection. | |
| solve_for | Yes | Name of the input variable to solve for. | |
| period_label | No | Label for each period; also sets annualization (periods/year). | month |
| target_value | Yes | The value the target_metric should reach. | |
| target_metric | No | Output metric to hit (defaults to the template's primary output). |