Methodology
Every formula the simulator uses, stated explicitly. All defaults are sourced benchmarks (see the Benchmarks page and DATA_SOURCES.md); every one is editable. This tool is educational — it is not financial, tax, or legal advice, and benchmark values are representative market averages, not carrier quotes.
IUL simulation (monthly processing)
- Annual premium is paid at the start of each policy year. Premium load is deducted immediately:
net premium = premium × (1 − load%). - Each month the policy deducts: the policy fee, a per-$1,000 admin charge on the initial face amount (first N years), and COI = NAR × (qx × COI multiplier) / 12, where qx comes from the 2017 CSO smoker-distinct ultimate tables at the attained age. The COI multiplier (default 0.6) scales the statutory table toward current-scale charges; 1.0 reproduces the guaranteed-maximum basis.
- Death benefit & NAR — Option A (level):
DB = face, with withdrawals reducing the face dollar-for-dollar; Option B (increasing):DB = face + CV. Both are floored by the IRC §7702(d) cash-value corridor (DB ≥ CV × corridor factor, 2.50 at ages ≤40 declining to 1.00 at 95), andNAR = max(0, DB − CV). MEC (7-pay) testing is not modeled. - Crediting is annual point-to-point:
credit rate = clamp(index return × participation, floor, cap), applied to the average month-end balance. The index return excludes dividends (as real IUL crediting does when the S&P 500 price index is used — note our S&P benchmark series is total return, which favors the IUL side; the cap binds most years regardless). Fixed-account crediting applies the fixed rate the same way. - Loans: standard loans accrue at the loan rate while loaned value is credited at the standard loan crediting rate (a near-wash). Participating loans accrue at the participating rate while loaned value keeps index crediting. Unpaid interest capitalizes annually. Withdrawals and loans are taken at the start of the year.
- Surrender value = CV − surrender charge − loan balance. The surrender charge starts at the benchmark per-$1,000 level and declines linearly to zero over the surrender period.
- Lapse: if CV net of loans cannot cover a month's deductions, the policy lapses; later years show zero values. No-lapse guarantee riders are not modeled. A lapse with outstanding loans can create phantom taxable income in reality — flagged here but not quantified.
Commissions
Commissions are paid by the carrier to the agent — they are not deducted from your cash value. Their economics reach you indirectly through the premium load, COI margins, and surrender charges. We report them (first-year % of premium up to the target premium + excess % above it; renewal % in years 2–10) for transparency, without double-counting them as a policy deduction.
Term & BTID
- Term premium = benchmark per-$1,000 rate (interpolated by issue age, by term length and sex) × health-class multiplier × smoker multiplier. Post-term annual-renewal premium ≈ CSO qx × 1000 × renewal multiplier at the attained age.
- BTID invests
max(0, IUL premium − term premium)each year. Once term (or renewal) premiums exceed the IUL premium, the invested difference floors at zero. - "Value at death" for BTID = investment liquidation value + term death benefit while coverage is in force.
Investment account
- Contributions at the start of each year;
balance = (balance + contribution) × (1 + gross return) − fees − dividend tax, with the expense ratio charged on the same base. - Tax mode: dividends (dividend-yield share of the balance) are taxed annually at the dividend rate and reinvested (raising cost basis); unrealized gains are taxed at the capital-gains rate only in the "liquidation" view. State taxes, NIIT, tax-loss harvesting, step-up at death, and tax-advantaged accounts (401k/IRA) are not modeled — using a tax-advantaged account would improve the BTID side further.
Comparisons & metrics
- IRR is solved by Newton-Raphson with bisection fallback over the annual cash-flow vector (premiums out; withdrawals/loans in; terminal value = surrender value, death benefit, or liquidation value).
- Real (inflation-adjusted) values divide nominal values by
(1 + inflation)^year. - Historical sequence mode replays actual annual returns from the chosen start year (wrapping at the end of the series), exposing sequence-of-returns risk that fixed-average assumptions hide.
- The compound baseline compounds the full premium stream at a single rate with no fees or taxes — an upper-bound reference, not an investable strategy.
Known simplifications
- The §7702 corridor uses interpolated statutory factors; MEC (7-pay) testing is not modeled.
- Monthly COI uses qx/12 rather than the exact monthly-equivalent rate (difference < 0.5% at working ages).
- Index caps/participation are held constant; carriers reset them annually and cuts are common.
- Term premium grid embeds the policy fee at $500k face; small faces are slightly underpriced.
- No underwriting outcomes, riders, chronic-illness benefits, or estate-tax considerations.