{
  "version": "2026.1",
  "generated_at": "2026-09-07",
  "generated_by": "scripts/gen_mortgage_study.mjs",
  "study": "pay-off-mortgage-or-invest-2026",
  "url": "https://quantcalc.app/research/pay-off-mortgage-or-invest-2026/",
  "license": "CC-BY-4.0",
  "method": {
    "engine": "QuantCalc C Monte Carlo engine (quantcalc-server 2.0.0), constant-real withdrawals with a scheduled nominal life event, over the public simulate contract",
    "capital_market_assumptions": {
      "source": "JPMorgan LTCMA 2026",
      "as_of": "2025-11-01",
      "asset_classes": [
        "US Equity",
        "International Equity",
        "Bonds",
        "Real Estate",
        "Cash"
      ],
      "expected_returns": [
        0.067,
        0.074,
        0.048,
        0.065,
        0.032
      ],
      "volatilities": [
        0.152,
        0.18,
        0.05,
        0.15,
        0.01
      ],
      "correlations": [
        [
          1,
          0.87,
          0.3,
          0.6,
          -0.01
        ],
        [
          0.87,
          1,
          0.34,
          0.55,
          -0.03
        ],
        [
          0.3,
          0.34,
          1,
          0.2,
          -0.24
        ],
        [
          0.6,
          0.55,
          0.2,
          1,
          0.05
        ],
        [
          -0.01,
          -0.03,
          -0.24,
          0.05,
          1
        ]
      ]
    },
    "plan": {
      "capital": 1000000,
      "retirement_age": 65,
      "end_age": 95,
      "horizon_years": 30,
      "base_spending_annual_real": [
        50000,
        40000,
        30000
      ],
      "plan_mix": {
        "key": "60/40",
        "allocation": [
          0.45,
          0.15,
          0.4,
          0,
          0
        ]
      },
      "inflation_rate": 0.025,
      "social_security": 0,
      "pension": 0,
      "taxes": "pre-tax, single pool"
    },
    "mortgage": {
      "balance": 200000,
      "term_years": 15,
      "rates": [
        0.04,
        0.055,
        0.065
      ],
      "payment": "level monthly payment from the amortisation formula P = L·r/(1 − (1 + r)^−n), r = rate/12, n = 180",
      "loans": {
        "r4p0": {
          "rate": 0.04,
          "monthly_payment": 1479.3758512185157,
          "annual_payment": 17752.510214622187,
          "final_balance": 7.725702744210139e-9,
          "total_interest": 66287.65321933957,
          "total_paid": 266287.6532193328,
          "balance_by_year": {
            "1": 190066.69216288225,
            "2": 179728.68603818305,
            "3": 168969.4935932494,
            "4": 157771.9550475382,
            "5": 146118.21150457097,
            "6": 133989.67646887165,
            "7": 121367.00620246114,
            "8": 108230.06887362925,
            "9": 94557.91244878015,
            "10": 80328.73127614197,
            "11": 65519.83130804531,
            "12": 50107.59390630356,
            "13": 34067.43817296876,
            "14": 17373.781746384204,
            "15": 7.725702744210139e-9
          }
        },
        "r5p5": {
          "rate": 0.055,
          "monthly_payment": 1634.1669092422671,
          "annual_payment": 19610.002910907206,
          "final_balance": 3.1466242944588885e-9,
          "total_interest": 94150.0436636113,
          "total_paid": 294150.0436636081,
          "balance_by_year": {
            "1": 191169.6028705908,
            "2": 181841.10193275707,
            "3": 171986.40021641564,
            "4": 161575.81586151774,
            "5": 150577.99271779688,
            "6": 138959.80590164027,
            "7": 126686.26202562479,
            "8": 113720.39380021532,
            "9": 100023.14869016965,
            "10": 85553.27129029008,
            "11": 70267.17906624232,
            "12": 54118.831086180035,
            "13": 37059.58934780137,
            "14": 19038.072283161142,
            "15": 3.1466242944588885e-9
          }
        },
        "r6p5": {
          "rate": 0.065,
          "monthly_payment": 1742.2147305947308,
          "annual_payment": 20906.57676713677,
          "final_balance": -4.031790012959391e-9,
          "total_interest": 113598.65150704834,
          "total_paid": 313598.65150705155,
          "balance_by_year": {
            "1": 191853.56786007012,
            "2": 183161.55407251607,
            "3": 173887.42002397787,
            "4": 163992.18004248926,
            "5": 153434.23751343068,
            "6": 142169.2100198646,
            "7": 130149.74277219483,
            "8": 117325.30954286492,
            "9": 103642.0002692838,
            "10": 89042.29443212738,
            "11": 73464.81925636425,
            "12": 56844.09171855661,
            "13": 39110.2432759123,
            "14": 20188.72615993167,
            "15": -4.031790012959391e-9
          }
        }
      }
    },
    "pay_off_arm": "Savings at 65 reduced by the balance (800000); spending is the base amount, constant in real terms.",
    "keep_arm": "Full 1000000 at 65; the level monthly payment is charged for 180 months as a nominal constant (engine life event, inflationCategory \"none\") and stops at 80; base spending is constant in real terms.",
    "paths_per_arm": 10000,
    "pairing": "seed s with n ≤ 30 paths reads Sobol cache rows s..s+n−1 (random.c generate_sobol_normal offset = seed mod (rows − n + 1)); the 334 windows tile rows 0..9999 exactly",
    "paired_statistic": "per path: keep-the-mortgage terminal real wealth − pay-it-off terminal real wealth on the same market path; reported as median, p10, p90, mean, the share of paths where each arm ends higher, and survival crossovers",
    "breakeven": "the whole grid re-run with every asset's expected return shifted in parallel by δ ∈ {-4, -3, -2, -1, 1, 2, 3} pp through the contract's customCme override (same volatilities and correlations); the δ at which a paired statistic crosses zero is interpolated linearly between adjacent grid points, and the sign-test crossing (share of paths keep ends higher = share pay-off ends higher) is refined by 2 regula-falsi steps of additional engine runs; reported as the portfolio's weighted expected nominal return (60/40 weights × the roster's published expected returns) at that δ, and its real equivalent at 2.5% inflation",
    "reference_breakeven": "closed form: without dispersion the two arms tie when the portfolio return equals the mortgage rate (nominal)",
    "dollars": "real (today's dollars); the engine deflates every reported value by its inflation path",
    "success": "a path counts as a success when the portfolio never reaches $0 during retirement; the terminal value of a ruined path is $0",
    "account_types": "single pre-tax pool; the contract used here does not distinguish taxable from tax-deferred money, so no payoff-source variant is run",
    "checks": {
      "amortisation": {
        "r4p0": {
          "monthly_payment": 1479.3758512185157,
          "final_balance": 7.725702744210139e-9
        },
        "r5p5": {
          "monthly_payment": 1634.1669092422671,
          "final_balance": 3.1466242944588885e-9
        },
        "r6p5": {
          "monthly_payment": 1742.2147305947308,
          "final_balance": -4.031790012959391e-9
        }
      },
      "nominal_payment_replica": {
        "max_abs_gap": 198.00776598558878,
        "ruin_year": 13,
        "inflating_alternative_max_gap": 28737.067863147622,
        "note": "0%-return, minimum-volatility custom roster: engine yearly real values for ARM B match an independent month-by-month replica of inflating base spending plus a level nominal payment for 180 months"
      },
      "override_identity": {
        "max_relative_gap": 0,
        "success_default": 0.3336,
        "success_override": 0.3336,
        "note": "the customCme override with the roster's own returns, volatilities and correlations reproduces the default run path by path, so shifted runs differ from the base only by the shift"
      },
      "determinism": {
        "arm": "B_s50000_r5p5_d0_0",
        "seed": 210,
        "n": 30,
        "identical": true
      },
      "engine_ruin_count_matches_terminal_gt_zero": true,
      "batched_equals_single_call": {
        "arms": 12,
        "max_gap": 0
      },
      "starting_wealth_identity": true
    }
  },
  "cells": [
    {
      "mortgage_rate": 0.04,
      "base_spending_annual_real": 50000,
      "loan": {
        "rate": 0.04,
        "monthly_payment": 1479.3758512185157,
        "annual_payment": 17752.510214622187,
        "final_balance": 7.725702744210139e-9,
        "total_interest": 66287.65321933957,
        "total_paid": 266287.6532193328,
        "balance_by_year": {
          "1": 190066.69216288225,
          "2": 179728.68603818305,
          "3": 168969.4935932494,
          "4": 157771.9550475382,
          "5": 146118.21150457097,
          "6": 133989.67646887165,
          "7": 121367.00620246114,
          "8": 108230.06887362925,
          "9": 94557.91244878015,
          "10": 80328.73127614197,
          "11": 65519.83130804531,
          "12": 50107.59390630356,
          "13": 34067.43817296876,
          "14": 17373.781746384204,
          "15": 7.725702744210139e-9
        }
      },
      "withdrawal_rate_pay_off": 0.0625,
      "year1_withdrawal_rate_keep": 0.0677525102146222,
      "pay_off": {
        "savings_at_65": 800000,
        "success_rate": 0.2956,
        "success_ci95": [
          0.28673614990101,
          0.304620834399901
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 0,
          "p25": 0,
          "p50": 0,
          "p75": 100447.92135383708,
          "p90": 690747.0449509806,
          "p95": 1195332.8478219935,
          "mean": 207951.60480071596
        }
      },
      "keep": {
        "savings_at_65": 1000000,
        "success_rate": 0.3579,
        "success_ci95": [
          0.3485603167536867,
          0.36734881959249444
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 0,
          "p25": 0,
          "p50": 0,
          "p75": 270568.4322862486,
          "p90": 1001751.779392985,
          "p95": 1599679.1753066524,
          "mean": 302895.4809129649
        }
      },
      "paired": {
        "median_diff": 0,
        "p10_diff": 0,
        "p25_diff": 0,
        "p75_diff": 165264.84459540196,
        "p90_diff": 308471.0400042514,
        "mean_diff": 94943.87611224921,
        "share_b_higher": 0.3579,
        "share_a_higher": 0,
        "share_tied": 0.6421,
        "b_survives_a_fails": 623,
        "a_survives_b_fails": 0,
        "both_fail": 6421,
        "by_year": [
          {
            "year": 1,
            "age": 66,
            "median_diff": 189407.59556704725,
            "p10_diff": 165322.24884398642,
            "p90_diff": 216977.35164119455,
            "mean_diff": 190687.14144040624,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 2,
            "age": 67,
            "median_diff": 179097.42040036735,
            "p10_diff": 147064.8356371282,
            "p90_diff": 219424.76073395472,
            "mean_diff": 181392.91513406808,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 3,
            "age": 68,
            "median_diff": 168145.19062168535,
            "p10_diff": 130474.50726211956,
            "p90_diff": 219120.99406048772,
            "mean_diff": 172142.63609721247,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 4,
            "age": 69,
            "median_diff": 158351.1128725696,
            "p10_diff": 115008.62186502153,
            "p90_diff": 216359.303410745,
            "mean_diff": 162885.83960491404,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 5,
            "age": 70,
            "median_diff": 148663.50518204377,
            "p10_diff": 100492.08037374174,
            "p90_diff": 213575.23976151017,
            "mean_diff": 153652.3058294936,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 6,
            "age": 71,
            "median_diff": 137875.46202526218,
            "p10_diff": 87274.65403840883,
            "p90_diff": 209750.80595123942,
            "mean_diff": 144417.77731292346,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 7,
            "age": 72,
            "median_diff": 127338.01600610325,
            "p10_diff": 73897.17987808533,
            "p90_diff": 206897.09352117323,
            "mean_diff": 135165.13345187472,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 8,
            "age": 73,
            "median_diff": 116692.17376154626,
            "p10_diff": 60892.775527129124,
            "p90_diff": 201736.5309062932,
            "mean_diff": 125880.2651562414,
            "share_b_higher": 0.9999,
            "share_a_higher": 0.0001
          },
          {
            "year": 9,
            "age": 74,
            "median_diff": 106066.04302903288,
            "p10_diff": 47643.5782075242,
            "p90_diff": 198039.7420774945,
            "mean_diff": 116558.09631292029,
            "share_b_higher": 0.9987,
            "share_a_higher": 0.0013
          },
          {
            "year": 10,
            "age": 75,
            "median_diff": 96215.75231813698,
            "p10_diff": 35070.953707797744,
            "p90_diff": 193905.47404499562,
            "mean_diff": 107209.81303255295,
            "share_b_higher": 0.9913,
            "share_a_higher": 0.0087
          },
          {
            "year": 11,
            "age": 76,
            "median_diff": 85609.28816624184,
            "p10_diff": 22211.343782013224,
            "p90_diff": 187211.62805351603,
            "mean_diff": 97819.43286991559,
            "share_b_higher": 0.9728,
            "share_a_higher": 0.0261
          },
          {
            "year": 12,
            "age": 77,
            "median_diff": 74975.79802637774,
            "p10_diff": 9389.462279746716,
            "p90_diff": 182915.06776181026,
            "mean_diff": 88536.77961562388,
            "share_b_higher": 0.9354,
            "share_a_higher": 0.0599
          },
          {
            "year": 13,
            "age": 78,
            "median_diff": 64201.67297476443,
            "p10_diff": -124.1178630179211,
            "p90_diff": 177562.66434462613,
            "mean_diff": 79617.1643364826,
            "share_b_higher": 0.8847,
            "share_a_higher": 0.1005
          },
          {
            "year": 14,
            "age": 79,
            "median_diff": 53514.455962208565,
            "p10_diff": -8479.158622074116,
            "p90_diff": 174296.22552800865,
            "mean_diff": 71141.45989191772,
            "share_b_higher": 0.8206,
            "share_a_higher": 0.1463
          },
          {
            "year": 15,
            "age": 80,
            "median_diff": 42707.292146535474,
            "p10_diff": -13743.032298411003,
            "p90_diff": 168591.4558327609,
            "mean_diff": 63439.686493564666,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.1823
          },
          {
            "year": 16,
            "age": 81,
            "median_diff": 44201.606360046135,
            "p10_diff": -6428.866903111397,
            "p90_diff": 175106.18449085602,
            "mean_diff": 67387.52099165422,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.1421
          },
          {
            "year": 17,
            "age": 82,
            "median_diff": 46031.730014456785,
            "p10_diff": 0,
            "p90_diff": 183455.24941946182,
            "mean_diff": 71191.77518604015,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.0964
          },
          {
            "year": 18,
            "age": 83,
            "median_diff": 46974.44205024175,
            "p10_diff": 0,
            "p90_diff": 190163.4461029349,
            "mean_diff": 74663.52473380473,
            "share_b_higher": 0.7498,
            "share_a_higher": 0.0499
          },
          {
            "year": 19,
            "age": 84,
            "median_diff": 48618.19274365014,
            "p10_diff": 0,
            "p90_diff": 197777.21063360572,
            "mean_diff": 77864.83511184891,
            "share_b_higher": 0.7286,
            "share_a_higher": 0.0183
          },
          {
            "year": 20,
            "age": 85,
            "median_diff": 49984.926385678846,
            "p10_diff": 0,
            "p90_diff": 207849.27619153378,
            "mean_diff": 80806.62659341219,
            "share_b_higher": 0.6919,
            "share_a_higher": 0.0068
          },
          {
            "year": 21,
            "age": 86,
            "median_diff": 51455.84570518813,
            "p10_diff": 0,
            "p90_diff": 216252.09842862294,
            "mean_diff": 83295.66039198938,
            "share_b_higher": 0.651,
            "share_a_higher": 0.0031
          },
          {
            "year": 22,
            "age": 87,
            "median_diff": 52747.458254027864,
            "p10_diff": 0,
            "p90_diff": 223975.81340183644,
            "mean_diff": 85478.22862414371,
            "share_b_higher": 0.6088,
            "share_a_higher": 0.0012
          },
          {
            "year": 23,
            "age": 88,
            "median_diff": 51570.38721187314,
            "p10_diff": 0,
            "p90_diff": 234548.91756449128,
            "mean_diff": 87225.04248363199,
            "share_b_higher": 0.5667,
            "share_a_higher": 0.0006
          },
          {
            "year": 24,
            "age": 89,
            "median_diff": 35538.26710562213,
            "p10_diff": 0,
            "p90_diff": 244147.60253878345,
            "mean_diff": 88759.19588413733,
            "share_b_higher": 0.5283,
            "share_a_higher": 0.0005
          },
          {
            "year": 25,
            "age": 90,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 254674.08986691106,
            "mean_diff": 89887.33684402095,
            "share_b_higher": 0.4928,
            "share_a_higher": 0.0002
          },
          {
            "year": 26,
            "age": 91,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 265578.6382441452,
            "mean_diff": 91391.88038842521,
            "share_b_higher": 0.4622,
            "share_a_higher": 0
          },
          {
            "year": 27,
            "age": 92,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 276903.43168261356,
            "mean_diff": 92336.53035491734,
            "share_b_higher": 0.436,
            "share_a_higher": 0
          },
          {
            "year": 28,
            "age": 93,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 287218.6552417646,
            "mean_diff": 93247.28583752309,
            "share_b_higher": 0.4058,
            "share_a_higher": 0
          },
          {
            "year": 29,
            "age": 94,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 300018.33005134715,
            "mean_diff": 94143.10189066183,
            "share_b_higher": 0.3784,
            "share_a_higher": 0
          },
          {
            "year": 30,
            "age": 95,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 308471.0400042514,
            "mean_diff": 94943.87611224921,
            "share_b_higher": 0.3579,
            "share_a_higher": 0
          }
        ]
      },
      "breakeven": {
        "id": "s50000_r4p0",
        "spend": 50000,
        "rate": 0.04,
        "portfolio_expected_nominal_base": 0.060450000000000004,
        "portfolio_expected_real_base": 0.03458536585365857,
        "reference_shift": -0.020450000000000003,
        "reference_nominal": 0.04,
        "reference_real": 0.014634146341463428,
        "sign_test": null,
        "mean_diff": null,
        "success": null,
        "refinements": [],
        "points": [
          {
            "shift": -0.04,
            "refinement": false,
            "success_a": 0.0108,
            "success_b": 0.0181,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 2651.321472241711,
            "share_b_higher": 0.0181,
            "share_a_higher": 0,
            "sign": 0.0181,
            "success_diff": 0.0073
          },
          {
            "shift": -0.03,
            "refinement": false,
            "success_a": 0.032,
            "success_b": 0.0489,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 7892.984844830655,
            "share_b_higher": 0.0489,
            "share_a_higher": 0,
            "sign": 0.0489,
            "success_diff": 0.0169
          },
          {
            "shift": -0.02,
            "refinement": false,
            "success_a": 0.0792,
            "success_b": 0.1109,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 20564.635208861117,
            "share_b_higher": 0.1109,
            "share_a_higher": 0,
            "sign": 0.1109,
            "success_diff": 0.0317
          },
          {
            "shift": -0.01,
            "refinement": false,
            "success_a": 0.1647,
            "success_b": 0.2107,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 46646.337793724175,
            "share_b_higher": 0.2107,
            "share_a_higher": 0,
            "sign": 0.2107,
            "success_diff": 0.046
          },
          {
            "shift": 0,
            "refinement": false,
            "success_a": 0.2956,
            "success_b": 0.3579,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 94943.87611224921,
            "share_b_higher": 0.3579,
            "share_a_higher": 0,
            "sign": 0.3579,
            "success_diff": 0.0623
          },
          {
            "shift": 0.01,
            "refinement": false,
            "success_a": 0.4566,
            "success_b": 0.517,
            "median_a": 0,
            "median_b": 39210.948301894234,
            "median_diff": 38262.24594935644,
            "mean_diff": 171784.1056595192,
            "share_b_higher": 0.517,
            "share_a_higher": 0,
            "sign": 0.517,
            "success_diff": 0.0604
          },
          {
            "shift": 0.02,
            "refinement": false,
            "success_a": 0.6205,
            "success_b": 0.6751,
            "median_a": 299316.84648207726,
            "median_b": 521899.7635213239,
            "median_diff": 218674.65918246523,
            "mean_diff": 287090.71980304364,
            "share_b_higher": 0.6751,
            "share_a_higher": 0,
            "sign": 0.6751,
            "success_diff": 0.0546
          },
          {
            "shift": 0.03,
            "refinement": false,
            "success_a": 0.7676,
            "success_b": 0.8078,
            "median_a": 865677.8145148243,
            "median_b": 1210947.7726074443,
            "median_diff": 349757.5438754349,
            "mean_diff": 451426.37711447047,
            "share_b_higher": 0.8078,
            "share_a_higher": 0,
            "sign": 0.8078,
            "success_diff": 0.0402
          }
        ]
      }
    },
    {
      "mortgage_rate": 0.055,
      "base_spending_annual_real": 50000,
      "loan": {
        "rate": 0.055,
        "monthly_payment": 1634.1669092422671,
        "annual_payment": 19610.002910907206,
        "final_balance": 3.1466242944588885e-9,
        "total_interest": 94150.0436636113,
        "total_paid": 294150.0436636081,
        "balance_by_year": {
          "1": 191169.6028705908,
          "2": 181841.10193275707,
          "3": 171986.40021641564,
          "4": 161575.81586151774,
          "5": 150577.99271779688,
          "6": 138959.80590164027,
          "7": 126686.26202562479,
          "8": 113720.39380021532,
          "9": 100023.14869016965,
          "10": 85553.27129029008,
          "11": 70267.17906624232,
          "12": 54118.831086180035,
          "13": 37059.58934780137,
          "14": 19038.072283161142,
          "15": 3.1466242944588885e-9
        }
      },
      "withdrawal_rate_pay_off": 0.0625,
      "year1_withdrawal_rate_keep": 0.0696100029109072,
      "pay_off": {
        "savings_at_65": 800000,
        "success_rate": 0.2956,
        "success_ci95": [
          0.28673614990101,
          0.304620834399901
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 0,
          "p25": 0,
          "p50": 0,
          "p75": 100447.92135383708,
          "p90": 690747.0449509806,
          "p95": 1195332.8478219935,
          "mean": 207951.60480071596
        }
      },
      "keep": {
        "savings_at_65": 1000000,
        "success_rate": 0.3336,
        "success_ci95": [
          0.3244240784402651,
          0.34290372091233556
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 0,
          "p25": 0,
          "p50": 0,
          "p75": 209879.05674329874,
          "p90": 926254.2617780244,
          "p95": 1511679.7754126925,
          "mean": 276546.16450207547
        }
      },
      "paired": {
        "median_diff": 0,
        "p10_diff": 0,
        "p25_diff": 0,
        "p75_diff": 102441.45810547605,
        "p90_diff": 232616.38778698898,
        "mean_diff": 68594.55970135918,
        "share_b_higher": 0.3321,
        "share_a_higher": 0.0016,
        "share_tied": 0.6663,
        "b_survives_a_fails": 381,
        "a_survives_b_fails": 1,
        "both_fail": 6663,
        "by_year": [
          {
            "year": 1,
            "age": 66,
            "median_diff": 187542.05527017463,
            "p10_diff": 163551.19580072467,
            "p90_diff": 215016.88425248384,
            "mean_diff": 188818.74170228696,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 2,
            "age": 67,
            "median_diff": 175343.94653625006,
            "p10_diff": 143598.40712494229,
            "p90_diff": 215284.47091986716,
            "mean_diff": 177622.4488078907,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 3,
            "age": 68,
            "median_diff": 162514.1328277667,
            "p10_diff": 125406.46424630028,
            "p90_diff": 212831.380439025,
            "mean_diff": 166433.90456721422,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 4,
            "age": 69,
            "median_diff": 150772.59967466805,
            "p10_diff": 108101.8840854945,
            "p90_diff": 207571.88343570917,
            "mean_diff": 155200.05747336525,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 5,
            "age": 70,
            "median_diff": 138901.9274231412,
            "p10_diff": 91984.89033431374,
            "p90_diff": 202295.6531931694,
            "mean_diff": 143948.12303070677,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 6,
            "age": 71,
            "median_diff": 126206.38994847448,
            "p10_diff": 77150.3270785276,
            "p90_diff": 196071.18729272042,
            "mean_diff": 132650.29473697126,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 7,
            "age": 72,
            "median_diff": 113843.8899270274,
            "p10_diff": 62017.00767395919,
            "p90_diff": 190585.92108784267,
            "mean_diff": 121286.79810077106,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 8,
            "age": 73,
            "median_diff": 100919.31173568696,
            "p10_diff": 47213.98878400377,
            "p90_diff": 183074.57758004055,
            "mean_diff": 109843.8485563132,
            "share_b_higher": 0.999,
            "share_a_higher": 0.001
          },
          {
            "year": 9,
            "age": 74,
            "median_diff": 88543.78819819726,
            "p10_diff": 32336.43133864354,
            "p90_diff": 176901.67562373308,
            "mean_diff": 98308.79829037945,
            "share_b_higher": 0.9904,
            "share_a_higher": 0.0096
          },
          {
            "year": 10,
            "age": 75,
            "median_diff": 76051.92119343404,
            "p10_diff": 17472.844725764124,
            "p90_diff": 170378.2119006716,
            "mean_diff": 86700.25606814609,
            "share_b_higher": 0.9658,
            "share_a_higher": 0.0342
          },
          {
            "year": 11,
            "age": 76,
            "median_diff": 63253.44200529455,
            "p10_diff": 2976.4210212006583,
            "p90_diff": 160875.41566892725,
            "mean_diff": 75024.26394917892,
            "share_b_higher": 0.9116,
            "share_a_higher": 0.0873
          },
          {
            "year": 12,
            "age": 77,
            "median_diff": 50564.46684618667,
            "p10_diff": -10517.099995850207,
            "p90_diff": 152786.5736333779,
            "mean_diff": 63500.06916772288,
            "share_b_higher": 0.8405,
            "share_a_higher": 0.1548
          },
          {
            "year": 13,
            "age": 78,
            "median_diff": 37526.0710428296,
            "p10_diff": -21937.926964670158,
            "p90_diff": 144100.2800637415,
            "mean_diff": 52511.551006313435,
            "share_b_higher": 0.7495,
            "share_a_higher": 0.2357
          },
          {
            "year": 14,
            "age": 79,
            "median_diff": 24550.717110159283,
            "p10_diff": -30804.843158640462,
            "p90_diff": 137768.62518601434,
            "mean_diff": 42291.935647112245,
            "share_b_higher": 0.6563,
            "share_a_higher": 0.3106
          },
          {
            "year": 15,
            "age": 80,
            "median_diff": 11530.401661564072,
            "p10_diff": -38343.34360872862,
            "p90_diff": 129031.39951701672,
            "mean_diff": 33228.08660177872,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.3664
          },
          {
            "year": 16,
            "age": 81,
            "median_diff": 11754.407199586509,
            "p10_diff": -32934.110425394494,
            "p90_diff": 133895.4080240731,
            "mean_diff": 36960.63162357322,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.3262
          },
          {
            "year": 17,
            "age": 82,
            "median_diff": 12279.98104825546,
            "p10_diff": -26618.83711115006,
            "p90_diff": 140466.29898995243,
            "mean_diff": 40760.38517562934,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.2804
          },
          {
            "year": 18,
            "age": 83,
            "median_diff": 12588.228695329482,
            "p10_diff": -20051.96257146902,
            "p90_diff": 145391.57305910985,
            "mean_diff": 44275.82428163492,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.2286
          },
          {
            "year": 19,
            "age": 84,
            "median_diff": 12767.64137475763,
            "p10_diff": -11986.405161583476,
            "p90_diff": 151017.52419635165,
            "mean_diff": 47796.45829919592,
            "share_b_higher": 0.5698,
            "share_a_higher": 0.171
          },
          {
            "year": 20,
            "age": 85,
            "median_diff": 13008.247382452653,
            "p10_diff": -3927.6274339012307,
            "p90_diff": 158537.50229111873,
            "mean_diff": 51048.99038494151,
            "share_b_higher": 0.566,
            "share_a_higher": 0.121
          },
          {
            "year": 21,
            "age": 86,
            "median_diff": 13381.170371013315,
            "p10_diff": 0,
            "p90_diff": 164906.3228530544,
            "mean_diff": 53928.24946933277,
            "share_b_higher": 0.5556,
            "share_a_higher": 0.0791
          },
          {
            "year": 22,
            "age": 87,
            "median_diff": 11859.405216797632,
            "p10_diff": 0,
            "p90_diff": 170769.13428886922,
            "mean_diff": 56497.35326819602,
            "share_b_higher": 0.5384,
            "share_a_higher": 0.0487
          },
          {
            "year": 23,
            "age": 88,
            "median_diff": 6339.4661897824735,
            "p10_diff": 0,
            "p90_diff": 177838.89017652476,
            "mean_diff": 58741.31280813093,
            "share_b_higher": 0.5124,
            "share_a_higher": 0.0293
          },
          {
            "year": 24,
            "age": 89,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 186009.13127437467,
            "mean_diff": 60675.646757676004,
            "share_b_higher": 0.4827,
            "share_a_higher": 0.0183
          },
          {
            "year": 25,
            "age": 90,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 192094.99240939168,
            "mean_diff": 62234.791602285324,
            "share_b_higher": 0.4554,
            "share_a_higher": 0.0108
          },
          {
            "year": 26,
            "age": 91,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 199578.75501903263,
            "mean_diff": 63917.66062171825,
            "share_b_higher": 0.4307,
            "share_a_higher": 0.0081
          },
          {
            "year": 27,
            "age": 92,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 209444.06283841305,
            "mean_diff": 65141.43588143859,
            "share_b_higher": 0.4005,
            "share_a_higher": 0.0055
          },
          {
            "year": 28,
            "age": 93,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 216498.34280594683,
            "mean_diff": 66469.13479266173,
            "share_b_higher": 0.3742,
            "share_a_higher": 0.0034
          },
          {
            "year": 29,
            "age": 94,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 225661.58792663633,
            "mean_diff": 67647.38305968833,
            "share_b_higher": 0.3527,
            "share_a_higher": 0.002
          },
          {
            "year": 30,
            "age": 95,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 232616.38778698898,
            "mean_diff": 68594.55970135918,
            "share_b_higher": 0.3321,
            "share_a_higher": 0.0016
          }
        ]
      },
      "breakeven": {
        "id": "s50000_r5p5",
        "spend": 50000,
        "rate": 0.055,
        "portfolio_expected_nominal_base": 0.060450000000000004,
        "portfolio_expected_real_base": 0.03458536585365857,
        "reference_shift": -0.0054500000000000035,
        "reference_nominal": 0.055,
        "reference_real": 0.029268292682926855,
        "sign_test": null,
        "mean_diff": null,
        "success": null,
        "refinements": [],
        "points": [
          {
            "shift": -0.04,
            "refinement": false,
            "success_a": 0.0108,
            "success_b": 0.0153,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 1894.8827598124265,
            "share_b_higher": 0.0153,
            "share_a_higher": 0,
            "sign": 0.0153,
            "success_diff": 0.0045
          },
          {
            "shift": -0.03,
            "refinement": false,
            "success_a": 0.032,
            "success_b": 0.0434,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 5525.404336074209,
            "share_b_higher": 0.0433,
            "share_a_higher": 0.0001,
            "sign": 0.0432,
            "success_diff": 0.0114
          },
          {
            "shift": -0.02,
            "refinement": false,
            "success_a": 0.0792,
            "success_b": 0.1005,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 14527.9163116306,
            "share_b_higher": 0.1003,
            "share_a_higher": 0.0002,
            "sign": 0.1001,
            "success_diff": 0.0213
          },
          {
            "shift": -0.01,
            "refinement": false,
            "success_a": 0.1647,
            "success_b": 0.1939,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 33382.725088297666,
            "share_b_higher": 0.1937,
            "share_a_higher": 0.0002,
            "sign": 0.1935,
            "success_diff": 0.0292
          },
          {
            "shift": 0,
            "refinement": false,
            "success_a": 0.2956,
            "success_b": 0.3336,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 68594.55970135918,
            "share_b_higher": 0.3321,
            "share_a_higher": 0.0016,
            "sign": 0.3305,
            "success_diff": 0.038
          },
          {
            "shift": 0.01,
            "refinement": false,
            "success_a": 0.4566,
            "success_b": 0.4888,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 126738.90795389164,
            "share_b_higher": 0.4854,
            "share_a_higher": 0.0038,
            "sign": 0.4816,
            "success_diff": 0.0322
          },
          {
            "shift": 0.02,
            "refinement": false,
            "success_a": 0.6205,
            "success_b": 0.6483,
            "median_a": 299316.84648207726,
            "median_b": 436467.63767289324,
            "median_diff": 134676.34797250165,
            "mean_diff": 216893.67258446917,
            "share_b_higher": 0.645,
            "share_a_higher": 0.0045,
            "sign": 0.6405,
            "success_diff": 0.0278
          },
          {
            "shift": 0.03,
            "refinement": false,
            "success_a": 0.7676,
            "success_b": 0.7861,
            "median_a": 865677.8145148243,
            "median_b": 1111589.9398675943,
            "median_diff": 242910.79200471542,
            "mean_diff": 350005.7259622349,
            "share_b_higher": 0.7794,
            "share_a_higher": 0.0081,
            "sign": 0.7713,
            "success_diff": 0.0185
          }
        ]
      }
    },
    {
      "mortgage_rate": 0.065,
      "base_spending_annual_real": 50000,
      "loan": {
        "rate": 0.065,
        "monthly_payment": 1742.2147305947308,
        "annual_payment": 20906.57676713677,
        "final_balance": -4.031790012959391e-9,
        "total_interest": 113598.65150704834,
        "total_paid": 313598.65150705155,
        "balance_by_year": {
          "1": 191853.56786007012,
          "2": 183161.55407251607,
          "3": 173887.42002397787,
          "4": 163992.18004248926,
          "5": 153434.23751343068,
          "6": 142169.2100198646,
          "7": 130149.74277219483,
          "8": 117325.30954286492,
          "9": 103642.0002692838,
          "10": 89042.29443212738,
          "11": 73464.81925636425,
          "12": 56844.09171855661,
          "13": 39110.2432759123,
          "14": 20188.72615993167,
          "15": -4.031790012959391e-9
        }
      },
      "withdrawal_rate_pay_off": 0.0625,
      "year1_withdrawal_rate_keep": 0.07090657676713677,
      "pay_off": {
        "savings_at_65": 800000,
        "success_rate": 0.2956,
        "success_ci95": [
          0.28673614990101,
          0.304620834399901
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 0,
          "p25": 0,
          "p50": 0,
          "p75": 100447.92135383708,
          "p90": 690747.0449509806,
          "p95": 1195332.8478219935,
          "mean": 207951.60480071596
        }
      },
      "keep": {
        "savings_at_65": 1000000,
        "success_rate": 0.3157,
        "success_ci95": [
          0.30666228447325744,
          0.3248792625260472
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 0,
          "p25": 0,
          "p50": 0,
          "p75": 165666.47060152167,
          "p90": 873143.0719899157,
          "p95": 1453300.8698840493,
          "mean": 259123.815195784
        }
      },
      "paired": {
        "median_diff": 0,
        "p10_diff": 0,
        "p25_diff": 0,
        "p75_diff": 56186.7106620414,
        "p90_diff": 181137.52310009883,
        "mean_diff": 51172.21039506818,
        "share_b_higher": 0.3056,
        "share_a_higher": 0.0117,
        "share_tied": 0.6827,
        "b_survives_a_fails": 217,
        "a_survives_b_fails": 16,
        "both_fail": 6827,
        "by_year": [
          {
            "year": 1,
            "age": 66,
            "median_diff": 186235.80119178945,
            "p10_diff": 162321.59330243338,
            "p90_diff": 213651.5187944842,
            "mean_diff": 187514.55447275983,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 2,
            "age": 67,
            "median_diff": 172712.8481675028,
            "p10_diff": 141174.84616730537,
            "p90_diff": 212420.9037181969,
            "mean_diff": 174990.57409091722,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 3,
            "age": 68,
            "median_diff": 158561.0402327911,
            "p10_diff": 121868.85029513831,
            "p90_diff": 208365.7412872219,
            "mean_diff": 162449.074872415,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 4,
            "age": 69,
            "median_diff": 145445.44608207897,
            "p10_diff": 103362.34080757655,
            "p90_diff": 201623.1237288221,
            "mean_diff": 149835.1996753393,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 5,
            "age": 70,
            "median_diff": 132031.02899124182,
            "p10_diff": 86207.46218819916,
            "p90_diff": 194720.47765479132,
            "mean_diff": 137174.37380512836,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 6,
            "age": 71,
            "median_diff": 118179.70343618502,
            "p10_diff": 70280.96521204442,
            "p90_diff": 186671.16517042764,
            "mean_diff": 124436.3134426549,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 7,
            "age": 72,
            "median_diff": 104229.59588150901,
            "p10_diff": 53409.970115033735,
            "p90_diff": 179425.7422472306,
            "mean_diff": 111599.3916198652,
            "share_b_higher": 0.9996,
            "share_a_higher": 0.0004
          },
          {
            "year": 8,
            "age": 73,
            "median_diff": 90105.35760122293,
            "p10_diff": 37815.76681857783,
            "p90_diff": 170319.3968365105,
            "mean_diff": 98650.05029661758,
            "share_b_higher": 0.9961,
            "share_a_higher": 0.0039
          },
          {
            "year": 9,
            "age": 74,
            "median_diff": 76132.75943728874,
            "p10_diff": 21615.44256523723,
            "p90_diff": 161598.70043155178,
            "mean_diff": 85570.35643384325,
            "share_b_higher": 0.9763,
            "share_a_higher": 0.0237
          },
          {
            "year": 10,
            "age": 75,
            "median_diff": 61929.201627017115,
            "p10_diff": 5517.980239689874,
            "p90_diff": 153620.87438857905,
            "mean_diff": 72386.83389147492,
            "share_b_higher": 0.924,
            "share_a_higher": 0.076
          },
          {
            "year": 11,
            "age": 76,
            "median_diff": 47656.42418800929,
            "p10_diff": -10333.693007234397,
            "p90_diff": 141983.82106345496,
            "mean_diff": 59125.98757001927,
            "share_b_higher": 0.8423,
            "share_a_higher": 0.1566
          },
          {
            "year": 12,
            "age": 77,
            "median_diff": 33777.73580345971,
            "p10_diff": -24855.690443461994,
            "p90_diff": 132901.77400827443,
            "mean_diff": 46078.35174753087,
            "share_b_higher": 0.7368,
            "share_a_higher": 0.2585
          },
          {
            "year": 13,
            "age": 78,
            "median_diff": 19084.133896098647,
            "p10_diff": -37547.217949541286,
            "p90_diff": 121929.86248938006,
            "mean_diff": 33705.32164737283,
            "share_b_higher": 0.6302,
            "share_a_higher": 0.355
          },
          {
            "year": 14,
            "age": 79,
            "median_diff": 4592.105648963712,
            "p10_diff": -47097.43829460317,
            "p90_diff": 112052.63359896955,
            "mean_diff": 22373.56043776049,
            "share_b_higher": 0.5302,
            "share_a_higher": 0.4367
          },
          {
            "year": 15,
            "age": 80,
            "median_diff": 0,
            "p10_diff": -56425.690326327174,
            "p90_diff": 101415.45051813056,
            "mean_diff": 12482.622430596286,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.4946
          },
          {
            "year": 16,
            "age": 81,
            "median_diff": 0,
            "p10_diff": -52212.42856524243,
            "p90_diff": 104703.22352898307,
            "mean_diff": 16156.859743633899,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.4544
          },
          {
            "year": 17,
            "age": 82,
            "median_diff": 0,
            "p10_diff": -47131.4939126059,
            "p90_diff": 109868.91513277288,
            "mean_diff": 19960.181102461367,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.4086
          },
          {
            "year": 18,
            "age": 83,
            "median_diff": 0,
            "p10_diff": -40922.8965537118,
            "p90_diff": 114162.01983797748,
            "mean_diff": 23668.724018066838,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.3568
          },
          {
            "year": 19,
            "age": 84,
            "median_diff": 0,
            "p10_diff": -34402.15022106316,
            "p90_diff": 118313.253871085,
            "mean_diff": 27421.98895062681,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.2988
          },
          {
            "year": 20,
            "age": 85,
            "median_diff": 0,
            "p10_diff": -26799.65481621318,
            "p90_diff": 123703.83156616334,
            "mean_diff": 30980.376777343183,
            "share_b_higher": 0.4415,
            "share_a_higher": 0.2447
          },
          {
            "year": 21,
            "age": 86,
            "median_diff": 0,
            "p10_diff": -19003.26835159738,
            "p90_diff": 128890.38640897325,
            "mean_diff": 34215.59395656688,
            "share_b_higher": 0.4409,
            "share_a_higher": 0.1916
          },
          {
            "year": 22,
            "age": 87,
            "median_diff": 0,
            "p10_diff": -10545.57278827003,
            "p90_diff": 134077.2283299067,
            "mean_diff": 37124.06472403029,
            "share_b_higher": 0.4364,
            "share_a_higher": 0.1431
          },
          {
            "year": 23,
            "age": 88,
            "median_diff": 0,
            "p10_diff": -1508.6674731748594,
            "p90_diff": 139872.61371541547,
            "mean_diff": 39693.16825683143,
            "share_b_higher": 0.4278,
            "share_a_higher": 0.1045
          },
          {
            "year": 24,
            "age": 89,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 144326.78153692954,
            "mean_diff": 41923.96926621806,
            "share_b_higher": 0.4152,
            "share_a_higher": 0.0757
          },
          {
            "year": 25,
            "age": 90,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 150700.34186181752,
            "mean_diff": 43737.076686566594,
            "share_b_higher": 0.3993,
            "share_a_higher": 0.0557
          },
          {
            "year": 26,
            "age": 91,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 155819.9009298022,
            "mean_diff": 45651.78000945722,
            "share_b_higher": 0.3821,
            "share_a_higher": 0.0405
          },
          {
            "year": 27,
            "age": 92,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 162617.31762637873,
            "mean_diff": 47238.144676233336,
            "share_b_higher": 0.3619,
            "share_a_higher": 0.0283
          },
          {
            "year": 28,
            "age": 93,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 168111.95163796772,
            "mean_diff": 48747.525834639535,
            "share_b_higher": 0.3434,
            "share_a_higher": 0.0204
          },
          {
            "year": 29,
            "age": 94,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 175132.12349309865,
            "mean_diff": 50053.38496323191,
            "share_b_higher": 0.3261,
            "share_a_higher": 0.0147
          },
          {
            "year": 30,
            "age": 95,
            "median_diff": 0,
            "p10_diff": 0,
            "p90_diff": 181137.52310009883,
            "mean_diff": 51172.21039506818,
            "share_b_higher": 0.3056,
            "share_a_higher": 0.0117
          }
        ]
      },
      "breakeven": {
        "id": "s50000_r6p5",
        "spend": 50000,
        "rate": 0.065,
        "portfolio_expected_nominal_base": 0.060450000000000004,
        "portfolio_expected_real_base": 0.03458536585365857,
        "reference_shift": 0.0045499999999999985,
        "reference_nominal": 0.065,
        "reference_real": 0.039024390243902474,
        "sign_test": null,
        "mean_diff": null,
        "success": null,
        "refinements": [],
        "points": [
          {
            "shift": -0.04,
            "refinement": false,
            "success_a": 0.0108,
            "success_b": 0.0137,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 1428.7826297988076,
            "share_b_higher": 0.0134,
            "share_a_higher": 0.0003,
            "sign": 0.0131,
            "success_diff": 0.0029
          },
          {
            "shift": -0.03,
            "refinement": false,
            "success_a": 0.032,
            "success_b": 0.039,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 4033.1730965250767,
            "share_b_higher": 0.0381,
            "share_a_higher": 0.0011,
            "sign": 0.037,
            "success_diff": 0.007
          },
          {
            "shift": -0.02,
            "refinement": false,
            "success_a": 0.0792,
            "success_b": 0.092,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 10615.805593307745,
            "share_b_higher": 0.0901,
            "share_a_higher": 0.0025,
            "sign": 0.0876,
            "success_diff": 0.0128
          },
          {
            "shift": -0.01,
            "refinement": false,
            "success_a": 0.1647,
            "success_b": 0.1812,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 24717.92651544205,
            "share_b_higher": 0.1774,
            "share_a_higher": 0.0047,
            "sign": 0.1727,
            "success_diff": 0.0165
          },
          {
            "shift": 0,
            "refinement": false,
            "success_a": 0.2956,
            "success_b": 0.3157,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 51172.21039506818,
            "share_b_higher": 0.3056,
            "share_a_higher": 0.0117,
            "sign": 0.2939,
            "success_diff": 0.0201
          },
          {
            "shift": 0.01,
            "refinement": false,
            "success_a": 0.4566,
            "success_b": 0.4697,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 96563.98297832155,
            "share_b_higher": 0.4518,
            "share_a_higher": 0.0213,
            "sign": 0.4305,
            "success_diff": 0.0131
          },
          {
            "shift": 0.02,
            "refinement": false,
            "success_a": 0.6205,
            "success_b": 0.632,
            "median_a": 299316.84648207726,
            "median_b": 378453.30426303355,
            "median_diff": 76580.61230657969,
            "mean_diff": 169121.95211289864,
            "share_b_higher": 0.6023,
            "share_a_higher": 0.0345,
            "sign": 0.5678,
            "success_diff": 0.0115
          },
          {
            "shift": 0.03,
            "refinement": false,
            "success_a": 0.7676,
            "success_b": 0.7701,
            "median_a": 865677.8145148243,
            "median_b": 1038053.3855537432,
            "median_diff": 170780.95526767388,
            "mean_diff": 280532.05121239956,
            "share_b_higher": 0.7367,
            "share_a_higher": 0.04,
            "sign": 0.6967,
            "success_diff": 0.0025
          }
        ]
      }
    },
    {
      "mortgage_rate": 0.04,
      "base_spending_annual_real": 40000,
      "loan": {
        "rate": 0.04,
        "monthly_payment": 1479.3758512185157,
        "annual_payment": 17752.510214622187,
        "final_balance": 7.725702744210139e-9,
        "total_interest": 66287.65321933957,
        "total_paid": 266287.6532193328,
        "balance_by_year": {
          "1": 190066.69216288225,
          "2": 179728.68603818305,
          "3": 168969.4935932494,
          "4": 157771.9550475382,
          "5": 146118.21150457097,
          "6": 133989.67646887165,
          "7": 121367.00620246114,
          "8": 108230.06887362925,
          "9": 94557.91244878015,
          "10": 80328.73127614197,
          "11": 65519.83130804531,
          "12": 50107.59390630356,
          "13": 34067.43817296876,
          "14": 17373.781746384204,
          "15": 7.725702744210139e-9
        }
      },
      "withdrawal_rate_pay_off": 0.05,
      "year1_withdrawal_rate_keep": 0.05775251021462219,
      "pay_off": {
        "savings_at_65": 800000,
        "success_rate": 0.6171,
        "success_ci95": [
          0.6075293088062178,
          0.6265807554714892
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 0,
          "p25": 0,
          "p50": 179783.36833285706,
          "p75": 722123.2120006835,
          "p90": 1433809.6953167235,
          "p95": 2024576.8925251646,
          "mean": 512052.3829468601
        }
      },
      "keep": {
        "savings_at_65": 1000000,
        "success_rate": 0.6391,
        "success_ci95": [
          0.629635112764921,
          0.6484580549637643
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 0,
          "p25": 0,
          "p50": 249274.04680516716,
          "p75": 887646.402274393,
          "p90": 1743731.4871349314,
          "p95": 2432035.001391678,
          "mean": 630041.604092667
        }
      },
      "paired": {
        "median_diff": 67236.28733338609,
        "p10_diff": 0,
        "p25_diff": 0,
        "p75_diff": 174060.25815894862,
        "p90_diff": 309130.2312151906,
        "mean_diff": 117989.22114580552,
        "share_b_higher": 0.6275,
        "share_a_higher": 0.0136,
        "share_tied": 0.3589,
        "b_survives_a_fails": 240,
        "a_survives_b_fails": 20,
        "both_fail": 3589,
        "by_year": [
          {
            "year": 1,
            "age": 66,
            "median_diff": 189407.59556704678,
            "p10_diff": 165322.2488439862,
            "p90_diff": 216977.35164119455,
            "mean_diff": 190687.14144040624,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 2,
            "age": 67,
            "median_diff": 179097.42040036747,
            "p10_diff": 147064.8356371281,
            "p90_diff": 219424.7607339546,
            "mean_diff": 181392.91513406808,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 3,
            "age": 68,
            "median_diff": 168145.1906216857,
            "p10_diff": 130474.50726211898,
            "p90_diff": 219120.99406048795,
            "mean_diff": 172142.63609721258,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 4,
            "age": 69,
            "median_diff": 158351.11287256947,
            "p10_diff": 115008.62186502095,
            "p90_diff": 216359.3034107444,
            "mean_diff": 162885.83960491398,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 5,
            "age": 70,
            "median_diff": 148663.50518204283,
            "p10_diff": 100492.08037374192,
            "p90_diff": 213575.23976150935,
            "mean_diff": 153652.30582949368,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 6,
            "age": 71,
            "median_diff": 137875.46202526207,
            "p10_diff": 87274.65403840848,
            "p90_diff": 209750.80595123838,
            "mean_diff": 144417.77731292343,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 7,
            "age": 72,
            "median_diff": 127338.01600610372,
            "p10_diff": 73897.17987808603,
            "p90_diff": 206897.0935211731,
            "mean_diff": 135165.13345187475,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 8,
            "age": 73,
            "median_diff": 116692.17376154533,
            "p10_diff": 60892.77552712872,
            "p90_diff": 201736.5309062933,
            "mean_diff": 125880.26515624147,
            "share_b_higher": 0.9999,
            "share_a_higher": 0.0001
          },
          {
            "year": 9,
            "age": 74,
            "median_diff": 106066.04302903451,
            "p10_diff": 47643.5782075249,
            "p90_diff": 198039.7420774938,
            "mean_diff": 116558.09631292018,
            "share_b_higher": 0.9987,
            "share_a_higher": 0.0013
          },
          {
            "year": 10,
            "age": 75,
            "median_diff": 96215.75231813476,
            "p10_diff": 35070.95370779693,
            "p90_diff": 193905.47404499608,
            "mean_diff": 107205.65043147455,
            "share_b_higher": 0.9913,
            "share_a_higher": 0.0087
          },
          {
            "year": 11,
            "age": 76,
            "median_diff": 85609.2881662409,
            "p10_diff": 22211.343782011245,
            "p90_diff": 187211.6280535173,
            "mean_diff": 97767.7397719927,
            "share_b_higher": 0.9728,
            "share_a_higher": 0.0272
          },
          {
            "year": 12,
            "age": 77,
            "median_diff": 74975.79802637757,
            "p10_diff": 9389.462279746716,
            "p90_diff": 182915.06776180887,
            "mean_diff": 88291.73986641881,
            "share_b_higher": 0.9354,
            "share_a_higher": 0.0646
          },
          {
            "year": 13,
            "age": 78,
            "median_diff": 64201.67297476367,
            "p10_diff": -3386.870581425843,
            "p90_diff": 177562.66434462415,
            "mean_diff": 78865.49739820744,
            "share_b_higher": 0.8847,
            "share_a_higher": 0.1148
          },
          {
            "year": 14,
            "age": 79,
            "median_diff": 53514.45596220752,
            "p10_diff": -15935.989247705555,
            "p90_diff": 174296.22552800807,
            "mean_diff": 69410.38561542933,
            "share_b_higher": 0.8206,
            "share_a_higher": 0.1779
          },
          {
            "year": 15,
            "age": 80,
            "median_diff": 42707.29214653594,
            "p10_diff": -27676.166563207993,
            "p90_diff": 168591.45583276427,
            "mean_diff": 60136.84320919384,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.2413
          },
          {
            "year": 16,
            "age": 81,
            "median_diff": 44201.60636004817,
            "p10_diff": -26836.494929032837,
            "p90_diff": 175106.18449085625,
            "mean_diff": 63212.55833981789,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.2353
          },
          {
            "year": 17,
            "age": 82,
            "median_diff": 46031.730014457775,
            "p10_diff": -24609.027015655018,
            "p90_diff": 183455.24941946007,
            "mean_diff": 66559.99635100966,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.2261
          },
          {
            "year": 18,
            "age": 83,
            "median_diff": 46974.44205024163,
            "p10_diff": -21333.777192737136,
            "p90_diff": 190163.4461029314,
            "mean_diff": 70037.03934704272,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.2094
          },
          {
            "year": 19,
            "age": 84,
            "median_diff": 48618.19274365163,
            "p10_diff": -17997.831563203814,
            "p90_diff": 197777.21063360688,
            "mean_diff": 73771.69270992203,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.1903
          },
          {
            "year": 20,
            "age": 85,
            "median_diff": 49984.92638567975,
            "p10_diff": -13726.737978236517,
            "p90_diff": 207849.276191541,
            "mean_diff": 77778.67460224184,
            "share_b_higher": 0.7541,
            "share_a_higher": 0.1691
          },
          {
            "year": 21,
            "age": 86,
            "median_diff": 51496.072651594994,
            "p10_diff": -8824.14207357273,
            "p90_diff": 216252.09842862585,
            "mean_diff": 81816.34018362947,
            "share_b_higher": 0.7537,
            "share_a_higher": 0.1425
          },
          {
            "year": 22,
            "age": 87,
            "median_diff": 53393.25661019632,
            "p10_diff": -3983.984578510979,
            "p90_diff": 223975.81340183667,
            "mean_diff": 85967.83293345981,
            "share_b_higher": 0.752,
            "share_a_higher": 0.1192
          },
          {
            "year": 23,
            "age": 88,
            "median_diff": 55145.21781179687,
            "p10_diff": 0,
            "p90_diff": 234548.91756449617,
            "mean_diff": 90069.61838702284,
            "share_b_higher": 0.7464,
            "share_a_higher": 0.0941
          },
          {
            "year": 24,
            "age": 89,
            "median_diff": 57189.75815813686,
            "p10_diff": 0,
            "p90_diff": 244147.6025387873,
            "mean_diff": 94242.74435897854,
            "share_b_higher": 0.7368,
            "share_a_higher": 0.0725
          },
          {
            "year": 25,
            "age": 90,
            "median_diff": 59101.46300376189,
            "p10_diff": 0,
            "p90_diff": 254674.08986690827,
            "mean_diff": 98077.94413499595,
            "share_b_higher": 0.7236,
            "share_a_higher": 0.0564
          },
          {
            "year": 26,
            "age": 91,
            "median_diff": 61237.40774780451,
            "p10_diff": 0,
            "p90_diff": 265578.6382441509,
            "mean_diff": 102290.15262358423,
            "share_b_higher": 0.7069,
            "share_a_higher": 0.04
          },
          {
            "year": 27,
            "age": 92,
            "median_diff": 62985.937769990065,
            "p10_diff": 0,
            "p90_diff": 276903.4316826167,
            "mean_diff": 106288.32575456967,
            "share_b_higher": 0.6894,
            "share_a_higher": 0.0309
          },
          {
            "year": 28,
            "age": 93,
            "median_diff": 64415.08373475337,
            "p10_diff": 0,
            "p90_diff": 287218.65524175856,
            "mean_diff": 110285.2891571404,
            "share_b_higher": 0.6692,
            "share_a_higher": 0.023
          },
          {
            "year": 29,
            "age": 94,
            "median_diff": 66318.15507521431,
            "p10_diff": 0,
            "p90_diff": 300018.3300513418,
            "mean_diff": 114123.03815218406,
            "share_b_higher": 0.6472,
            "share_a_higher": 0.0175
          },
          {
            "year": 30,
            "age": 95,
            "median_diff": 67236.28733338609,
            "p10_diff": 0,
            "p90_diff": 309130.2312151906,
            "mean_diff": 117989.22114580552,
            "share_b_higher": 0.6275,
            "share_a_higher": 0.0136
          }
        ]
      },
      "breakeven": {
        "id": "s40000_r4p0",
        "spend": 40000,
        "rate": 0.04,
        "portfolio_expected_nominal_base": 0.060450000000000004,
        "portfolio_expected_real_base": 0.03458536585365857,
        "reference_shift": -0.020450000000000003,
        "reference_nominal": 0.04,
        "reference_real": 0.014634146341463428,
        "sign_test": null,
        "mean_diff": null,
        "success": null,
        "refinements": [],
        "points": [
          {
            "shift": -0.04,
            "refinement": false,
            "success_a": 0.0665,
            "success_b": 0.0804,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 6693.154363395454,
            "share_b_higher": 0.08,
            "share_a_higher": 0.0006,
            "sign": 0.0794,
            "success_diff": 0.0139
          },
          {
            "shift": -0.03,
            "refinement": false,
            "success_a": 0.1487,
            "success_b": 0.1695,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 16423.04991368305,
            "share_b_higher": 0.1689,
            "share_a_higher": 0.0011,
            "sign": 0.1678,
            "success_diff": 0.0208
          },
          {
            "shift": -0.02,
            "refinement": false,
            "success_a": 0.2755,
            "success_b": 0.306,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 34946.19622915182,
            "share_b_higher": 0.3021,
            "share_a_higher": 0.0048,
            "sign": 0.2973,
            "success_diff": 0.0305
          },
          {
            "shift": -0.01,
            "refinement": false,
            "success_a": 0.4446,
            "success_b": 0.4718,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 67252.569241698,
            "share_b_higher": 0.4633,
            "share_a_higher": 0.0101,
            "sign": 0.4532,
            "success_diff": 0.0272
          },
          {
            "shift": 0,
            "refinement": false,
            "success_a": 0.6171,
            "success_b": 0.6391,
            "median_a": 179783.36833285706,
            "median_b": 249274.04680516716,
            "median_diff": 67236.28733338609,
            "mean_diff": 117989.22114580552,
            "share_b_higher": 0.6275,
            "share_a_higher": 0.0136,
            "sign": 0.6139,
            "success_diff": 0.022
          },
          {
            "shift": 0.01,
            "refinement": false,
            "success_a": 0.7736,
            "success_b": 0.7864,
            "median_a": 542461.2953192504,
            "median_b": 674727.7890768483,
            "median_diff": 130911.46335752704,
            "mean_diff": 194649.75657381886,
            "share_b_higher": 0.7701,
            "share_a_higher": 0.0195,
            "sign": 0.7506,
            "success_diff": 0.0128
          },
          {
            "shift": 0.02,
            "refinement": false,
            "success_a": 0.8844,
            "success_b": 0.8881,
            "median_a": 1062217.58994144,
            "median_b": 1280077.1965708437,
            "median_diff": 220712.3664353512,
            "mean_diff": 305610.52477204136,
            "share_b_higher": 0.8683,
            "share_a_higher": 0.0228,
            "sign": 0.8455,
            "success_diff": 0.0037
          },
          {
            "shift": 0.03,
            "refinement": false,
            "success_a": 0.9448,
            "success_b": 0.947,
            "median_a": 1790389.0098882364,
            "median_b": 2140177.313719597,
            "median_diff": 349757.54387543956,
            "mean_diff": 463568.920973071,
            "share_b_higher": 0.9322,
            "share_a_higher": 0.0169,
            "sign": 0.9153,
            "success_diff": 0.0022
          }
        ]
      }
    },
    {
      "mortgage_rate": 0.055,
      "base_spending_annual_real": 40000,
      "loan": {
        "rate": 0.055,
        "monthly_payment": 1634.1669092422671,
        "annual_payment": 19610.002910907206,
        "final_balance": 3.1466242944588885e-9,
        "total_interest": 94150.0436636113,
        "total_paid": 294150.0436636081,
        "balance_by_year": {
          "1": 191169.6028705908,
          "2": 181841.10193275707,
          "3": 171986.40021641564,
          "4": 161575.81586151774,
          "5": 150577.99271779688,
          "6": 138959.80590164027,
          "7": 126686.26202562479,
          "8": 113720.39380021532,
          "9": 100023.14869016965,
          "10": 85553.27129029008,
          "11": 70267.17906624232,
          "12": 54118.831086180035,
          "13": 37059.58934780137,
          "14": 19038.072283161142,
          "15": 3.1466242944588885e-9
        }
      },
      "withdrawal_rate_pay_off": 0.05,
      "year1_withdrawal_rate_keep": 0.059610002910907206,
      "pay_off": {
        "savings_at_65": 800000,
        "success_rate": 0.6171,
        "success_ci95": [
          0.6075293088062178,
          0.6265807554714892
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 0,
          "p25": 0,
          "p50": 179783.36833285706,
          "p75": 722123.2120006835,
          "p90": 1433809.6953167235,
          "p95": 2024576.8925251646,
          "mean": 512052.3829468601
        }
      },
      "keep": {
        "savings_at_65": 1000000,
        "success_rate": 0.6082,
        "success_ci95": [
          0.5985924099369426,
          0.6177244897628686
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 0,
          "p25": 0,
          "p50": 194004.62630918148,
          "p75": 825675.9158603296,
          "p90": 1653356.5456319617,
          "p95": 2340930.4250830915,
          "mean": 586902.4152818265
        }
      },
      "paired": {
        "median_diff": 11865.4870801199,
        "p10_diff": 0,
        "p25_diff": 0,
        "p75_diff": 110010.90472906115,
        "p90_diff": 233199.66828710353,
        "mean_diff": 74850.03233496593,
        "share_b_higher": 0.527,
        "share_a_higher": 0.0956,
        "share_tied": 0.3774,
        "b_survives_a_fails": 55,
        "a_survives_b_fails": 144,
        "both_fail": 3774,
        "by_year": [
          {
            "year": 1,
            "age": 66,
            "median_diff": 187542.05527017429,
            "p10_diff": 163551.19580072444,
            "p90_diff": 215016.8842524842,
            "mean_diff": 188818.74170228696,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 2,
            "age": 67,
            "median_diff": 175343.946536251,
            "p10_diff": 143598.40712494194,
            "p90_diff": 215284.47091986774,
            "mean_diff": 177622.44880789076,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 3,
            "age": 68,
            "median_diff": 162514.13282776612,
            "p10_diff": 125406.46424629982,
            "p90_diff": 212831.38043902372,
            "mean_diff": 166433.90456721417,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 4,
            "age": 69,
            "median_diff": 150772.59967466863,
            "p10_diff": 108101.88408549468,
            "p90_diff": 207571.883435708,
            "mean_diff": 155200.05747336522,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 5,
            "age": 70,
            "median_diff": 138901.92742314213,
            "p10_diff": 91984.89033431304,
            "p90_diff": 202295.6531931694,
            "mean_diff": 143948.12303070683,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 6,
            "age": 71,
            "median_diff": 126206.38994847506,
            "p10_diff": 77150.32707852707,
            "p90_diff": 196071.18729271903,
            "mean_diff": 132650.2947369713,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 7,
            "age": 72,
            "median_diff": 113843.88992702798,
            "p10_diff": 62017.007673959015,
            "p90_diff": 190585.92108784313,
            "mean_diff": 121286.79810077116,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 8,
            "age": 73,
            "median_diff": 100919.31173568778,
            "p10_diff": 47213.98878400447,
            "p90_diff": 183074.57758004428,
            "mean_diff": 109843.84855631318,
            "share_b_higher": 0.999,
            "share_a_higher": 0.001
          },
          {
            "year": 9,
            "age": 74,
            "median_diff": 88543.78819819889,
            "p10_diff": 32336.431338643888,
            "p90_diff": 176901.67562373448,
            "mean_diff": 98308.79829037946,
            "share_b_higher": 0.9904,
            "share_a_higher": 0.0096
          },
          {
            "year": 10,
            "age": 75,
            "median_diff": 76051.92119343334,
            "p10_diff": 17472.84472576395,
            "p90_diff": 170378.21190067613,
            "mean_diff": 86685.93640216105,
            "share_b_higher": 0.9658,
            "share_a_higher": 0.0342
          },
          {
            "year": 11,
            "age": 76,
            "median_diff": 63253.442005295656,
            "p10_diff": 2976.42102119996,
            "p90_diff": 160875.41566892643,
            "mean_diff": 74921.5225872053,
            "share_b_higher": 0.9116,
            "share_a_higher": 0.0884
          },
          {
            "year": 12,
            "age": 77,
            "median_diff": 50564.466846186435,
            "p10_diff": -11875.176603316213,
            "p90_diff": 152786.5736333758,
            "mean_diff": 63067.6728704044,
            "share_b_higher": 0.8405,
            "share_a_higher": 0.1595
          },
          {
            "year": 13,
            "age": 78,
            "median_diff": 37526.07104283001,
            "p10_diff": -26535.58488394972,
            "p90_diff": 144100.28006374207,
            "mean_diff": 51231.83218044705,
            "share_b_higher": 0.7495,
            "share_a_higher": 0.25
          },
          {
            "year": 14,
            "age": 79,
            "median_diff": 24550.71711015975,
            "p10_diff": -40985.018840090896,
            "p90_diff": 137768.62518601655,
            "mean_diff": 39375.53914589382,
            "share_b_higher": 0.6563,
            "share_a_higher": 0.3422
          },
          {
            "year": 15,
            "age": 80,
            "median_diff": 11530.401661562617,
            "p10_diff": -54542.733034385106,
            "p90_diff": 129031.39951701812,
            "mean_diff": 27762.056029718882,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.4254
          },
          {
            "year": 16,
            "age": 81,
            "median_diff": 11754.40719958709,
            "p10_diff": -53867.83592193641,
            "p90_diff": 133895.4080240724,
            "mean_diff": 29781.250625650293,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.4194
          },
          {
            "year": 17,
            "age": 82,
            "median_diff": 12279.981048256508,
            "p10_diff": -52007.79958671605,
            "p90_diff": 140466.29898995208,
            "mean_diff": 32104.40621485687,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.4102
          },
          {
            "year": 18,
            "age": 83,
            "median_diff": 12588.22869532922,
            "p10_diff": -50729.15863565348,
            "p90_diff": 145391.573059113,
            "mean_diff": 34641.60676590676,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.3935
          },
          {
            "year": 19,
            "age": 84,
            "median_diff": 12767.64137475728,
            "p10_diff": -48698.56219969815,
            "p90_diff": 151017.52419635258,
            "mean_diff": 37462.88086500102,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.3744
          },
          {
            "year": 20,
            "age": 85,
            "median_diff": 13009.007373257424,
            "p10_diff": -46510.208002439904,
            "p90_diff": 158537.50229112175,
            "mean_diff": 40688.3733410484,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.3531
          },
          {
            "year": 21,
            "age": 86,
            "median_diff": 13685.274762148736,
            "p10_diff": -43846.21106745105,
            "p90_diff": 164906.3228530537,
            "mean_diff": 43935.56819256789,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.326
          },
          {
            "year": 22,
            "age": 87,
            "median_diff": 14224.090666187869,
            "p10_diff": -40270.092841342914,
            "p90_diff": 170769.13428886817,
            "mean_diff": 47342.59272226782,
            "share_b_higher": 0.57,
            "share_a_higher": 0.3
          },
          {
            "year": 23,
            "age": 88,
            "median_diff": 14734.190215740295,
            "p10_diff": -36313.79325023036,
            "p90_diff": 177838.89017652464,
            "mean_diff": 50827.89267568711,
            "share_b_higher": 0.5697,
            "share_a_higher": 0.2692
          },
          {
            "year": 24,
            "age": 89,
            "median_diff": 15163.663309778203,
            "p10_diff": -32451.997627894823,
            "p90_diff": 186009.13127437,
            "mean_diff": 54417.407172163774,
            "share_b_higher": 0.5688,
            "share_a_higher": 0.2372
          },
          {
            "year": 25,
            "age": 90,
            "median_diff": 15590.55756571106,
            "p10_diff": -27496.03509011042,
            "p90_diff": 192094.99240939156,
            "mean_diff": 57734.62579982619,
            "share_b_higher": 0.5665,
            "share_a_higher": 0.2076
          },
          {
            "year": 26,
            "age": 91,
            "median_diff": 16043.656490833382,
            "p10_diff": -22153.968130719615,
            "p90_diff": 199578.75501903356,
            "mean_diff": 61331.297852587035,
            "share_b_higher": 0.5629,
            "share_a_higher": 0.1772
          },
          {
            "year": 27,
            "age": 92,
            "median_diff": 16153.425046111224,
            "p10_diff": -16809.919072161283,
            "p90_diff": 209444.06283840374,
            "mean_diff": 64801.15371835792,
            "share_b_higher": 0.5576,
            "share_a_higher": 0.1525
          },
          {
            "year": 28,
            "age": 93,
            "median_diff": 15680.31071142044,
            "p10_diff": -10612.22739548079,
            "p90_diff": 216498.3428059495,
            "mean_diff": 68238.1839593185,
            "share_b_higher": 0.5485,
            "share_a_higher": 0.1301
          },
          {
            "year": 29,
            "age": 94,
            "median_diff": 14673.016548397634,
            "p10_diff": -4142.236141270027,
            "p90_diff": 225661.58792664087,
            "mean_diff": 71547.66353122493,
            "share_b_higher": 0.5399,
            "share_a_higher": 0.1103
          },
          {
            "year": 30,
            "age": 95,
            "median_diff": 11865.4870801199,
            "p10_diff": 0,
            "p90_diff": 233199.66828710353,
            "mean_diff": 74850.03233496593,
            "share_b_higher": 0.527,
            "share_a_higher": 0.0956
          }
        ]
      },
      "breakeven": {
        "id": "s40000_r5p5",
        "spend": 40000,
        "rate": 0.055,
        "portfolio_expected_nominal_base": 0.060450000000000004,
        "portfolio_expected_real_base": 0.03458536585365857,
        "reference_shift": -0.0054500000000000035,
        "reference_nominal": 0.055,
        "reference_real": 0.029268292682926855,
        "sign_test": null,
        "mean_diff": null,
        "success": {
          "shift": -0.013636363636363637,
          "bracket": [
            -0.02,
            -0.01
          ],
          "exact": false,
          "rising": false,
          "closest_shift": -0.01,
          "closest_value": -0.0024,
          "portfolio_expected_nominal": 0.04681363636363636,
          "portfolio_expected_real": 0.0212815964523283
        },
        "refinements": [],
        "points": [
          {
            "shift": -0.04,
            "refinement": false,
            "success_a": 0.0665,
            "success_b": 0.0712,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 3733.7531418500917,
            "share_b_higher": 0.064,
            "share_a_higher": 0.0088,
            "sign": 0.0552,
            "success_diff": 0.0047
          },
          {
            "shift": -0.03,
            "refinement": false,
            "success_a": 0.1487,
            "success_b": 0.1529,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 9395.987223988337,
            "share_b_higher": 0.1392,
            "share_a_higher": 0.018,
            "sign": 0.1212,
            "success_diff": 0.0042
          },
          {
            "shift": -0.02,
            "refinement": false,
            "success_a": 0.2755,
            "success_b": 0.2797,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 20163.98560265909,
            "share_b_higher": 0.2453,
            "share_a_higher": 0.0412,
            "sign": 0.2041,
            "success_diff": 0.0042
          },
          {
            "shift": -0.01,
            "refinement": false,
            "success_a": 0.4446,
            "success_b": 0.4422,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 40471.22026639254,
            "share_b_higher": 0.3855,
            "share_a_higher": 0.0689,
            "sign": 0.3166,
            "success_diff": -0.0024
          },
          {
            "shift": 0,
            "refinement": false,
            "success_a": 0.6171,
            "success_b": 0.6082,
            "median_a": 179783.36833285706,
            "median_b": 194004.62630918148,
            "median_diff": 11865.4870801199,
            "mean_diff": 74850.03233496593,
            "share_b_higher": 0.527,
            "share_a_higher": 0.0956,
            "sign": 0.4314,
            "success_diff": -0.0089
          },
          {
            "shift": 0.01,
            "refinement": false,
            "success_a": 0.7736,
            "success_b": 0.7622,
            "median_a": 542461.2953192504,
            "median_b": 608606.226228229,
            "median_diff": 65665.18236540507,
            "mean_diff": 130880.00797660903,
            "share_b_higher": 0.6658,
            "share_a_higher": 0.1122,
            "sign": 0.5536,
            "success_diff": -0.0114
          },
          {
            "shift": 0.02,
            "refinement": false,
            "success_a": 0.8844,
            "success_b": 0.8723,
            "median_a": 1062217.58994144,
            "median_b": 1198088.5511710532,
            "median_diff": 137317.32311081968,
            "mean_diff": 218073.6816513648,
            "share_b_higher": 0.7813,
            "share_a_higher": 0.1049,
            "sign": 0.6764,
            "success_diff": -0.0121
          },
          {
            "shift": 0.03,
            "refinement": false,
            "success_a": 0.9448,
            "success_b": 0.9373,
            "median_a": 1790389.0098882364,
            "median_b": 2036642.3654799934,
            "median_diff": 242910.7920047131,
            "mean_diff": 348925.95287926943,
            "share_b_higher": 0.86,
            "share_a_higher": 0.0854,
            "sign": 0.7746,
            "success_diff": -0.0075
          }
        ]
      }
    },
    {
      "mortgage_rate": 0.065,
      "base_spending_annual_real": 40000,
      "loan": {
        "rate": 0.065,
        "monthly_payment": 1742.2147305947308,
        "annual_payment": 20906.57676713677,
        "final_balance": -4.031790012959391e-9,
        "total_interest": 113598.65150704834,
        "total_paid": 313598.65150705155,
        "balance_by_year": {
          "1": 191853.56786007012,
          "2": 183161.55407251607,
          "3": 173887.42002397787,
          "4": 163992.18004248926,
          "5": 153434.23751343068,
          "6": 142169.2100198646,
          "7": 130149.74277219483,
          "8": 117325.30954286492,
          "9": 103642.0002692838,
          "10": 89042.29443212738,
          "11": 73464.81925636425,
          "12": 56844.09171855661,
          "13": 39110.2432759123,
          "14": 20188.72615993167,
          "15": -4.031790012959391e-9
        }
      },
      "withdrawal_rate_pay_off": 0.05,
      "year1_withdrawal_rate_keep": 0.06090657676713677,
      "pay_off": {
        "savings_at_65": 800000,
        "success_rate": 0.6171,
        "success_ci95": [
          0.6075293088062178,
          0.6265807554714892
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 0,
          "p25": 0,
          "p50": 179783.36833285706,
          "p75": 722123.2120006835,
          "p90": 1433809.6953167235,
          "p95": 2024576.8925251646,
          "mean": 512052.3829468601
        }
      },
      "keep": {
        "savings_at_65": 1000000,
        "success_rate": 0.5883,
        "success_ci95": [
          0.5786219138604298,
          0.5979102695359966
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 0,
          "p25": 0,
          "p50": 157191.54618569932,
          "p75": 775659.750434914,
          "p90": 1600382.9635264853,
          "p95": 2262670.1501423963,
          "mean": 557821.4103854742
        }
      },
      "paired": {
        "median_diff": 0,
        "p10_diff": -35359.17324818107,
        "p25_diff": 0,
        "p75_diff": 67635.00218266645,
        "p90_diff": 181137.52310010185,
        "mean_diff": 45769.02743861345,
        "share_b_higher": 0.4283,
        "share_a_higher": 0.1906,
        "share_tied": 0.3811,
        "b_survives_a_fails": 18,
        "a_survives_b_fails": 306,
        "both_fail": 3811,
        "by_year": [
          {
            "year": 1,
            "age": 66,
            "median_diff": 186235.8011917892,
            "p10_diff": 162321.59330243303,
            "p90_diff": 213651.51879448397,
            "mean_diff": 187514.55447275992,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 2,
            "age": 67,
            "median_diff": 172712.8481675021,
            "p10_diff": 141174.84616730572,
            "p90_diff": 212420.90371819725,
            "mean_diff": 174990.57409091725,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 3,
            "age": 68,
            "median_diff": 158561.04023279145,
            "p10_diff": 121868.8502951382,
            "p90_diff": 208365.74128722167,
            "mean_diff": 162449.0748724149,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 4,
            "age": 69,
            "median_diff": 145445.44608207943,
            "p10_diff": 103362.34080757608,
            "p90_diff": 201623.12372882,
            "mean_diff": 149835.1996753393,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 5,
            "age": 70,
            "median_diff": 132031.02899124194,
            "p10_diff": 86207.46218819963,
            "p90_diff": 194720.47765479202,
            "mean_diff": 137174.3738051283,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 6,
            "age": 71,
            "median_diff": 118179.70343618526,
            "p10_diff": 70280.96521204413,
            "p90_diff": 186671.16517042776,
            "mean_diff": 124436.31344265485,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 7,
            "age": 72,
            "median_diff": 104229.59588150773,
            "p10_diff": 53409.97011503368,
            "p90_diff": 179425.7422472306,
            "mean_diff": 111599.3916198652,
            "share_b_higher": 0.9996,
            "share_a_higher": 0.0004
          },
          {
            "year": 8,
            "age": 73,
            "median_diff": 90105.35760122305,
            "p10_diff": 37815.766818577715,
            "p90_diff": 170319.3968365097,
            "mean_diff": 98650.0502966176,
            "share_b_higher": 0.9961,
            "share_a_higher": 0.0039
          },
          {
            "year": 9,
            "age": 74,
            "median_diff": 76132.75943728874,
            "p10_diff": 21615.442565236997,
            "p90_diff": 161598.70043155376,
            "mean_diff": 85570.35643384312,
            "share_b_higher": 0.9763,
            "share_a_higher": 0.0237
          },
          {
            "year": 10,
            "age": 75,
            "median_diff": 61929.201627017814,
            "p10_diff": 5517.980239690631,
            "p90_diff": 153620.874388583,
            "mean_diff": 72362.6904475866,
            "share_b_higher": 0.924,
            "share_a_higher": 0.076
          },
          {
            "year": 11,
            "age": 76,
            "median_diff": 47656.42418800946,
            "p10_diff": -10687.879607441602,
            "p90_diff": 141983.8210634559,
            "mean_diff": 58975.34046228211,
            "share_b_higher": 0.8423,
            "share_a_higher": 0.1577
          },
          {
            "year": 12,
            "age": 77,
            "median_diff": 33777.735803460004,
            "p10_diff": -26852.87600424944,
            "p90_diff": 132901.77400827478,
            "mean_diff": 45464.50876172413,
            "share_b_higher": 0.7368,
            "share_a_higher": 0.2632
          },
          {
            "year": 13,
            "age": 78,
            "median_diff": 19084.13389609882,
            "p10_diff": -42926.61407896722,
            "p90_diff": 121929.86248937901,
            "mean_diff": 31962.663728298186,
            "share_b_higher": 0.6302,
            "share_a_higher": 0.3693
          },
          {
            "year": 14,
            "age": 79,
            "median_diff": 4592.1056489632465,
            "p10_diff": -58624.82868952706,
            "p90_diff": 112052.63359897071,
            "mean_diff": 18456.050585595785,
            "share_b_higher": 0.5302,
            "share_a_higher": 0.4683
          },
          {
            "year": 15,
            "age": 80,
            "median_diff": -9037.570863204543,
            "p10_diff": -73355.31767559299,
            "p90_diff": 101415.45051812753,
            "mean_diff": 5280.951411495902,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5536
          },
          {
            "year": 16,
            "age": 81,
            "median_diff": -8314.993072049925,
            "p10_diff": -73097.93208936782,
            "p90_diff": 104703.22352898365,
            "mean_diff": 6579.234802722442,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5476
          },
          {
            "year": 17,
            "age": 82,
            "median_diff": -6716.6296458995785,
            "p10_diff": -73404.90674602376,
            "p90_diff": 109868.9151327738,
            "mean_diff": 8257.279147709547,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5384
          },
          {
            "year": 18,
            "age": 83,
            "median_diff": -3912.7587796223816,
            "p10_diff": -73099.59493541362,
            "p90_diff": 114162.01983797736,
            "mean_diff": 10178.949359182196,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5217
          },
          {
            "year": 19,
            "age": 84,
            "median_diff": -825.7906896735076,
            "p10_diff": -72572.06021814537,
            "p90_diff": 118313.25387108442,
            "mean_diff": 12462.224974274503,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5026
          },
          {
            "year": 20,
            "age": 85,
            "median_diff": 0,
            "p10_diff": -71267.07025245216,
            "p90_diff": 123703.83156616241,
            "mean_diff": 15172.56367951906,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.4813
          },
          {
            "year": 21,
            "age": 86,
            "median_diff": 0,
            "p10_diff": -69633.72697055282,
            "p90_diff": 128890.38640897605,
            "mean_diff": 17951.599209990894,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.4542
          },
          {
            "year": 22,
            "age": 87,
            "median_diff": 0,
            "p10_diff": -67216.30611484929,
            "p90_diff": 134077.2283299074,
            "mean_diff": 20920.772380802355,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.4281
          },
          {
            "year": 23,
            "age": 88,
            "median_diff": 0,
            "p10_diff": -65290.8048039523,
            "p90_diff": 139872.61371541792,
            "mean_diff": 24056.99646528223,
            "share_b_higher": 0.4418,
            "share_a_higher": 0.397
          },
          {
            "year": 24,
            "age": 89,
            "median_diff": 0,
            "p10_diff": -62097.538056179794,
            "p90_diff": 144326.78153692954,
            "mean_diff": 27307.212347913086,
            "share_b_higher": 0.4416,
            "share_a_higher": 0.3641
          },
          {
            "year": 25,
            "age": 90,
            "median_diff": 0,
            "p10_diff": -57889.35121536897,
            "p90_diff": 150700.34186181566,
            "mean_diff": 30272.77815474077,
            "share_b_higher": 0.4414,
            "share_a_higher": 0.332
          },
          {
            "year": 26,
            "age": 91,
            "median_diff": 0,
            "p10_diff": -54297.78874448215,
            "p90_diff": 155819.900929807,
            "mean_diff": 33509.96387052703,
            "share_b_higher": 0.4407,
            "share_a_higher": 0.2986
          },
          {
            "year": 27,
            "age": 92,
            "median_diff": 0,
            "p10_diff": -49668.5673011349,
            "p90_diff": 162617.31762637664,
            "mean_diff": 36671.8902216366,
            "share_b_higher": 0.4394,
            "share_a_higher": 0.2683
          },
          {
            "year": 28,
            "age": 93,
            "median_diff": 0,
            "p10_diff": -45631.503374975,
            "p90_diff": 168111.951637964,
            "mean_diff": 39760.214734084904,
            "share_b_higher": 0.4363,
            "share_a_higher": 0.2401
          },
          {
            "year": 29,
            "age": 94,
            "median_diff": 0,
            "p10_diff": -41937.31110750124,
            "p90_diff": 175132.123493094,
            "mean_diff": 42739.35242019223,
            "share_b_higher": 0.4328,
            "share_a_higher": 0.2131
          },
          {
            "year": 30,
            "age": 95,
            "median_diff": 0,
            "p10_diff": -35359.17324818107,
            "p90_diff": 181137.52310010185,
            "mean_diff": 45769.02743861345,
            "share_b_higher": 0.4283,
            "share_a_higher": 0.1906
          }
        ]
      },
      "breakeven": {
        "id": "s40000_r6p5",
        "spend": 40000,
        "rate": 0.065,
        "portfolio_expected_nominal_base": 0.060450000000000004,
        "portfolio_expected_real_base": 0.03458536585365857,
        "reference_shift": 0.0045499999999999985,
        "reference_nominal": 0.065,
        "reference_real": 0.039024390243902474,
        "sign_test": null,
        "mean_diff": null,
        "success": null,
        "refinements": [],
        "points": [
          {
            "shift": -0.04,
            "refinement": false,
            "success_a": 0.0665,
            "success_b": 0.064,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 1869.609602397244,
            "share_b_higher": 0.0465,
            "share_a_higher": 0.0225,
            "sign": 0.024,
            "success_diff": -0.0025
          },
          {
            "shift": -0.03,
            "refinement": false,
            "success_a": 0.1487,
            "success_b": 0.1417,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 4890.510719208793,
            "share_b_higher": 0.1062,
            "share_a_higher": 0.0459,
            "sign": 0.0603,
            "success_diff": -0.007
          },
          {
            "shift": -0.02,
            "refinement": false,
            "success_a": 0.2755,
            "success_b": 0.2614,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 10542.833866095223,
            "share_b_higher": 0.1881,
            "share_a_higher": 0.0919,
            "sign": 0.0962,
            "success_diff": -0.0141
          },
          {
            "shift": -0.01,
            "refinement": false,
            "success_a": 0.4446,
            "success_b": 0.4231,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 22647.103131305867,
            "share_b_higher": 0.302,
            "share_a_higher": 0.1471,
            "sign": 0.1549,
            "success_diff": -0.0215
          },
          {
            "shift": 0,
            "refinement": false,
            "success_a": 0.6171,
            "success_b": 0.5883,
            "median_a": 179783.36833285706,
            "median_b": 157191.54618569932,
            "median_diff": 0,
            "mean_diff": 45769.02743861345,
            "share_b_higher": 0.4283,
            "share_a_higher": 0.1906,
            "sign": 0.2377,
            "success_diff": -0.0288
          },
          {
            "shift": 0.01,
            "refinement": false,
            "success_a": 0.7736,
            "success_b": 0.7434,
            "median_a": 542461.2953192504,
            "median_b": 562417.5207127677,
            "median_diff": 21451.778683185577,
            "mean_diff": 87413.51972624056,
            "share_b_higher": 0.5562,
            "share_a_higher": 0.2184,
            "sign": 0.3378,
            "success_diff": -0.0302
          },
          {
            "shift": 0.02,
            "refinement": false,
            "success_a": 0.8844,
            "success_b": 0.8588,
            "median_a": 1062217.58994144,
            "median_b": 1138327.45875802,
            "median_diff": 80566.02606349136,
            "mean_diff": 157713.86875540207,
            "share_b_higher": 0.6747,
            "share_a_higher": 0.2104,
            "sign": 0.4643,
            "success_diff": -0.0256
          },
          {
            "shift": 0.03,
            "refinement": false,
            "success_a": 0.9448,
            "success_b": 0.9306,
            "median_a": 1790389.0098882364,
            "median_b": 1955266.651589529,
            "median_diff": 170780.9552676722,
            "mean_diff": 269384.78975995205,
            "share_b_higher": 0.7784,
            "share_a_higher": 0.1665,
            "sign": 0.6119,
            "success_diff": -0.0142
          }
        ]
      }
    },
    {
      "mortgage_rate": 0.04,
      "base_spending_annual_real": 30000,
      "loan": {
        "rate": 0.04,
        "monthly_payment": 1479.3758512185157,
        "annual_payment": 17752.510214622187,
        "final_balance": 7.725702744210139e-9,
        "total_interest": 66287.65321933957,
        "total_paid": 266287.6532193328,
        "balance_by_year": {
          "1": 190066.69216288225,
          "2": 179728.68603818305,
          "3": 168969.4935932494,
          "4": 157771.9550475382,
          "5": 146118.21150457097,
          "6": 133989.67646887165,
          "7": 121367.00620246114,
          "8": 108230.06887362925,
          "9": 94557.91244878015,
          "10": 80328.73127614197,
          "11": 65519.83130804531,
          "12": 50107.59390630356,
          "13": 34067.43817296876,
          "14": 17373.781746384204,
          "15": 7.725702744210139e-9
        }
      },
      "withdrawal_rate_pay_off": 0.0375,
      "year1_withdrawal_rate_keep": 0.04775251021462219,
      "pay_off": {
        "savings_at_65": 800000,
        "success_rate": 0.9113,
        "success_ci95": [
          0.9055684067680502,
          0.916715704567739
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 24816.529253471854,
          "p25": 296118.245498399,
          "p50": 726350.3872767086,
          "p75": 1372413.318110327,
          "p90": 2229642.1292088754,
          "p95": 2906703.805181255,
          "mean": 1000477.6834457809
        }
      },
      "keep": {
        "savings_at_65": 1000000,
        "success_rate": 0.8964,
        "success_ci95": [
          0.8902740622081046,
          0.902221492699522
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 0,
          "p25": 302930.36854832014,
          "p50": 792275.4638216174,
          "p75": 1532590.448524052,
          "p90": 2517439.9847667185,
          "p95": 3305398.1860533087,
          "mean": 1115679.5868879224
        }
      },
      "paired": {
        "median_diff": 69053.8762604415,
        "p10_diff": -20901.91519531718,
        "p25_diff": 9.607145859827142,
        "p75_diff": 174060.25815894688,
        "p90_diff": 309130.2312152032,
        "mean_diff": 115201.90344213606,
        "share_b_higher": 0.7501,
        "share_a_higher": 0.1616,
        "share_tied": 0.0883,
        "b_survives_a_fails": 4,
        "a_survives_b_fails": 153,
        "both_fail": 883,
        "by_year": [
          {
            "year": 1,
            "age": 66,
            "median_diff": 189407.59556704713,
            "p10_diff": 165322.2488439862,
            "p90_diff": 216977.3516411942,
            "mean_diff": 190687.1414404063,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 2,
            "age": 67,
            "median_diff": 179097.42040036677,
            "p10_diff": 147064.8356371289,
            "p90_diff": 219424.76073395426,
            "mean_diff": 181392.9151340681,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 3,
            "age": 68,
            "median_diff": 168145.19062168605,
            "p10_diff": 130474.50726211898,
            "p90_diff": 219120.9940604868,
            "mean_diff": 172142.63609721247,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 4,
            "age": 69,
            "median_diff": 158351.11287256877,
            "p10_diff": 115008.62186502106,
            "p90_diff": 216359.30341074616,
            "mean_diff": 162885.83960491398,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 5,
            "age": 70,
            "median_diff": 148663.50518204272,
            "p10_diff": 100492.08037374169,
            "p90_diff": 213575.23976150947,
            "mean_diff": 153652.30582949362,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 6,
            "age": 71,
            "median_diff": 137875.4620252623,
            "p10_diff": 87274.65403840877,
            "p90_diff": 209750.80595123675,
            "mean_diff": 144417.7773129234,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 7,
            "age": 72,
            "median_diff": 127338.01600610383,
            "p10_diff": 73897.17987808544,
            "p90_diff": 206897.0935211759,
            "mean_diff": 135165.13345187486,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 8,
            "age": 73,
            "median_diff": 116692.17376154463,
            "p10_diff": 60892.77552712965,
            "p90_diff": 201736.53090629447,
            "mean_diff": 125880.26515624135,
            "share_b_higher": 0.9999,
            "share_a_higher": 0.0001
          },
          {
            "year": 9,
            "age": 74,
            "median_diff": 106066.0430290337,
            "p10_diff": 47643.57820752467,
            "p90_diff": 198039.74207749474,
            "mean_diff": 116558.09631292021,
            "share_b_higher": 0.9987,
            "share_a_higher": 0.0013
          },
          {
            "year": 10,
            "age": 75,
            "median_diff": 96215.75231813453,
            "p10_diff": 35070.9537077978,
            "p90_diff": 193905.47404499515,
            "mean_diff": 107205.65043147471,
            "share_b_higher": 0.9913,
            "share_a_higher": 0.0087
          },
          {
            "year": 11,
            "age": 76,
            "median_diff": 85609.28816624184,
            "p10_diff": 22211.343782011187,
            "p90_diff": 187211.62805351568,
            "mean_diff": 97767.7397719929,
            "share_b_higher": 0.9728,
            "share_a_higher": 0.0272
          },
          {
            "year": 12,
            "age": 77,
            "median_diff": 74975.79802637745,
            "p10_diff": 9389.462279745785,
            "p90_diff": 182915.067761807,
            "mean_diff": 88280.82951850256,
            "share_b_higher": 0.9354,
            "share_a_higher": 0.0646
          },
          {
            "year": 13,
            "age": 78,
            "median_diff": 64201.67297476402,
            "p10_diff": -3441.255347995553,
            "p90_diff": 177562.66434462462,
            "mean_diff": 78795.71307994,
            "share_b_higher": 0.8847,
            "share_a_higher": 0.1153
          },
          {
            "year": 14,
            "age": 79,
            "median_diff": 53514.455962206586,
            "p10_diff": -16359.772312228917,
            "p90_diff": 174296.22552800644,
            "mean_diff": 69151.80035466656,
            "share_b_higher": 0.8206,
            "share_a_higher": 0.1794
          },
          {
            "year": 15,
            "age": 80,
            "median_diff": 42707.292146537686,
            "p10_diff": -29685.008039176522,
            "p90_diff": 168591.45583276125,
            "mean_diff": 59435.93000566112,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.2458
          },
          {
            "year": 16,
            "age": 81,
            "median_diff": 44201.60636004736,
            "p10_diff": -30626.274592419155,
            "p90_diff": 175106.18449085532,
            "mean_diff": 61993.98343899387,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.2458
          },
          {
            "year": 17,
            "age": 82,
            "median_diff": 46031.730014459,
            "p10_diff": -31777.687740004912,
            "p90_diff": 183455.24941946194,
            "mean_diff": 64631.52958379753,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.2454
          },
          {
            "year": 18,
            "age": 83,
            "median_diff": 46974.442050240585,
            "p10_diff": -32506.13576843732,
            "p90_diff": 190163.4461029349,
            "mean_diff": 67281.88777145585,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.2451
          },
          {
            "year": 19,
            "age": 84,
            "median_diff": 48618.19274365122,
            "p10_diff": -33657.619112575776,
            "p90_diff": 197777.21063360595,
            "mean_diff": 70190.01740910129,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.2439
          },
          {
            "year": 20,
            "age": 85,
            "median_diff": 49984.926385679864,
            "p10_diff": -34146.008113819174,
            "p90_diff": 207849.2761915319,
            "mean_diff": 73396.42043398732,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.2419
          },
          {
            "year": 21,
            "age": 86,
            "median_diff": 51496.07265159325,
            "p10_diff": -34214.032006294874,
            "p90_diff": 216252.09842862305,
            "mean_diff": 76632.02429955528,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.239
          },
          {
            "year": 22,
            "age": 87,
            "median_diff": 53393.256610196084,
            "p10_diff": -34230.3460464403,
            "p90_diff": 223975.81340183015,
            "mean_diff": 80231.44650755833,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.2352
          },
          {
            "year": 23,
            "age": 88,
            "median_diff": 55145.21781179565,
            "p10_diff": -32631.896915298625,
            "p90_diff": 234548.91756449756,
            "mean_diff": 83951.87206037797,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.2302
          },
          {
            "year": 24,
            "age": 89,
            "median_diff": 57189.75815813569,
            "p10_diff": -31345.380495017773,
            "p90_diff": 244147.60253878497,
            "mean_diff": 87980.42731016624,
            "share_b_higher": 0.7542,
            "share_a_higher": 0.2221
          },
          {
            "year": 25,
            "age": 90,
            "median_diff": 59101.46300377278,
            "p10_diff": -29855.196103580223,
            "p90_diff": 254674.08986691246,
            "mean_diff": 91895.18728841972,
            "share_b_higher": 0.7541,
            "share_a_higher": 0.2139
          },
          {
            "year": 26,
            "age": 91,
            "median_diff": 61300.706422680756,
            "p10_diff": -28592.48224694442,
            "p90_diff": 265578.6382441472,
            "mean_diff": 96387.63656808117,
            "share_b_higher": 0.7538,
            "share_a_higher": 0.2037
          },
          {
            "year": 27,
            "age": 92,
            "median_diff": 63008.83209808578,
            "p10_diff": -26066.075334418507,
            "p90_diff": 276903.43168261065,
            "mean_diff": 100829.60104517745,
            "share_b_higher": 0.7536,
            "share_a_higher": 0.1924
          },
          {
            "year": 28,
            "age": 93,
            "median_diff": 64749.771448438056,
            "p10_diff": -24464.473024055595,
            "p90_diff": 287218.65524176275,
            "mean_diff": 105513.36547438812,
            "share_b_higher": 0.7529,
            "share_a_higher": 0.1807
          },
          {
            "year": 29,
            "age": 94,
            "median_diff": 67520.22463149932,
            "p10_diff": -23097.233429036627,
            "p90_diff": 300018.33005135274,
            "mean_diff": 110252.92410603625,
            "share_b_higher": 0.752,
            "share_a_higher": 0.1707
          },
          {
            "year": 30,
            "age": 95,
            "median_diff": 69053.8762604415,
            "p10_diff": -20901.91519531718,
            "p90_diff": 309130.2312152032,
            "mean_diff": 115201.90344213606,
            "share_b_higher": 0.7501,
            "share_a_higher": 0.1616
          }
        ]
      },
      "breakeven": {
        "id": "s30000_r4p0",
        "spend": 30000,
        "rate": 0.04,
        "portfolio_expected_nominal_base": 0.060450000000000004,
        "portfolio_expected_real_base": 0.03458536585365857,
        "reference_shift": -0.020450000000000003,
        "reference_nominal": 0.04,
        "reference_real": 0.014634146341463428,
        "sign_test": null,
        "mean_diff": null,
        "success": null,
        "refinements": [],
        "points": [
          {
            "shift": -0.04,
            "refinement": false,
            "success_a": 0.2991,
            "success_b": 0.29,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 8485.250708067584,
            "share_b_higher": 0.2194,
            "share_a_higher": 0.0857,
            "sign": 0.1337,
            "success_diff": -0.0091
          },
          {
            "shift": -0.03,
            "refinement": false,
            "success_a": 0.4777,
            "success_b": 0.464,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 18018.233423904076,
            "share_b_higher": 0.3565,
            "share_a_higher": 0.1278,
            "sign": 0.2287,
            "success_diff": -0.0137
          },
          {
            "shift": -0.02,
            "refinement": false,
            "success_a": 0.6594,
            "success_b": 0.6375,
            "median_a": 149307.083254221,
            "median_b": 147792.2158130283,
            "median_diff": 0,
            "mean_diff": 35619.173155833625,
            "share_b_higher": 0.4941,
            "share_a_higher": 0.1685,
            "sign": 0.3256,
            "success_diff": -0.0219
          },
          {
            "shift": -0.01,
            "refinement": false,
            "success_a": 0.8129,
            "success_b": 0.7937,
            "median_a": 384231.8561649852,
            "median_b": 413908.40308853163,
            "median_diff": 29017.307870717064,
            "mean_diff": 65722.95404883592,
            "share_b_higher": 0.6317,
            "share_a_higher": 0.1835,
            "sign": 0.4482,
            "success_diff": -0.0192
          },
          {
            "shift": 0,
            "refinement": false,
            "success_a": 0.9113,
            "success_b": 0.8964,
            "median_a": 726350.3872767086,
            "median_b": 792275.4638216174,
            "median_diff": 69053.8762604415,
            "mean_diff": 115201.90344213606,
            "share_b_higher": 0.7501,
            "share_a_higher": 0.1616,
            "sign": 0.5885,
            "success_diff": -0.0149
          },
          {
            "shift": 0.01,
            "refinement": false,
            "success_a": 0.965,
            "success_b": 0.9542,
            "median_a": 1201971.7250666756,
            "median_b": 1326678.04482699,
            "median_diff": 130911.46335752716,
            "mean_diff": 191341.3132416193,
            "share_b_higher": 0.8381,
            "share_a_higher": 0.127,
            "sign": 0.7111,
            "success_diff": -0.0108
          },
          {
            "shift": 0.02,
            "refinement": false,
            "success_a": 0.9893,
            "success_b": 0.9851,
            "median_a": 1845593.612753254,
            "median_b": 2064252.0874919635,
            "median_diff": 220712.36643535062,
            "mean_diff": 302736.40732994233,
            "share_b_higher": 0.9021,
            "share_a_higher": 0.0872,
            "sign": 0.8149,
            "success_diff": -0.0042
          },
          {
            "shift": 0.03,
            "refinement": false,
            "success_a": 0.9975,
            "success_b": 0.9955,
            "median_a": 2722101.378432225,
            "median_b": 3069136.4019425157,
            "median_diff": 349757.543875454,
            "mean_diff": 461639.9974125991,
            "share_b_higher": 0.9459,
            "share_a_higher": 0.0516,
            "sign": 0.8943,
            "success_diff": -0.002
          }
        ]
      }
    },
    {
      "mortgage_rate": 0.055,
      "base_spending_annual_real": 30000,
      "loan": {
        "rate": 0.055,
        "monthly_payment": 1634.1669092422671,
        "annual_payment": 19610.002910907206,
        "final_balance": 3.1466242944588885e-9,
        "total_interest": 94150.0436636113,
        "total_paid": 294150.0436636081,
        "balance_by_year": {
          "1": 191169.6028705908,
          "2": 181841.10193275707,
          "3": 171986.40021641564,
          "4": 161575.81586151774,
          "5": 150577.99271779688,
          "6": 138959.80590164027,
          "7": 126686.26202562479,
          "8": 113720.39380021532,
          "9": 100023.14869016965,
          "10": 85553.27129029008,
          "11": 70267.17906624232,
          "12": 54118.831086180035,
          "13": 37059.58934780137,
          "14": 19038.072283161142,
          "15": 3.1466242944588885e-9
        }
      },
      "withdrawal_rate_pay_off": 0.0375,
      "year1_withdrawal_rate_keep": 0.049610002910907204,
      "pay_off": {
        "savings_at_65": 800000,
        "success_rate": 0.9113,
        "success_ci95": [
          0.9055684067680502,
          0.916715704567739
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 24816.529253471854,
          "p25": 296118.245498399,
          "p50": 726350.3872767086,
          "p75": 1372413.318110327,
          "p90": 2229642.1292088754,
          "p95": 2906703.805181255,
          "mean": 1000477.6834457809
        }
      },
      "keep": {
        "savings_at_65": 1000000,
        "success_rate": 0.8809,
        "success_ci95": [
          0.87440470317985,
          0.8871027561145877
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 0,
          "p25": 256798.9250100534,
          "p50": 736317.701983812,
          "p75": 1460582.0012935526,
          "p90": 2431250.679355538,
          "p95": 3187411.754320262,
          "mean": 1059124.8023620455
        }
      },
      "paired": {
        "median_diff": 18852.7746620673,
        "p10_diff": -74315.002502669,
        "p25_diff": -22556.033909962105,
        "p75_diff": 110010.90472906025,
        "p90_diff": 233199.66828710004,
        "mean_diff": 58647.11891626126,
        "share_b_higher": 0.5695,
        "share_a_higher": 0.3419,
        "share_tied": 0.0886,
        "b_survives_a_fails": 1,
        "a_survives_b_fails": 305,
        "both_fail": 886,
        "by_year": [
          {
            "year": 1,
            "age": 66,
            "median_diff": 187542.05527017417,
            "p10_diff": 163551.19580072444,
            "p90_diff": 215016.8842524842,
            "mean_diff": 188818.74170228685,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 2,
            "age": 67,
            "median_diff": 175343.946536251,
            "p10_diff": 143598.40712494229,
            "p90_diff": 215284.47091986763,
            "mean_diff": 177622.4488078908,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 3,
            "age": 68,
            "median_diff": 162514.132827766,
            "p10_diff": 125406.464246299,
            "p90_diff": 212831.3804390242,
            "mean_diff": 166433.9045672142,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 4,
            "age": 69,
            "median_diff": 150772.5996746685,
            "p10_diff": 108101.88408549479,
            "p90_diff": 207571.88343570777,
            "mean_diff": 155200.05747336516,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 5,
            "age": 70,
            "median_diff": 138901.92742314155,
            "p10_diff": 91984.89033431315,
            "p90_diff": 202295.65319316788,
            "mean_diff": 143948.12303070695,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 6,
            "age": 71,
            "median_diff": 126206.38994847448,
            "p10_diff": 77150.327078528,
            "p90_diff": 196071.1872927195,
            "mean_diff": 132650.29473697123,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 7,
            "age": 72,
            "median_diff": 113843.88992702891,
            "p10_diff": 62017.00767395983,
            "p90_diff": 190585.92108784267,
            "mean_diff": 121286.79810077106,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 8,
            "age": 73,
            "median_diff": 100919.31173568638,
            "p10_diff": 47213.98878400319,
            "p90_diff": 183074.57758004358,
            "mean_diff": 109843.8485563132,
            "share_b_higher": 0.999,
            "share_a_higher": 0.001
          },
          {
            "year": 9,
            "age": 74,
            "median_diff": 88543.78819819796,
            "p10_diff": 32336.431338642607,
            "p90_diff": 176901.67562373262,
            "mean_diff": 98308.79829037943,
            "share_b_higher": 0.9904,
            "share_a_higher": 0.0096
          },
          {
            "year": 10,
            "age": 75,
            "median_diff": 76051.92119343311,
            "p10_diff": 17472.844725764007,
            "p90_diff": 170378.21190067544,
            "mean_diff": 86685.93640216111,
            "share_b_higher": 0.9658,
            "share_a_higher": 0.0342
          },
          {
            "year": 11,
            "age": 76,
            "median_diff": 63253.44200529624,
            "p10_diff": 2976.421021200018,
            "p90_diff": 160875.4156689269,
            "mean_diff": 74921.52258720517,
            "share_b_higher": 0.9116,
            "share_a_higher": 0.0884
          },
          {
            "year": 12,
            "age": 77,
            "median_diff": 50564.46684618667,
            "p10_diff": -11875.17660331598,
            "p90_diff": 152786.57363337674,
            "mean_diff": 63042.9331014282,
            "share_b_higher": 0.8405,
            "share_a_higher": 0.1595
          },
          {
            "year": 13,
            "age": 78,
            "median_diff": 37526.071042829775,
            "p10_diff": -26785.47389815288,
            "p90_diff": 144100.280063743,
            "mean_diff": 51098.97883374111,
            "share_b_higher": 0.7495,
            "share_a_higher": 0.2505
          },
          {
            "year": 14,
            "age": 79,
            "median_diff": 24550.717110158876,
            "p10_diff": -41943.83136543748,
            "p90_diff": 137768.62518601515,
            "mean_diff": 38935.73092991496,
            "share_b_higher": 0.6563,
            "share_a_higher": 0.3437
          },
          {
            "year": 15,
            "age": 80,
            "median_diff": 11530.401661562268,
            "p10_diff": -57921.787526568165,
            "p90_diff": 129031.39951701346,
            "mean_diff": 26632.959611774426,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.4299
          },
          {
            "year": 16,
            "age": 81,
            "median_diff": 11754.407199585345,
            "p10_diff": -59589.29652784986,
            "p90_diff": 133895.4080240738,
            "mean_diff": 27820.63834705742,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.4299
          },
          {
            "year": 17,
            "age": 82,
            "median_diff": 12279.981048257556,
            "p10_diff": -62375.64918113628,
            "p90_diff": 140466.29898995068,
            "mean_diff": 29049.79770185901,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.4295
          },
          {
            "year": 18,
            "age": 83,
            "median_diff": 12588.228695327998,
            "p10_diff": -63800.87900829507,
            "p90_diff": 145391.57305910694,
            "mean_diff": 30259.534195234595,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.4292
          },
          {
            "year": 19,
            "age": 84,
            "median_diff": 12767.641374757979,
            "p10_diff": -66357.072672849,
            "p90_diff": 151017.52419634885,
            "mean_diff": 31688.499502203435,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.428
          },
          {
            "year": 20,
            "age": 85,
            "median_diff": 13009.007373258122,
            "p10_diff": -67485.13063705806,
            "p90_diff": 158537.50229111873,
            "mean_diff": 33370.78738828445,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.426
          },
          {
            "year": 21,
            "age": 86,
            "median_diff": 13685.274762148852,
            "p10_diff": -69450.45430487272,
            "p90_diff": 164906.32285305532,
            "mean_diff": 35072.886316056545,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.4231
          },
          {
            "year": 22,
            "age": 87,
            "median_diff": 14224.090666187461,
            "p10_diff": -69514.47328292654,
            "p90_diff": 170769.13428887003,
            "mean_diff": 37125.866493468566,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.4193
          },
          {
            "year": 23,
            "age": 88,
            "median_diff": 14734.190215741168,
            "p10_diff": -70240.98513026879,
            "p90_diff": 177838.8901765286,
            "mean_diff": 39320.38971695806,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.4143
          },
          {
            "year": 24,
            "age": 89,
            "median_diff": 15229.756289752782,
            "p10_diff": -70520.93240715752,
            "p90_diff": 186009.1312743742,
            "mean_diff": 41754.58990318313,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.4062
          },
          {
            "year": 25,
            "age": 90,
            "median_diff": 15685.065842683543,
            "p10_diff": -71719.95014541026,
            "p90_diff": 192094.9924093883,
            "mean_diff": 44043.42235425956,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.3979
          },
          {
            "year": 26,
            "age": 91,
            "median_diff": 16457.709634767147,
            "p10_diff": -72331.64803911332,
            "p90_diff": 199578.75501903472,
            "mean_diff": 46865.622682884685,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.3874
          },
          {
            "year": 27,
            "age": 92,
            "median_diff": 16683.21556403581,
            "p10_diff": -72936.31432510725,
            "p90_diff": 209444.0628384105,
            "mean_diff": 49592.12625785537,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.3759
          },
          {
            "year": 28,
            "age": 93,
            "median_diff": 17255.524486308917,
            "p10_diff": -73472.95115103503,
            "p90_diff": 216498.3428059481,
            "mean_diff": 52515.19552864153,
            "share_b_higher": 0.5701,
            "share_a_higher": 0.3632
          },
          {
            "year": 29,
            "age": 94,
            "median_diff": 17828.416169819015,
            "p10_diff": -73645.14162069553,
            "p90_diff": 225661.58792663808,
            "mean_diff": 55500.580612020945,
            "share_b_higher": 0.5697,
            "share_a_higher": 0.3522
          },
          {
            "year": 30,
            "age": 95,
            "median_diff": 18852.7746620673,
            "p10_diff": -74315.002502669,
            "p90_diff": 233199.66828710004,
            "mean_diff": 58647.11891626126,
            "share_b_higher": 0.5695,
            "share_a_higher": 0.3419
          }
        ]
      },
      "breakeven": {
        "id": "s30000_r5p5",
        "spend": 30000,
        "rate": 0.055,
        "portfolio_expected_nominal_base": 0.060450000000000004,
        "portfolio_expected_real_base": 0.03458536585365857,
        "reference_shift": -0.0054500000000000035,
        "reference_nominal": 0.055,
        "reference_real": 0.029268292682926855,
        "sign_test": {
          "shift": -0.017866018071516512,
          "bracket": [
            -0.018169334963734372,
            -0.01
          ],
          "exact": false,
          "rising": true,
          "closest_shift": -0.018169334963734372,
          "closest_value": -0.003,
          "portfolio_expected_nominal": 0.04258398192848349,
          "portfolio_expected_real": 0.017155104320471848
        },
        "mean_diff": {
          "shift": -0.03658140661792887,
          "bracket": [
            -0.04,
            -0.03
          ],
          "exact": false,
          "rising": true,
          "closest_shift": -0.04,
          "closest_value": -579.8160957635112,
          "portfolio_expected_nominal": 0.023868593382071132,
          "portfolio_expected_real": -0.0011038113345647194
        },
        "success": null,
        "refinements": [
          {
            "shift": -0.018673355629877368,
            "sign": -0.0048
          },
          {
            "shift": -0.018169334963734372,
            "sign": -0.003
          }
        ],
        "points": [
          {
            "shift": -0.04,
            "refinement": false,
            "success_a": 0.2991,
            "success_b": 0.2626,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": -579.8160957635112,
            "share_b_higher": 0.1291,
            "share_a_higher": 0.1709,
            "sign": -0.0418,
            "success_diff": -0.0365
          },
          {
            "shift": -0.03,
            "refinement": false,
            "success_a": 0.4777,
            "success_b": 0.4318,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": 1116.2501834388272,
            "share_b_higher": 0.2167,
            "share_a_higher": 0.2619,
            "sign": -0.0452,
            "success_diff": -0.0459
          },
          {
            "shift": -0.02,
            "refinement": false,
            "success_a": 0.6594,
            "success_b": 0.6055,
            "median_a": 149307.083254221,
            "median_b": 114378.96331682819,
            "median_diff": 0,
            "mean_diff": 8025.095917705323,
            "share_b_higher": 0.3239,
            "share_a_higher": 0.3358,
            "sign": -0.0119,
            "success_diff": -0.0539
          },
          {
            "shift": -0.018673355629877368,
            "refinement": true,
            "success_a": 0.6837,
            "success_b": 0.6294,
            "median_a": 176266.13353975126,
            "median_b": 143133.357433726,
            "median_diff": 0,
            "mean_diff": 9497.893118530295,
            "share_b_higher": 0.3396,
            "share_a_higher": 0.3444,
            "sign": -0.0048,
            "success_diff": -0.0543
          },
          {
            "shift": -0.018169334963734372,
            "refinement": true,
            "success_a": 0.6919,
            "success_b": 0.6374,
            "median_a": 187218.63170443056,
            "median_b": 154340.23362496795,
            "median_diff": 0,
            "mean_diff": 10115.594343960965,
            "share_b_higher": 0.3445,
            "share_a_higher": 0.3475,
            "sign": -0.003,
            "success_diff": -0.0545
          },
          {
            "shift": -0.01,
            "refinement": false,
            "success_a": 0.8129,
            "success_b": 0.766,
            "median_a": 384231.8561649852,
            "median_b": 368190.85958145943,
            "median_diff": 0,
            "mean_diff": 24617.976331892736,
            "share_b_higher": 0.4454,
            "share_a_higher": 0.3676,
            "sign": 0.0778,
            "success_diff": -0.0469
          },
          {
            "shift": 0,
            "refinement": false,
            "success_a": 0.9113,
            "success_b": 0.8809,
            "median_a": 726350.3872767086,
            "median_b": 736317.701983812,
            "median_diff": 18852.7746620673,
            "mean_diff": 58647.11891626126,
            "share_b_higher": 0.5695,
            "share_a_higher": 0.3419,
            "sign": 0.2276,
            "success_diff": -0.0304
          },
          {
            "shift": 0.01,
            "refinement": false,
            "success_a": 0.965,
            "success_b": 0.9429,
            "median_a": 1201971.7250666756,
            "median_b": 1255732.3187516711,
            "median_diff": 65665.18236540747,
            "mean_diff": 117461.23571362889,
            "share_b_higher": 0.6866,
            "share_a_higher": 0.2784,
            "sign": 0.4082,
            "success_diff": -0.0221
          },
          {
            "shift": 0.02,
            "refinement": false,
            "success_a": 0.9893,
            "success_b": 0.981,
            "median_a": 1845593.612753254,
            "median_b": 1981191.474701047,
            "median_diff": 137317.3231108163,
            "mean_diff": 208300.25728008637,
            "share_b_higher": 0.7899,
            "share_a_higher": 0.1994,
            "sign": 0.5905,
            "success_diff": -0.0083
          },
          {
            "shift": 0.03,
            "refinement": false,
            "success_a": 0.9975,
            "success_b": 0.9935,
            "median_a": 2722101.378432225,
            "median_b": 2964322.130313705,
            "median_diff": 242910.79200469842,
            "mean_diff": 342958.09594635875,
            "share_b_higher": 0.8642,
            "share_a_higher": 0.1333,
            "sign": 0.7309,
            "success_diff": -0.004
          }
        ]
      }
    },
    {
      "mortgage_rate": 0.065,
      "base_spending_annual_real": 30000,
      "loan": {
        "rate": 0.065,
        "monthly_payment": 1742.2147305947308,
        "annual_payment": 20906.57676713677,
        "final_balance": -4.031790012959391e-9,
        "total_interest": 113598.65150704834,
        "total_paid": 313598.65150705155,
        "balance_by_year": {
          "1": 191853.56786007012,
          "2": 183161.55407251607,
          "3": 173887.42002397787,
          "4": 163992.18004248926,
          "5": 153434.23751343068,
          "6": 142169.2100198646,
          "7": 130149.74277219483,
          "8": 117325.30954286492,
          "9": 103642.0002692838,
          "10": 89042.29443212738,
          "11": 73464.81925636425,
          "12": 56844.09171855661,
          "13": 39110.2432759123,
          "14": 20188.72615993167,
          "15": -4.031790012959391e-9
        }
      },
      "withdrawal_rate_pay_off": 0.0375,
      "year1_withdrawal_rate_keep": 0.050906576767136766,
      "pay_off": {
        "savings_at_65": 800000,
        "success_rate": 0.9113,
        "success_ci95": [
          0.9055684067680502,
          0.916715704567739
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 24816.529253471854,
          "p25": 296118.245498399,
          "p50": 726350.3872767086,
          "p75": 1372413.318110327,
          "p90": 2229642.1292088754,
          "p95": 2906703.805181255,
          "mean": 1000477.6834457809
        }
      },
      "keep": {
        "savings_at_65": 1000000,
        "success_rate": 0.8656,
        "success_ci95": [
          0.858774215585991,
          0.8721449944902662
        ],
        "terminal_real": {
          "p5": 0,
          "p10": 0,
          "p25": 226632.59218449573,
          "p50": 697928.4687443988,
          "p75": 1409828.8595319053,
          "p90": 2374186.43411033,
          "p95": 3119942.7588640978,
          "mean": 1020167.3983992753
        }
      },
      "paired": {
        "median_diff": 0,
        "p10_diff": -116708.7791973438,
        "p25_diff": -56273.81259035296,
        "p75_diff": 67635.00218267133,
        "p90_diff": 181137.5231000958,
        "mean_diff": 19689.714953493123,
        "share_b_higher": 0.4418,
        "share_a_higher": 0.4695,
        "share_tied": 0.0887,
        "b_survives_a_fails": 0,
        "a_survives_b_fails": 457,
        "both_fail": 887,
        "by_year": [
          {
            "year": 1,
            "age": 66,
            "median_diff": 186235.80119178945,
            "p10_diff": 162321.59330243326,
            "p90_diff": 213651.51879448397,
            "mean_diff": 187514.5544727599,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 2,
            "age": 67,
            "median_diff": 172712.8481675028,
            "p10_diff": 141174.84616730583,
            "p90_diff": 212420.90371819737,
            "mean_diff": 174990.57409091722,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 3,
            "age": 68,
            "median_diff": 158561.04023279133,
            "p10_diff": 121868.85029513785,
            "p90_diff": 208365.7412872234,
            "mean_diff": 162449.07487241505,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 4,
            "age": 69,
            "median_diff": 145445.44608207815,
            "p10_diff": 103362.34080757678,
            "p90_diff": 201623.12372882105,
            "mean_diff": 149835.19967533927,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 5,
            "age": 70,
            "median_diff": 132031.0289912417,
            "p10_diff": 86207.46218819963,
            "p90_diff": 194720.47765479214,
            "mean_diff": 137174.37380512818,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 6,
            "age": 71,
            "median_diff": 118179.7034361856,
            "p10_diff": 70280.96521204396,
            "p90_diff": 186671.1651704281,
            "mean_diff": 124436.31344265492,
            "share_b_higher": 1,
            "share_a_higher": 0
          },
          {
            "year": 7,
            "age": 72,
            "median_diff": 104229.59588150796,
            "p10_diff": 53409.97011503368,
            "p90_diff": 179425.742247232,
            "mean_diff": 111599.3916198652,
            "share_b_higher": 0.9996,
            "share_a_higher": 0.0004
          },
          {
            "year": 8,
            "age": 73,
            "median_diff": 90105.35760122305,
            "p10_diff": 37815.76681857859,
            "p90_diff": 170319.39683651133,
            "mean_diff": 98650.05029661758,
            "share_b_higher": 0.9961,
            "share_a_higher": 0.0039
          },
          {
            "year": 9,
            "age": 74,
            "median_diff": 76132.75943728862,
            "p10_diff": 21615.442565237405,
            "p90_diff": 161598.70043155272,
            "mean_diff": 85570.35643384319,
            "share_b_higher": 0.9763,
            "share_a_higher": 0.0237
          },
          {
            "year": 10,
            "age": 75,
            "median_diff": 61929.20162701723,
            "p10_diff": 5517.9802396905725,
            "p90_diff": 153620.87438858068,
            "mean_diff": 72362.6904475866,
            "share_b_higher": 0.924,
            "share_a_higher": 0.076
          },
          {
            "year": 11,
            "age": 76,
            "median_diff": 47656.42418800865,
            "p10_diff": -10687.879607441428,
            "p90_diff": 141983.821063458,
            "mean_diff": 58974.32237759925,
            "share_b_higher": 0.8423,
            "share_a_higher": 0.1577
          },
          {
            "year": 12,
            "age": 77,
            "median_diff": 33777.73580345942,
            "p10_diff": -26888.047772229533,
            "p90_diff": 132901.77400827315,
            "mean_diff": 45426.28419290024,
            "share_b_higher": 0.7368,
            "share_a_higher": 0.2632
          },
          {
            "year": 13,
            "age": 78,
            "median_diff": 19084.133896101033,
            "p10_diff": -43321.93051844509,
            "p90_diff": 121929.86248937761,
            "mean_diff": 31766.002936510795,
            "share_b_higher": 0.6302,
            "share_a_higher": 0.3698
          },
          {
            "year": 14,
            "age": 79,
            "median_diff": 4592.105648962897,
            "p10_diff": -60331.33748446521,
            "p90_diff": 112052.63359897165,
            "mean_diff": 17846.19369112801,
            "share_b_higher": 0.5302,
            "share_a_higher": 0.4698
          },
          {
            "year": 15,
            "age": 80,
            "median_diff": -10165.832588116638,
            "p10_diff": -78088.05798531964,
            "p90_diff": 101415.45051813126,
            "mean_diff": 3745.5401076374665,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5581
          },
          {
            "year": 16,
            "age": 81,
            "median_diff": -10463.615243437584,
            "p10_diff": -80497.5738107625,
            "p90_diff": 104703.22352898493,
            "mean_diff": 3985.265822662192,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5581
          },
          {
            "year": 17,
            "age": 82,
            "median_diff": -10588.697928393958,
            "p10_diff": -83596.73584164272,
            "p90_diff": 109868.91513277357,
            "mean_diff": 4245.620510126248,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5577
          },
          {
            "year": 18,
            "age": 83,
            "median_diff": -10885.244450441329,
            "p10_diff": -86892.41096061445,
            "p90_diff": 114162.01983797923,
            "mean_diff": 4463.052846628984,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5574
          },
          {
            "year": 19,
            "age": 84,
            "median_diff": -11044.089087030501,
            "p10_diff": -90397.39785540733,
            "p90_diff": 118313.25387108303,
            "mean_diff": 4874.291268826794,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5562
          },
          {
            "year": 20,
            "age": 85,
            "median_diff": -10743.276604608167,
            "p10_diff": -93368.025774676,
            "p90_diff": 123703.83156616706,
            "mean_diff": 5517.2827582747705,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5542
          },
          {
            "year": 21,
            "age": 86,
            "median_diff": -10667.57891589452,
            "p10_diff": -96151.89196080429,
            "p90_diff": 128890.38640897488,
            "mean_diff": 6188.731228983712,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5513
          },
          {
            "year": 22,
            "age": 87,
            "median_diff": -9880.515235229512,
            "p10_diff": -97703.69283220201,
            "p90_diff": 134077.2283299081,
            "mean_diff": 7221.085939371097,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5475
          },
          {
            "year": 23,
            "age": 88,
            "median_diff": -8537.105354875792,
            "p10_diff": -99826.97581783775,
            "p90_diff": 139872.61371541885,
            "mean_diff": 8351.180189277035,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5425
          },
          {
            "year": 24,
            "age": 89,
            "median_diff": -7424.15054843924,
            "p10_diff": -101218.83780992538,
            "p90_diff": 144326.78153693047,
            "mean_diff": 9682.07453411457,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5344
          },
          {
            "year": 25,
            "age": 90,
            "median_diff": -5872.260404150118,
            "p10_diff": -104320.88243395445,
            "p90_diff": 150700.34186181496,
            "mean_diff": 10882.744543651184,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5261
          },
          {
            "year": 26,
            "age": 91,
            "median_diff": -3741.614364076988,
            "p10_diff": -107311.6288640293,
            "p90_diff": 155819.90092980815,
            "mean_diff": 12566.291756064948,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5156
          },
          {
            "year": 27,
            "age": 92,
            "median_diff": -1212.1776165014016,
            "p10_diff": -109449.36192738923,
            "p90_diff": 162617.31762638036,
            "mean_diff": 14163.9683271092,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.5041
          },
          {
            "year": 28,
            "age": 93,
            "median_diff": 0,
            "p10_diff": -111549.98554598418,
            "p90_diff": 168111.95163795887,
            "mean_diff": 15893.095575733956,
            "share_b_higher": 0.4419,
            "share_a_higher": 0.4913
          },
          {
            "year": 29,
            "age": 94,
            "median_diff": 0,
            "p10_diff": -115347.62850001664,
            "p90_diff": 175132.1234930961,
            "mean_diff": 17732.450178525814,
            "share_b_higher": 0.4418,
            "share_a_higher": 0.4801
          },
          {
            "year": 30,
            "age": 95,
            "median_diff": 0,
            "p10_diff": -116708.7791973438,
            "p90_diff": 181137.5231000958,
            "mean_diff": 19689.714953493123,
            "share_b_higher": 0.4418,
            "share_a_higher": 0.4695
          }
        ]
      },
      "breakeven": {
        "id": "s30000_r6p5",
        "spend": 30000,
        "rate": 0.065,
        "portfolio_expected_nominal_base": 0.060450000000000004,
        "portfolio_expected_real_base": 0.03458536585365857,
        "reference_shift": 0.0045499999999999985,
        "reference_nominal": 0.065,
        "reference_real": 0.039024390243902474,
        "sign_test": {
          "shift": 0.001537271140278727,
          "bracket": [
            0.0015319686785871722,
            0.01
          ],
          "exact": false,
          "rising": true,
          "closest_shift": 0.0015319686785871722,
          "closest_value": -0.0001,
          "portfolio_expected_nominal": 0.06198727114027873,
          "portfolio_expected_real": 0.03608514257588169
        },
        "mean_diff": {
          "shift": -0.008522026473427239,
          "bracket": [
            -0.01,
            0
          ],
          "exact": false,
          "rising": true,
          "closest_shift": -0.01,
          "closest_value": -3414.7837416096845,
          "portfolio_expected_nominal": 0.05192797352657277,
          "portfolio_expected_real": 0.02627119368446129
        },
        "success": null,
        "refinements": [
          {
            "shift": 0.0014789108382274427,
            "sign": -0.001
          },
          {
            "shift": 0.0015319686785871722,
            "sign": -0.0001
          }
        ],
        "points": [
          {
            "shift": -0.04,
            "refinement": false,
            "success_a": 0.2991,
            "success_b": 0.2453,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": -6439.630133907633,
            "share_b_higher": 0.0785,
            "share_a_higher": 0.2206,
            "sign": -0.1421,
            "success_diff": -0.0538
          },
          {
            "shift": -0.03,
            "refinement": false,
            "success_a": 0.4777,
            "success_b": 0.4106,
            "median_a": 0,
            "median_b": 0,
            "median_diff": 0,
            "mean_diff": -10078.374554261172,
            "share_b_higher": 0.1388,
            "share_a_higher": 0.3391,
            "sign": -0.2003,
            "success_diff": -0.0671
          },
          {
            "shift": -0.02,
            "refinement": false,
            "success_a": 0.6594,
            "success_b": 0.5835,
            "median_a": 149307.083254221,
            "median_b": 90335.44823307867,
            "median_diff": 0,
            "mean_diff": -10537.95475461379,
            "share_b_higher": 0.2214,
            "share_a_higher": 0.438,
            "sign": -0.2166,
            "success_diff": -0.0759
          },
          {
            "shift": -0.01,
            "refinement": false,
            "success_a": 0.8129,
            "success_b": 0.7457,
            "median_a": 384231.8561649852,
            "median_b": 338668.60659831774,
            "median_diff": 0,
            "mean_diff": -3414.7837416096845,
            "share_b_higher": 0.3239,
            "share_a_higher": 0.489,
            "sign": -0.1651,
            "success_diff": -0.0672
          },
          {
            "shift": 0,
            "refinement": false,
            "success_a": 0.9113,
            "success_b": 0.8656,
            "median_a": 726350.3872767086,
            "median_b": 697928.4687443988,
            "median_diff": 0,
            "mean_diff": 19689.714953493123,
            "share_b_higher": 0.4418,
            "share_a_higher": 0.4695,
            "sign": -0.0277,
            "success_diff": -0.0457
          },
          {
            "shift": 0.0014789108382274427,
            "refinement": true,
            "success_a": 0.9192,
            "success_b": 0.8814,
            "median_a": 786672.5778452536,
            "median_b": 762133.5180443244,
            "median_diff": 0,
            "mean_diff": 24960.010075495844,
            "share_b_higher": 0.4591,
            "share_a_higher": 0.4601,
            "sign": -0.001,
            "success_diff": -0.0378
          },
          {
            "shift": 0.0015319686785871722,
            "refinement": true,
            "success_a": 0.9195,
            "success_b": 0.8816,
            "median_a": 789126.3295428165,
            "median_b": 764802.9439246657,
            "median_diff": 0,
            "mean_diff": 25161.595465734757,
            "share_b_higher": 0.4597,
            "share_a_higher": 0.4598,
            "sign": -0.0001,
            "success_diff": -0.0379
          },
          {
            "shift": 0.01,
            "refinement": false,
            "success_a": 0.965,
            "success_b": 0.9353,
            "median_a": 1201971.7250666756,
            "median_b": 1208028.6943899204,
            "median_diff": 21996.622908939607,
            "mean_diff": 66242.55057917966,
            "share_b_higher": 0.5623,
            "share_a_higher": 0.4027,
            "sign": 0.1596,
            "success_diff": -0.0297
          },
          {
            "shift": 0.02,
            "refinement": false,
            "success_a": 0.9893,
            "success_b": 0.9763,
            "median_a": 1845593.612753254,
            "median_b": 1921335.5219288205,
            "median_diff": 80566.02606349345,
            "mean_diff": 142575.51660309616,
            "share_b_higher": 0.677,
            "share_a_higher": 0.3123,
            "sign": 0.3647,
            "success_diff": -0.013
          },
          {
            "shift": 0.03,
            "refinement": false,
            "success_a": 0.9975,
            "success_b": 0.9922,
            "median_a": 2722101.378432225,
            "median_b": 2893805.7190517457,
            "median_diff": 170780.95526767452,
            "mean_diff": 260189.68335878683,
            "share_b_higher": 0.7793,
            "share_a_higher": 0.2182,
            "sign": 0.5611,
            "success_diff": -0.0053
          }
        ]
      }
    }
  ]
}
