Calculation catalog › Monte Carlo

Monte carlo failure rate

Share of paths that deplete (1 - success rate, computed directly as failingPathCount / pathCount).

Field: Failure probability Unit: probability Basis: no dollar basis Computed by: Engine Status: Complete chain

Appears in: monte-carlo-page (Downside tile "Chance of running short" percent)

Calculation records

  • Success, required-floor, target-lifestyle and failure rates Formula record, justified by derivation

    Purpose: The headline shares: how often the money lasted, how often the essentials were funded, how often the full lifestyle was, and how often it ran out.

    Statement: successRate is the share of paths whose depletionYear is null; requiredFloorSuccessRate the share with requiredFloorMet; targetLifestyleSuccessRate the share with targetLifestyleMet; downsideRisk.failureRate the share whose depletionYear is non-null, and downsideRisk.failingPathCount how many those are. Failure is the complement of success over the same depletion test. For the worksheet's five deliberately crossed paths these are 0.6, 0.6, 0.2, 0.4 and 2. Units: shares in [0, 1] and a path count. Rounding: none; absolute 1e-9 on the rates and the count exactly.

    Formula: successRate = |{p : depletionYear_p = null}| / N; failureRate = 1 - successRate; failingPathCount = N - |{p : depletionYear_p = null}|

    • N: All paths (unit: paths) (domain: worksheet 5)
    • depletionYear_p: Year a path first depleted; null when it never did (unit: calendar year or null) (domain: worksheet null, null, null, 2031, 2032)
    • requiredFloorMet_p, targetLifestyleMet_p: Whether a path funded the required floor, and the full target, every year (unit: boolean) (domain: worksheet crossed against depletion)

    Timing: once per aggregation, over the completed path set

    Rounding: none

    Limits:

    • The three tests are distinct, and the shared 0.6 of successRate and requiredFloorSuccessRate is a coincidence of this path set; the evidence therefore also asserts each path's own three verdicts
    • Depletion alone defines failure here: a path that missed its target every year without depleting still counts as a success, and treating any target miss as depletion would give failure rate 0.8 on four paths
    • An empty path set gives 0 for every share rather than an undefined rate
    • The evidence supplies depletionYear, requiredFloorMet and targetLifestyleMet only; every other MonteCarloPath field is at the test’s neutral (no shortfall, attainment 1, no goal or guardrail activity, zero balances, no bequest target)

    Provenance: derived by codex, implemented by claude.

    Independent review: cursor

    Gates (6 of 6 pass): fixture registers a test: pass; pins resolve: pass; families exist: pass; worksheet exists: pass; mutation receipt exists: pass; provenance independent: pass

    Worksheet: monte-carlo-success-and-failure-rates.md Mutation receipt: monte-carlo-success-and-failure-rates.mutation.md

    Evidence tests: run.evidence.test.ts

    Implemented in: run.ts

    Is the number of: monte-carlo-success-rate, monte-carlo-required-floor-success-rate, monte-carlo-target-lifestyle-success-rate, monte-carlo-failure-rate, monte-carlo-failing-path-count

Engine source: engine/src/montecarlo/run.ts (MonteCarloSummary.downsideRisk.failureRate)

The evidence links on this page (each record's worksheet, mutation receipt, evidence tests and implementation, and the source links) are pinned to engine commit 2624dbdba9fd, committed 2026-10-11. The live calculation index and output-family census links point at the repository's main branch, so you can check this snapshot against them.