Model version: 2026-08-17.finance-lab.1. These specifications cover the current review artifact and change whenever a formula, timing rule, numerical method or input meaning changes.
compound-interestProject a balance under a stated nominal annual rate and contribution schedule
Symbols
P: initial principal; unit: currencyC: contribution each contribution period; unit: currency per contribution periodj: nominal annual rate; unit: decimal per yearm: compounds per year; unit: whole periods per yearp: contributions per year; unit: whole periods per yearn: number of contribution periods; unit: periods
Sign convention: principal and contributions are non-negative deposits
Timing: contributions occur at the beginning or end of each contribution period
break-evenFind the sales volume at which contribution margin covers fixed cost
Symbols
F: fixed costs; unit: currency per decision periodP: selling price per unit; unit: currency per unitV: variable cost per unit; unit: currency per unitQ: break-even units; unit: units per decision period
Sign convention: costs and prices are non-negative
Timing: all inputs use the same operating period
npv-irrCompare periodic or dated cash flows with an explicit discount rate or return root
Symbols
CF_t: cash flow at period or date t; unit: currencyr: discount rate per period or annual dated rate; unit: decimalt: period number or year fraction; unit: period or ACT/365 year fraction
Sign convention: outflows are negative and inflows are positive
Timing: periodic NPV starts at t=0; dated XNPV uses actual dates divided by 365
financial-ratiosRelate two explicitly defined financial-statement or investment fields
Symbols
N: named numerator; unit: currency or unitsD: named denominator; unit: matching currency or units
Sign convention: negative denominators remain visible and zero denominators are undefined
Timing: numerator and denominator must use the stated period and ending or average balance basis
Shared failure rule
Invalid, undefined, period-mismatched, non-convergent and ambiguous states are named. The engine does not convert one of those states into zero, an empty result or a plausible-looking rate.
Numerical scope
The current IRR and XIRR routine scans from −99.9% through 1,000%, brackets sign changes and refines each root. It reports no solution or multiple roots within that supported range. That is a stated numerical boundary, not a proof that no other mathematical root exists outside the range.