Model Validation Report

Cardinal Peak Income

Cardinal Peak Life

!

0. Summary!

At a glance! — every mechanic the engine computes matches the filing; thirteen filed features still await an accept-or-model call.

Run Description Status
synthetic-a — indexed 100% S&P 500 annual point-to-point cap; $1M at issue age 55, income at year 10 !

Scope — one cell: cap crediting, both roll-up phases, income at year 10, claim phase to age 115.

⚠ ATTENTION (5)

Item Decision Where
[Latent · NOT-MODELED] Joint Life; strategy reallocation Accept as simplifications, or model §2 · §6
[Immaterial · NOT-MODELED] Eight inert or dormant filed features Accept as simplifications, or model §2
[Latent · scope] Four strategies not carried — participation, Russell, Nasdaq, Fixed Build a cell, or accept the scope §2 · §3
[Immaterial · AGGRESSIVE] Surrender-charge waivers omitted Accept with the direction corrected to aggressive §2 · §6
[Immaterial · convention] Roll-up cease age set to the maturity age, unfiled Record the convention, or amend §3

✓ CLEAN (3)

  • §1 — sources complete, current and identified
  • §4 — every balance and cash flow re-derived and tied
  • §5 — reserve replay and hedge notional tie exactly
Section
§1 Source map
§2 Functionality !
§3 Rate & parameter fidelity !
§4 Balances & cash flows
§5 Inner-loop projection
§6 Known deviations

Legend

RAG blocking · ! decide · ok
Class CONSERVATIVE · AGGRESSIVE · MISMATCH · NOT-MODELED · NOT-EXERCISED (modelable via inputs, no reviewed cell runs it — amber = unevidenced, not wrong) — printed only on non-green rows; bare green = exact/tied
Materiality Material (prices now) · Latent · Immaterial
Evidence Ex N · cell · ref = a tab·cell in the binder — open it to trace any number

1. Source map

Short name Form + eff. date Governs
Contract CPL-FIA-2026 · filed 2026-04-14 · SERFF CPLX-100000001 Base mechanics — crediting, withdrawals, surrender, market value adjustment, death benefit, nonforfeiture floor
Contract Schedule CPL-FIA-2026, p2–p3 Declared and guaranteed rate factors, allocations, surrender-charge schedule, premium limits
Rider CPL-GLWB-A-2026 Rider mechanics — benefit base, roll-up, election, income, claim phase, rider charge
SOV CPL-SOV-A-2026 Bracketed structure and permitted ranges — range cross-check only, never currency
Memo Actuarial Memorandum, Exhibit A on p4 Illustrative demonstrations — option budget, nonforfeiture, roll-up walk; mechanics only
Brochure CPL-BRO-A-2026 · rates eff. 2026-07-16 Current declared values — cap, roll-up, withdrawal percentages, rider charge, free withdrawal
Locators page printed in each form's footer The brochure prints no page numbers; its block heading is the locator
Config synthetic_a.json The modeled parameters §3 compares against these sources
Run basis economic-liability hedge sizing; behavior, valuation and expense sets per review.md The projection
Read scale Ex 1 per policy (premium 150,000); Ex 9 aggregate (premium 1,000,000) Check before comparing cells across exhibits
Provenance Fictional demonstration filing — Cardinal Peak Life is not a real carrier A pipeline exercise, not an opinion on a marketed product
Build Clean-room rebuild — config, run and binder built from the sources alone No prior package, report or history was consulted
Report date 2026-08-06 Valid for the sources and configuration as at this date
Model spec engine cba5596 Engine-wide behavior — relied on, not re-derived

2. Functionality!

Feature Modeled as Contract Expected direction Status
Index crediting — cap point-to-point Lesser of index change and the declared cap, floored at zero Contract: p6
Index term and declared-rate horizon Twelve-month term; cap declared for term one, redeclared each renewal Contract: p4 · p7
Credit base and same-day order Withdrawal, then rider charge, then the index credit Contract: p6
Free-withdrawal corridor Percentage of the prior anniversary value, premium in year one, no carry-forward Contract: p8
Rider charge is not a withdrawal The charge never consumes the free amount Contract: p8
Surrender charge Declining schedule then zero; assessed on the amount above the free amount Contract: p8
Market value adjustment Filed rate-ratio factor and bound modeled; excluded from the priced cash flow Contract: p8 neutral — disclosure, spec §3.2.6 · §7.2.13
Cash surrender value floor Greater of value less charge and the minimum guaranteed surrender value Contract: p8
Minimum guaranteed surrender value Percentage of premium accumulated; withdrawals reduce it, the rider charge does not Contract: p5
Death benefit Greater of account value and the guaranteed surrender value, no charge or adjustment Contract: p9
Single premium No additional premium after issue Contract: p5
Benefit base at issue; no bonus Benefit base equals the single premium Rider: p2
Roll-up — before election Fixed baseline plus a factor on the credited rate, applied to the benefit base Rider: p2
Roll-up — after election The fixed component ceases; the factor on the credited rate continues Rider: p2
Roll-up window, timing, stop at zero value Credited at each of the first fifteen anniversaries, after the index credit Rider: p2–p3
No benefit-base step-up The benefit base changes only by roll-up and excess-withdrawal reduction Rider: p2
Waiting period Contractual minimum drives the reserve scan; the reviewed cell elects later Rider: p3
Election granularity Election attempted at contract anniversaries only Rider: p3 · "on any Monthly Anniversary" immaterial — disclosure, spec §1.5.1
Election irrevocable; payment frequency Never reversed; paid monthly, one of the filed frequencies Rider: p3
Initial income amount Withdrawal percentage at attained age times the benefit base at election Rider: p3
Withdrawal-percentage basis and table shape Attained-age bands, locked at election, flat above the top band Rider: p3
Income increase after election Income rises by the post-election factor on the credited rate each anniversary Rider: p4
Scheduled income leaves the benefit base In-limit withdrawals do not reduce the benefit base Rider: p4
Excess withdrawal — benefit-base cut Pro-rata reduction on every pre-election withdrawal Rider: p4
Income free of charge and adjustment Guaranteed withdrawals pool with the free amount and escape the surrender charge Rider: p4 conservative — disclosure, spec §2.4
Claim phase — payment, escalation, crediting basis Income continues for life at a zero account value and keeps escalating Rider: p5
Rider charge — formula, basis, sequence, cessation Monthly twelfth of the annual rate on the benefit base, from the account value Rider: p6
Rider termination triggers Claim phase requires an elected income, matching the filed termination branch Rider: p6
Continuation past the maturity date The projection runs with the rider in force to age 115 Rider: p6
Required-minimum-distribution waiver No partial withdrawal is surrender-charged on any modeled path Contract: p9
Anniversary-day withdrawal ordering Credit first; the withdrawal falls in the following contract year Contract: p4 · p6 none (review.md item 1) accepted (§6)
Joint Life Single life only Rider: p3 Aggressive if the block carries joint elections OPEN
Minimum income age No age floor on election Rider: p3 Conservative — permits an election the contract forbids OPEN
Excess withdrawal — income cut No path reduces the guaranteed amount Rider: p4 Conservative if reached — dormant on every modeled path OPEN
Rider-charge redeclaration to the filed maximum The current declared charge is held level for life Rider: p6 Two-sided — more fee income, faster depletion OPEN
Surrender-charge waivers — terminal illness, confinement The charge is always assessed Contract: p9 Aggressive — a waived charge raises the amount paid OPEN
Spousal continuation No continuation path Contract: p9 · Rider: p6 Two-sided — replaces a lump sum with a continuing rider OPEN
Annuitization at the maturity date No annuitization path Contract: p9 Immaterial — income elected, continuation is the filed path OPEN
Free look Not modeled Contract: p1 Immaterial — no decrement in the first month OPEN
Strategy reallocation and discontinuance One allocation for the life of the contract Contract: p6 n/a (block mix) OPEN
Annual performance trigger strategy No digital-payoff strategy type in the engine Contract: p6 n/a (block mix) OPEN
Index substitution No substitution concept Contract: p7 Immaterial — scenario-level OPEN
Other filed index strategies — participation, Russell, Nasdaq Reachable as another allocation; no reviewed cell builds one Contract: p3 n/a (block mix) OPEN
Fixed Account Reachable as a declared-rate allocation; no reviewed cell builds one Contract: p7 n/a (block mix) OPEN
Administrative provisions No cash-flow mechanic Contract: p10 n/a n/a

Nothing the engine computes for this product departs from the filed forms, and the memorandum's own rider exhibit replays column for column; the amber is the acceptance state alone.

3. Rate & parameter fidelity!

Each value is tested against the evidence class its source can attest: carrier-changeable values against the dated brochure, unbracketed values against the filed form, with the Statement of Variability as a range cross-check only.

Parameter Source (+ eff. date / form) Config Status
S&P 500 1-yr point-to-point cap 6.00% Brochure — Current crediting rates, eff. 2026-07-16 (SOV: p1, 0.50%–25.00%) 6.00% for term one; renewals solved from the option budget — §4
Guaranteed minimum cap 0.50% Contract: p3 — unbracketed 0.50%, deriving a 30.03 bp guaranteed minimum option cost
Floor 0% on every indexed strategy Contract: p7 — unbracketed 0.00%
Surrender charges 9/8/7/6/5/4/3%, zero from year 8 Contract: p2 — unbracketed; Brochure the same seven-year schedule; period derives to seven years
Free withdrawal 10% Brochure — Product facts (SOV: p1, 5%–20%) 10% of the prior anniversary value; premium in year one
Guaranteed surrender value 87.5% of premium at 2.00% Brochure — Protection & access (SOV: p2, 87.5%–100% · 1.00%–3.00%) 87.5% · 2.00% — at the nonforfeiture floor, above the statutory rate
Roll-up baseline 4.00%, credited-rate factor 125% Brochure — GLWB roll-up (SOV: p3, 2.00%–6.00% · 100%–150%) 4.00% · 1.25
Post-election factor 75%, no fixed component Brochure — roll-up and income raise; Rider: p2 0.75 · 0.00% — an explicit zero, not an inherited baseline
Roll-up period 15 years Brochure; Rider: p2 (SOV: p3, 10–20 years) fifteen anniversaries
Roll-up cease age not filed — the rider states no age cutoff the Contract's maturity age 100; non-binding at every filed issue age OPEN
Minimum waiting period 5 contract years Brochure — GLWB; Rider: p3 (SOV: p3, 1–10 years) 60 months as the contractual minimum; this cell elects at 120
Withdrawal percentages 4.00%–6.50%, six age bands Brochure — Guaranteed Annual Withdrawal percentages, eff. 2026-07-16 six band starts; exact at every election age the outer and reserve scans reach
Joint Life percentages Rider: p3 (SOV: p3, Single less 0.50%) not carried — single-life engine; the feature decision is §2's — disclosure, spec Appendix C · §12.6.4
Rider charge 1.00% of the benefit base, monthly Brochure — Rider charge, eff. 2026-07-16 (SOV: p3, 0.50%–1.50%) 1.00%, monthly, on the benefit base
Guaranteed maximum rider charge 1.50% Rider: p6 — filed maximum not carried — the declared charge is held level OPEN
Minimum income age 55 Rider: p3; Brochure (SOV: p3, 50–65) not carried OPEN — inert on this cell
Market value adjustment — factor, base, bound Contract: p8 — unbracketed ten-year Treasury ratio over the remaining charge period; filed two-part bound
Death benefit definition Contract: p9 — unbracketed greater of account value and guaranteed surrender value
Benefit base at issue, no premium bonus Rider: p2 — unbracketed; Brochure 100% of premium, no bonus
Issue ages 45–80; premium band 25,000–1,000,000 Contract: p2 · p5; Brochure (SOV: p1) issue age 55, 150,000 per policy
Other declared strategy rates — participation, trigger, Russell, Nasdaq, Fixed Account Brochure — Current crediting rates, eff. 2026-07-16 not carried — one allocation per configuration OPEN

4. Balances & cash flows

Every monthly balance and cash flow below is re-derived in the binder and tied to the engine — the recalc gate asserts the checks wholesale; this registry is generated from the binder's own check columns.

Check (exhibit · col) Replicates Status
av_check (Ex 1) monthly AV roll-forward — charge → credit → withdrawals
bb_check (Ex 1) BB rollup / pro-rata reduction incl. income phase
credited_rate_rule_check (Ex 1) cap/par/floor rule applied to the term credit
glwb_income_rule_check (Ex 1) monthly income = min(GAWA/12, annual cap remaining)
option_cost_check (Ex 2) BOY option cost = priced call spread × notional
budget_check (Ex 2) option cost within the crediting budget
c_atm_mtm_check (Ex 3) ATM call leg re-priced (Black-Scholes)
c_otm_mtm_check (Ex 3) OTM call leg re-priced (Black-Scholes)
derivative_pct_check (Ex 3) derivative value as % of notional
derivative_value_check (Ex 3) derivative MTM roll-forward
db_check (Ex 4) death-benefit derivation
gmsv_check (Ex 4) MGSV accrual — withdraw-then-accrue at the guaranteed AER
sc_rate_check_diff (Ex 5) surrender-charge rate schedule applied by policy year
pw_dollars_check_diff (Ex 5) per-policy partial-withdrawal dollars
deaths_check_diff (Ex 5) monthly deaths = lives × qx per the decrement basis
lapses_check_diff (Ex 5) monthly lapses = base × skew × dynamic multipliers
expense_check (Ex 10) per-policy expense assumptions applied
gross_check (Ex 11) gross earned-rate build-up
nier_check (Ex 11) NIER = yield − default − investment expense
surrender_cf_check (Ex 13) surrender CF = lapses × EOM CSV chain
death_cf_check (Ex 13) death CF = deaths × EOM DB
partial_cf_check (Ex 13) partial-withdrawal CF = lives × per-policy PW
glwb_wd_cf_check (Ex 13) GLWB withdrawal CF = lives × per-policy GAWA draw
glwb_claim_cf_check (Ex 13) GLWB claim CF = lives × Ex-1 GAWA/12, net of the transition-month withdrawal
expenses_cf_check (Ex 13) block expenses from the expense assumptions
payoff_check (Ex 13) option payoff = credited rate × notional
gross_inv_income_check (Ex 14) gross investment income on the BOM bond base
defaults_check (Ex 14) default drag on the bond base
inv_expenses_check (Ex 14) investment-expense drag on the bond base
revenue_check (Ex 14) income-statement revenue assembly
expenses_check (Ex 14) income-statement expense assembly
pre_tax_check (Ex 14) pre-tax profit = revenue − expenses − Δstat reserve
federal_tax_check (Ex 14) federal tax on the Δstat−Δtax swapped base
req_capital_check (Ex 14) required capital = (C1 on bonds + C3 on stat + C4 on premium) × target RBC
ii_surplus_check (Ex 14) surplus investment income on prior-EOM capital
de_check (Ex 14) distributable earnings assembly

The cell projects 720 months on a deterministic scenario. The account value exhausts in month 235; from there the rider pays for life, and those claim payments are the largest single liability component (Ex 9 · B9).

Because the index rises steadily and never reaches the cap, the zero floor and the cap constraint are not hit on this path, and the guaranteed surrender value never becomes the binding death benefit: the rules are checked every month, their boundaries are not reached.

One export gap is routed out of this report. In the single month the account value drains, the crediting workbook's rider-charge display column re-derives a charge the engine does not book; both land on a zero account value, so no check column and no cash flow moves.

The column has the same shape for every rider product, so it belongs in review/TODO.md as an export-coverage item, not in this product's decisions.

Assumptions → actuals

Assumption Evidence Status
Acquisition expense — percentage of premium at issue expense check (Ex 10 · L)
Upfront and trail commission on the seven-year shape expense check (Ex 10 · L)
Maintenance expense per policy, inflating annually expense check (Ex 10 · L)
Investment yield 6.50% earned-rate build-up (Ex 11 · C2)
Net investment earned rate 6.25% — yield less default and investment expense earned-rate check (Ex 11 · I2)
Pricing spread calibrated to the declared cap — option cost 2.7540% of strategy value option-cost check (Ex 2 · S2) · spec §8.6.1
Rider charge is an account-value transfer, not revenue revenue check (Ex 14 · AD) · spec §12.3.4

The pricing spread is a function of the declared cap, not an independent margin: inverting the option budget at the issue-date market inputs is what reproduces the declared cap at each renewal, and the standing drift validator passes on this run.

Decrement basis

Leg Basis Evidence Status
Mortality 2012 IAM Basic M/F, improving 0%–1.5%/yr by age (G2-derived) Tbl Mortality M/F, Mort Imp M/F · Ex 5 Mort · S
Base lapse + skew 3% to yr 7 · 30% shock @ yr 8 · 10% ultimate, level within each year Tbl Lapse Rates, Lapse Skew · Ex 5 Lapse · AG
Dynamic lapse (in-the-money) lapse falls as the guarantee gains value, to 0.10× base when deep in the money Tbl ITM Lapse Mult · Ex 5 Lapse · W exercised, 1.00× down to 0.10×
Dynamic lapse (interest-rate) rate-gap add-on to base lapse; table all zero Tbl IR Dynamic Lapse · Ex 5 Lapse · N not applied — off on this basis
Partial withdrawals 2% of account value (qualified) Tbl PW Rates · Ex 5 PW · K exercised months 13–109
RMD add-on 80% of the IRS Uniform Lifetime draw, from age 73 Tbl RMD · Ex 5 PW · H exercised from month 217

The required-minimum-distribution add-on is inert here. Scheduled withdrawals stop when income begins at attained age 65, eight years before the add-on's age gate, so the leg never reaches a cash flow.

Cost of funds & PV decomposition

Component Value Evidence
Cost of funds (annual) 5.3912% Ex 9 · B3
Beckerized IRR (annual) 7.7992% Ex 9 · B4
PV death benefits 35,653 Ex 9 · B5
PV surrender benefits 284,200 Ex 9 · B6
PV partial withdrawals 126,302 Ex 9 · B7
PV guaranteed withdrawals 277,823 Ex 9 · B8
PV claim-phase payments 306,267 Ex 9 · B9
PV expenses 90,727 Ex 9 · B10
PV hedging costs −120,974 Ex 9 · B11
PV liabilities 1,000,000 Ex 9 · B12
Premium 1,000,000 Ex 9 · B13

§14.2 roll-forward identities: secondary tripwire only (largely tautological); the credit is proven by the Ex 2 re-price and the per-row roll-up check.

5. Inner-loop projection

The reserve audit replays the priced computation at eight valuations from issue through the claim phase, on the guaranteed basis, with the election scan opening at the contractual five-year minimum rather than the modeled election.

Check What it proves Evidence Status
Replay tie-out The audit reproduces the priced reserve Reserve audit · Reconciliation, all eight valuations
Branch selection Node, interim-replay and active-income routes are chosen correctly Reserve audit · Summary
Election window The scan opens at the contractual minimum, not the modeled election Reserve audit m1 · Stream Comparison
Stream inventory The twenty-year horizon and the surrender/election cross-product Reserve audit m1 · Stream Comparison
Surrender-value floor The floor is applied every month; it binds at issue only Reserve audit · Summary
Valuation rates One rate per cash-flow type; claims banded at commencement Reserve audit · Assumptions
Guaranteed-basis crediting Current term credited at the boundary, future terms at the guaranteed minimum Reserve audit · Monthly Projection
Roll-up, both phases Baseline plus factor before election, factor alone after Reserve audit m109 · Monthly Projection
Roll-up cessation and claim freeze No roll-up after the fifteenth anniversary or at a zero account value Reserve audit m120, m240 · Monthly Projection
Income at and after election Struck at the attained-age band, then escalated each anniversary Reserve audit m109, m121 · Monthly Projection
Claim phase Payments continue for life, escalation continues, the charge stops Reserve audit m240 · Monthly Projection
Rider charge Monthly on the benefit base, never netted against the reserve Reserve audit · Monthly Projection
Decrements Mortality only, single survivorship on the reserving tables Reserve audit · Monthly Projection
Independent per-row recompute Balances and income rebuilt outside the engine across four streams Reserve audit · Monthly Projection, 2,784 rows

The hedge loop re-solves at issue and each anniversary, shocking the first-year credited rate by one percent and sizing notional off the resulting liability delta, discounted at the net investment earned rate.

Check What it proves Evidence Status
Snapshot handoff The inner projection starts from the outer state, one month on Hedge audit · Starting Balance Check
Credit schedule Base credit equals the option budget; the shock is one percent, first year only Hedge audit · Inner Loop M13
Net earned rate Yield less default and investment expense Hedge audit · Assumptions
Discount timing Flat net earned rate, first step undiscounted Hedge audit · Inner Loop M13
Liability PV tie The trace accumulates to the reported base and shocked liabilities Hedge audit · Liability Decomposition
Notional arithmetic Notional is the positive liability delta per point of credit, times the hedge ratio Hedge audit · Hedge Allocation
Liability composition Benefit outflows only; the rider charge is never a cash flow Hedge audit · Liability Decomposition
Reset cadence Re-solved at issue and each anniversary, held flat within the year Hedge audit · Hedge Allocation
Behavioral deferral The hedge elects income at the modeled year, not the contractual minimum Hedge audit · Inner Loop M13
Roll-up and income in the loop The same phase-scoped mechanics as the reserve, at the budget rate Hedge audit · Inner Loop M13
Claim transition The shortfall in the depletion month is bucketed as a claim Hedge audit · Inner Loop M13
Post-depletion sensitivity Escalation keeps the liability index-linked after depletion Hedge audit · Liability Decomposition
Independent per-row recompute Balances and credited rate rebuilt outside the engine, both scenarios Hedge audit · Inner Loop M13, 1,414 rows

One engine-wide observation is routed out of this report. At a valuation inside a crediting term the guaranteed-basis credit is fixed in dollars and divided by the account value standing at the term boundary, so a falling account value can imply a credited rate above the declared cap — two of 720 valuations here, raising the reserve.

The divisor is not documented, so it belongs in review/TODO.md as a specification gap, not in this product's decisions.

6. Known deviations & conservatism ledger

Deviation Expected direction Materiality Rationale Status
Anniversary-day withdrawal ordering — credit first none (review.md item 1) Immaterial Annual point-to-point crediting sees only the year's total deductions accepted

The filed features not yet on an acceptance list are decisions, not deviations: they sit in §2 and in the summary until accepted.

Glossary

Appendix

Artifact Path
Exhibit binder (Ex 1–5, 8–11, 13–14) [Path removed before posting]
Reserve audits (eight valuations) [Path removed before posting]
Hedge-liability audit [Path removed before posting]
Crediting and decrement audits [Path removed before posting]
Run output and analysis workbook [Path removed before posting]
Run config [Path removed before posting]
Product config [Path removed before posting]
Review file (cells, accepted simplifications, review items) [Path removed before posting]
Sources [Path removed before posting]