Calculation catalog › Monte Carlo
Monte carlo failing path count
Number of paths that depleted.
Field: Failing path count Unit: count Basis: no dollar basis Computed by: Engine Status: Complete chain
Appears in: monte-carlo-page (WhySuccessPanel "What it counts": "(F depleted early)")
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 byclaude.Independent review:
cursorGates (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.failingPathCount)
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.