Source: https://guthlabs.ai/docs/instruments/payback-period-calculator/mechanism/

instrument mechanism / verified-clean

# Payback Period Calculator mechanism

The inspectable method record for Payback Period Calculator, kept separate from implementation and qualification.

Status: **VERIFIED_CLEAN**Lifecycle: **verified-clean**

## Model scope

The underlying concepts are standard, but the specification is not implementation-complete. Exact ambiguities requiring resolution are: cash-flow timing, discount-rate compounding and units, fractional-period interpolation, no-payback output, multiple-crossing behavior, and treatment of zero or negative initial cost.

- The simple-payback formula is only described as cumulative cash flow crossing zero; it does not specify whether the initial cost is treated as a negative time-zero cash flow and whether fractional-period interpolation is used.

- The discounted-payback formula does not explicitly define PV_t = CF_t/(1+r)^t, the cash-flow timing convention, or whether the discount rate is effective per period.

- The specification does not define behavior when cumulative cash flow never reaches zero, reaches zero exactly, crosses zero more than once, or becomes negative again after payback.

- The chart's breakeven point is not defined for no-payback cases, multiple crossings, or fractional-period interpolation.

## Units and conventions

- Initial cost and every cash flow use the same currency units; initial cost is a positive amount representing a time-zero outflow.

- Cash flows are equally spaced and occur at the end of each stated period.

- For discounted payback, r is a decimal effective discount rate per cash-flow period, and PV_t = CF_t/(1+r)^t.

- Unless a vector explicitly uses months, annual cash flows and annual discount rates are assumed; monthly data require a monthly rate if discounting is performed.

- Payback is linearly interpolated within the period containing the crossing: prior completed periods plus unrecovered balance divided by the next period's relevant cash flow or discounted cash flow.

- A payback period of zero is valid when the initial cost is zero; no-payback cases should be represented explicitly rather than as an arbitrary large number.

## Inspectable vector

One of 4 source-bound review vectors:

````
{
  "inputs": {
    "mode": "simple",
    "initial_cost": 10000,
    "cash_flow_series": [
      2500,
      3500,
      4000,
      3000
    ],
    "cash_flow_period": "annual"
  },
  "expected_outputs": {
    "payback_period_years": 3,
    "payback_period_months": 36,
    "breakeven_point_years": 3
  },
  "working": "Start cumulative cash flow = -10000. After year 1: -10000 + 2500 = -7500. After year 2: -7500 + 3500 = -4000. After year 3: -4000 + 4000 = 0. Therefore payback occurs exactly at 3 years = 36 months; the chart breakeven point is year 3."
}
````

## Failure boundary

**BREAK_CLAIMED** · SELF_FLAGGED

The input discount_rate = -1 makes every discounted cash-flow denominator (1 + discount_rate)^t equal zero, so the discounted result is undefined. The instrument specification does not state that this invalid rate is rejected. A second robustness risk is the undocumented sign convention for initial cost and cash flows, which can change the meaning of the result.

## Other records

[01**Overview**](<https://guthlabs.ai/docs/instruments/payback-period-calculator/>)[03**Implementation**](<https://guthlabs.ai/docs/instruments/payback-period-calculator/implementation/>)[04**Qualification**](<https://guthlabs.ai/docs/instruments/payback-period-calculator/qualification/>)

## Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

- `VERIFIED_LEDGER.json`

- `evidence-tranche4/tranche4-results.json`

- `BOUNDARY_HAZARD_CATALOG.json`
