# Break-even Explorer > When does an investment pay for itself? Payback, NPV and IRR for solar, EVs, heat pumps… Enter an upfront investment, subsidies and the yearly savings it brings, with optional price escalation, performance degradation and maintenance. The explorer returns simple and discounted payback (fractional years), NPV, IRR and a year-by-year cumulative cash-flow table. Part of usefulweb.site (https://usefulweb.site/). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://breakevenexplorer.usefulweb.site/ (interactive tool at https://breakevenexplorer.usefulweb.site/tool) - JSON API: POST https://breakevenexplorer.usefulweb.site/api/v1/calculate with a JSON object of inputs (schema: https://breakevenexplorer.usefulweb.site/api/v1/tool) - OpenAPI: https://breakevenexplorer.usefulweb.site/openapi.json - MCP (Streamable HTTP): https://breakevenexplorer.usefulweb.site/mcp - tool `break_even_explorer` ## Inputs - preset (select): Preset - Presets only fill in escalation, degradation and horizon when you leave those empty; the values are listed under assumptions. - currency (text): Currency - Shown in results only; no conversion is performed. - upfrontInvestment (number, required): Upfront investment - subsidies (number): Subsidies / grants / tax credits - Received at the start; reduces the net investment. - annualSavings (number, required): Savings in year 1 - savingsEscalationPercent (number): Savings escalation (e.g. energy price inflation) - Empty = preset default. - degradationPercent (number): Performance degradation - Empty = preset default. - maintenancePerYear (number): Maintenance per year - discountRatePercent (number): Discount rate - horizonYears (integer): Horizon - Empty = preset default. - savingsByYear (table): Override savings for specific years (optional) - Savings entered here replace the escalated/degraded value for that year (before maintenance). ## Method - Net investment (year 0 outflow) = upfront investment − subsidies. - Savings in year t = year-1 savings × (1 + escalation)^(t−1) × (1 − degradation)^(t−1), unless overridden for that year. - Net cash flow in year t = savings − maintenance (maintenance is constant in nominal terms). - Simple payback = the year in which cumulative cash flow turns non-negative, interpolated linearly within that year (savings assumed to accrue evenly). - Discounted payback uses cash flows discounted by (1 + r)^t; NPV = −net investment + Σ net cash flow ÷ (1 + r)^t. - IRR = the rate at which NPV = 0, found by bisection between −99% and 1000% (null if NPV does not change sign in that range). - Presets only supply defaults for escalation, degradation and horizon when those fields are left empty; the values used are always listed.