Technical Notes#
Status: Draft, 2026-08-03 (all cited sources accessed 2026-08-03).
Scope note. These notes specify a reference liability cash-flow projection model
for the standardized composite product defined in product-spec.md (same directory).
This is not any single insurer’s product. [S#]/[R#] tags refer to the source list in
sources.md, numbering carried from _research/pension-annuity.md; [REG-R#] tags
refer to the cross-product reference library
references/regulatory-and-actuarial-references.md (its own R-numbering; research
provenance in _research/regulatory-actuarial.md). std marks
standardizations introduced for the reference implementation. Parameter values are
identical to those in product-spec.md; the mechanics anchor is one carrier’s
pension annuity [S1] [S2].
Model scope and conventions#
Purpose. Project gross best-estimate liability cash flows (annuity instalments to annuitant and dependant, guarantee-period payments, value-protection lump sums, maintenance expenses) for a single pension annuity in payment. Discounting, the matching adjustment and reserves are not computed (see Valuation and reserve pointers).
Mortality is the model. The contract has no premiums after outset [S2 §1.1], no surrender value [S2 §12] [S5 cl.14.7], no account value and no policyholder options after the cancellation window [S1 p4]. The only decrements are deaths; the only stochastic drivers are longevity and (for indexed options) inflation. This is the design property that makes the liability MA-eligible R1.
Projection frequency. Monthly grid, t = 1, 2, … months from the start date std. Payment dates fall on the grid per the frequency m; exact-day mechanics (one carrier’s first-of-month payments and stub proportioning [S5 §§5.2–5.3], another’s working-day adjustment [S2 §2.4]) are not modeled std.
Timing conventions std. Escalation is applied at the start of the month containing the policy anniversary (first at t = 13) [S2 §3.3]. Advance instalments are paid at the start of a payment period and require survival at the start; arrears instalments at the end, requiring survival at the payment date. Deaths are decremented at end of month; a death in month t means the life does not receive an arrears payment due at the end of month t [std convention].
Age basis. Age last birthday (ALB) std, chosen to index the std ONS life-table proxy by single year of age R13; the ONS convention itself is unverified. Annual rates convert monthly as q_m = 1 − (1 − q_x)^(1/12) std.
Limiting age. ω = 115 std: the std base table is extended beyond its maximum tabulated age by log-linear extrapolation of qx, capped at 1 at ω.
Currency and model points. GBP throughout [S2 §1.3]. Single-policy model points, projected on an expected (probability-weighted) basis: survival probabilities multiply scheduled per-policy cash flows. No aggregation logic is specified here.
Joint-life independence. Annuitant and dependant mortality are independent std (common-shock/”broken-heart” dependence is a documented model risk).
Model point attributes#
Attribute |
Type |
Example (worked configuration) |
|---|---|---|
|
currency |
100,000 [S1 p11] |
|
int (ALB) |
65 [S1 p11] |
|
enum {M, F} |
M std |
|
float ≥ 1 (1 = standard; enhanced overlay) |
1.0 std |
|
bool |
true |
|
int (ALB) |
62 std |
|
enum {M, F} |
F std |
|
float ≤ 1 [S1 p9] |
0.50 std |
|
bool (with/without overlap [S2 §§5.9–5.11]) |
false std |
|
currency p.a. |
5,400 std (see Worked example) |
|
enum {12, 4, 2, 1} [S2 §2.2] |
4 |
|
enum {advance, arrears} [S2 §2.3] |
arrears |
|
bool (arrears only [S2 §4]) |
false |
|
enum {level, fixed, rpi_catchup, lpi5} (spec menu) |
fixed |
|
float ≤ 0.10 [S2 §3.2] |
0.03 std |
|
int, 12–360, 0 if none [S1 p10]; XOR with VP [S2 §§6.7, 7.6] |
0 |
|
float ≤ 1 [S1 p11]; v + δ ≤ 1 on first-death basis [S2 §7.3] |
0.50 std |
|
enum {first_death, last_survivor} [S2 §7.3] |
first_death |
The premium P is the amount applied to the annuity after PCLS and adviser charges [S1 p4]; PCLS itself is pre-purchase and outside the model. A(1) is a pricing input: no insurer publishes a rate card, so A(1) is taken from a quote or calibrated to the anchor (£100,000 at 65 buying £6,657 p.a. with 50% VP, January 2026 [S1 p11]; the illustration’s frequency/timing/escalation basis is not recorded).
State variables#
Variable |
Description |
Updated |
|---|---|---|
|
Annualized income in policy year y (annuitant scale) |
anniversaries |
|
Running peak of the RPI reference index (catch-up state) |
anniversaries (rpi_catchup only) |
|
Cumulative gross instalments scheduled through month t |
payment dates |
|
Annuitant survival probability to end of month t; l_a(0) = 1 |
monthly |
|
Dependant survival probability to end of month t; l_d(0) = 1 |
monthly |
|
Probability annuitant dies in month t = l_a(t−1) − l_a(t) |
monthly |
|
Remaining guarantee months = max(0, n − t) |
monthly |
|
Value-protection balance = max(0, v × P − G(t)) |
payment dates |
Because instalments while the annuitant is alive are deterministic given the escalation path, G(t) and VPbal(t) are deterministic schedules in a deterministic projection — the expected VP outgo needs no path simulation (see recursions).
Assumption inputs#
Three classes are distinguished explicitly.
(a) Contractual / guaranteed elements (cited)#
Input |
Value |
Basis |
|---|---|---|
Instalment amount |
A(y)/m at each payment date |
[S1 p8] [S2 §2.2] |
Escalation rule |
per |
[S2 §3.2, §3.3, defs]; LPI floor harmonization std (spec footnote 5) |
Dependant’s income |
δ × income, same escalation basis; % of the higher of income at death and at guarantee end |
[S2 §§5.12–5.13] |
Overlap rule |
with: dependant stream runs during remaining guarantee; without: starts at guarantee end |
[S2 §§5.9–5.11] |
Guarantee period |
n months of instalments certain, escalation continuing as if alive |
[S2 §§6.5–6.6] [S7 §4.2] |
Value protection |
max(0, v × P − G(death)) on the chosen basis; v + δ ≤ 1 (first-death) |
[S1 p11] [S2 §7, §7.3] |
Surrender value |
none, at any time |
[S1 p4] [S2 §12] [S5 cl.14.7] |
Charges to policyholder |
none (priced into the rate) |
[S1 p6] |
(b) Insurer-discretionary current elements#
None post-purchase. The contract is non-participating [S7 §7.9] with all options fixed at outset [S1 p4]: there are no bonus rates, no reviewable premiums, no market value reductions, and no discretionary charges — class (b) is empty for this product. The only insurer-discretionary quantity is the annuity rate at purchase (pricing, not an in-force element); its snapshot is the January 2026 anchor quote [S1 p11], and day-to-day rate setting is not publicly documented unverified.
(c) Behavioral / experience assumptions (modeler’s view)#
Input |
Recommended basis |
Basis tags |
|---|---|---|
Base annuitant mortality |
Proper bases: SAPS S3/S4 pensioner tables (S4 released February 2024, graduated on 2014–2019 data) R10 R11 or the insured-annuitant PMA16/PFA16 family REG-R27. Both are restricted to CMI Authorised Users R11 REG-R22, so the reference basis is a std proxy: latest ONS UK national life table qx by age/sex R13 × annuitant adjustment α = 0.80 |
|
Mortality improvements |
CMI Mortality Projections Model, cited by name/version: CMI_2024 (WP201, June 2025, calibrated to E&W data to 31 Dec 2024) R12; current version CMI_2025 (WP211, March 2026) REG-R30. Model software restricted; reference fallback is a std deterministic scale: 1.25% p.a. reduction in qx for ages ≤ 90, tapering linearly to 0% at age 110, applied from the base table’s data mid-year |
|
Enhanced/impaired rating |
Overlay on qx: q_rated = min(1, θ_a × q_base), θ_a ≥ 1 (equivalently a rated-age offset); standard life θ = 1.0 |
existence [S1 p5] [S4] [S6] [S9]; overlay std (iii) |
Lapse / surrender |
None — no surrender value exists |
[S1 p4] [S2 §12] [S5 cl.14.7] R1 |
Maintenance expense |
£30 per policy per annum, payable monthly while any payment obligation remains, inflating at the RPI assumption |
std (iv) |
RPI inflation (for indexed options) |
3.0% p.a. deterministic |
std (v) |
(i) The SAPS table naming convention (e.g. S3PMA/S3PFA) is [unverified — not stated on the fetched page] R10. ONS national life tables are period tables of population mortality, freely downloadable and updated annually (latest release dated 10 December 2025 per the fetched dataset page) R13; population mortality is heavier than annuitant experience, hence the α < 1 adjustment. α = 0.80 is a shape-level placeholder, not calibrated to any published annuitant-vs-population comparison — a production basis must license CMI tables R11 REG-R22. (ii) CMI_2025 projects improvements converging to a user-chosen long-term rate with no default recommendation REG-R30 detail marked unverified in the reference library; the std flat-then-taper scale exists only so the reference implementation is runnable without CMI access, and materially understates the age–period–cohort structure of the real model R12. (iii) Insurers’ rating structures (postcode, condition-specific factors [S1 p5] [S9]) are not public; the multiplier form is the simplest overlay that reprices longevity without touching contract mechanics. (iv) No insurer publishes expense assumptions (charges are priced into the rate [S1 p6]); £30 p.a. is a round placeholder for in-payment administration. Acquisition cost is out of scope (single-premium, priced-in). (v) Deterministic RPI cannot value the RPI floor, the catch-up ratchet, or the LPI cap — all inflation options. See Key sensitivities.
Cash flow components and recursions#
Notation (defined once, used throughout)#
Symbol |
Meaning |
|---|---|
t |
month index from start date, t = 1, 2, …; policy year y = ceil(t/12) |
m |
payments per year (12/4/2/1); payment months T = {12k/m : k = 1, 2, …} (arrears) or {12k/m : k = 0, 1, …} mapped to the start of month 12k/m + 1 (advance) |
A(y) |
annualized income in policy year y; inst(t) = A(y(t))/m for t ∈ T |
g |
fixed escalation rate (0.03 std, ≤ 0.10 [S2 §3.2]) |
I(k), peak |
RPI reference index at anniversary k and its running maximum (catch-up state) [S2 defs] |
δ |
dependant’s percentage (0.50 std, ≤ 1 [S1 p9]) |
n |
guarantee period in months (0 or 12–360 [S1 p10]) |
v |
value-protection percentage (0.50 std, ≤ 1 [S1 p11]); v + δ ≤ 1 on first-death basis [S2 §7.3] |
P |
purchase price (100,000 [S1 p11]) |
G(t) |
cumulative gross instalments scheduled through month t |
q_a(t), q_d(t) |
monthly mortality of annuitant/dependant (rated, improved) |
l_a(t), l_d(t) |
survival probabilities from outset; d_a(t) = l_a(t−1) − l_a(t) |
w(t) |
dependant-stream availability: 1 if overlap or t > n, else 0 [S2 §§5.9–5.11] |
c_e, π |
maintenance expense p.a. (30 std) and expense/RPI inflation (0.03 std) |
Dimensional check: A(y) is currency per annum; inst = A/m is currency per payment; G, P, VP lump sums are currency; q, l, δ, v, w are dimensionless. Every cash flow below is currency per month.
Escalation update (start of month 12(y−1)+1, y ≥ 2) [S2 §3.3]#
level: A(y) = A(y−1)
fixed: A(y) = A(y−1) × (1 + g)
lpi5: A(y) = A(y−1) × (1 + min(0.05, max(0, rpi_Sep(y−1)))) [S2 §3.2, defs; floor [S5 §7.1.4][S9 §4.3]]
rpi_catchup: see pseudocode [S2 defs]
RPI catch-up pseudocode (path-dependent ratchet [S2 defs]; a second carrier operates the same rule [S9]):
# I[k] = RPI reference level for anniversary k
# (index for the 12 months ending six months before the anniversary [S2 defs])
peak = I[0] # reference level at outset
for k = 1, 2, ...: # k-th anniversary
if I[k] > peak:
A = A * (I[k] / peak) # increase by the excess over the prior peak
peak = I[k]
# else: A unchanged (income frozen until the index exceeds its peak)
Equivalently A(y) = A(1) × max(I(0..y−1)) / I(0): income is indexed to the running peak of the reference index. Under the deterministic RPI assumption (3.0% std) the index is monotone and the ratchet never binds, so rpi_catchup degenerates to fixed-3%; the ratchet has value only under stochastic inflation (see sensitivities).
Scheduled payment schedule (per policy, before survival weighting)#
At each payment month t ∈ T: scheduled annuitant instalment inst(t) = A(y(t))/m; scheduled dependant instalment δ × inst(t). Update G(t) = G(t−) + (instalments scheduled at t). The dependant’s amount uses δ × the income “as if alive” A(y(t)): this implements the contractual “% of the higher of income at death and income at guarantee end” [S2 §5.12] exactly, because under the (non-decreasing std menu) escalation options the as-if-alive income path is monotone, so the higher-of base plus same-basis escalation [S2 §5.13] reproduces δ × A(y(t)) at every later date.
Expected cash flows (month t)#
Annuity outgo (annuitant stream with its guarantee floor, plus dependant stream), for t ∈ T (arrears; for advance replace l(t) with l(t−1) std):
E[ANN(t)] = inst(t) × max(1{t ≤ n}, l_a(t)) — certain during guarantee [S2 §6]
+ inst(t) × δ × (1 − l_a(t)) × l_d(t) × w(t) — dependant stream [S2 §5]
The first term pays the full instalment regardless of survival while the guarantee runs (annuity-certain floor [S2 §§6.5–6.6] [S7 §4.2]) and l_a(t) × inst(t) thereafter. The second term pays the dependant when the annuitant is dead and the dependant alive, gated by w(t): with overlap both streams run during the remaining guarantee; without overlap the dependant stream starts at guarantee end [S2 §§5.9–5.11]. (Guarantee and VP never coexist in the representative design: n > 0 ⇒ v = 0 [S2 §§6.7, 7.6].)
Proportionate final payment (arrears with proportion only [S2 §4]): for a death in month t, the accrued stub to the next scheduled instalment is approximated as
E[PROP(t)] = d_a(t) × (h(t) + 0.5) / (12/m) × inst(next(t)) **[std half-month accrual]**
where h(t) is the number of complete months since the last payment date. Without proportion (representative default) this term is zero and nothing is paid for the final partial period [S2 §4].
Value protection (first-death basis; n = 0):
E[VP(t)] = d_a(t) × VPbal(t−1), VPbal(t) = max(0, v × P − G(t)) [S1 p11][S2 §7]
G accumulates gross instalments scheduled while the annuitant is alive; measuring the balance at t−1 implements “instalments already paid” for a mid-month death [std discretization]. On the last-survivor basis, replace d_a(t) with the density of the last death, d_last(t) = d(l_a + l_d − l_a l_d)(t), and let G accumulate the dependant’s instalments too [S2 §7.3] [S5 §8.4]. (One carrier’s variant additionally nets guarantee payments due, excluding future RPI/LPI increases [S7 §4.3] — implementable by extending G with guarantee outflows.)
Maintenance expense:
E[EXP(t)] = (c_e / 12) × (1 + π)^(y−1) × IF(t) **[std]**
IF(t) = min(1, max(1{t ≤ n}, l_a(t)) + 1{δ>0} × (1 − l_a(t)) × l_d(t))
IF(t) is the probability any payment obligation remains (guarantee certain, annuitant alive, or dependant stream in payment) std.
Total gross liability cash flow: CF(t) = E[ANN(t)] + E[PROP(t)] + E[VP(t)] + E[EXP(t)]. There is no premium income (single premium at t = 0 is a pricing input, not projected [S2 §1.1]) and no surrender outgo [S2 §12].
Mortality construction#
q_base(x, s) = ONS qx by age/sex [R13] × α, α = 0.80 **[std]** (proxy for SAPS S4 [R10][R11] / PMA16-PFA16 [REG-R27])
q_imp(x, c) = q_base(x) × (1 − f(x))^(c − c_0) **[std]** improvement fallback (f = 1.25% p.a. ages ≤ 90, linear taper to 0 at 110; c_0 = base-table data mid-year; production: CMI_2025 with a chosen long-term rate [R12][REG-R30])
q_rated(x, c) = min(1, θ × q_imp(x, c)) **[std]** enhancement overlay
q_m = 1 − (1 − q_rated)^(1/12) **[std]**
l(t) = l(t−1) × (1 − q_m(t)), separately for annuitant (θ_a) and dependant (θ_d)
Monthly processing order#
If t starts a policy year (t = 12(y−1)+1, y ≥ 2): apply the escalation update (including catch-up state) [S2 §3.3].
If t ∈ T: record scheduled instalments; update G(t).
Decrement mortality: update l_a(t), l_d(t), d_a(t).
Compute expected payment flows E[ANN(t)], E[PROP(t)] using survival to the payment point (arrears: end of month t, i.e. l(t); advance: end of month t−1, i.e. l(t−1)) std.
Compute E[VP(t)] from d_a(t) and VPbal(t−1); update VPbal(t).
Accrue E[EXP(t)].
Stop when IF(t) < 10^-6, or when every in-scope life has passed the limiting age (t/12 + x_a > ω and, if a dependant is present, t/12 + x_d > ω), ω = 115 std — stopping on the annuitant’s age alone would truncate a younger dependant’s tail.
Policyholder behavior modeling#
There is none to model, and this is a cited product feature, not an omission: after the 30-day cancellation window the policyholder holds no options — no surrender or transfer [S1 p4] [S2 §12] [S5 cl.14.7] [S7 §7.5] [S9 §3.9], no alteration of options [S1 p4] [S4] [S6] [S9], and no premium flexibility [S2 §1.1]. Consequently the model has no lapse decrement and no dynamic behavior formulas; the MA eligibility conditions effectively require this shape (no policyholder options beyond a bounded surrender option) R1.
Behavior enters only at outset, outside the projection, as basis-selection effects std to consider when calibrating mortality:
Annuitization anti-selection. Since the 2015 pension freedoms annuitization is optional R6, so voluntary annuitants self-select for longevity — a reason annuitant bases sit below population mortality (the direction of α < 1 std).
Enhanced-annuity selection. Whole-market enhanced quoting is mandated at the point of sale R5; lives remaining on standard terms are healthier on average. The reference model carries this through θ, not through behavior dynamics.
Cancellation window. The 30-day cooling-off [S1 p7] [S2 §13] is ignored (projection starts from a completed purchase) std.
Worked example#
Configuration (the worked model point; parameters as in product-spec.md):
P = £100,000 [S1 p11]; annuitant male 65, dependant female 62 std; quarterly
(m = 4) in arrears, without proportion [S2 §§2.2–2.3, 4]; fixed escalation g = 3%
std; dependant δ = 50% std; value protection v = 50% on the annuitant’s
(first) death std — v + δ = 100%, exactly at the contractual bound [S2 §7.3];
no guarantee period (XOR rule [S2 §§6.7, 7.6]). Starting income A(1) = £5,400 p.a.
std — an illustrative quote level (no public rate card exists; the cited anchor,
£6,657 p.a., is for a 50%-VP basis whose escalation/frequency basis is not recorded
[S1 p11], and an escalating joint-life basis starts lower than a level one for the
same premium [S1 p8] [S4] [S6]). Scenario: the annuitant dies in month 17; the
dependant survives throughout. All amounts in GBP.
Instalments: year 1: 5,400/4 = 1,350.00 per quarter; year 2 (from t = 13): A(2) = 5,400 × 1.03 = 5,562.00, so 1,390.50 per quarter. Dependant income after death: δ × A(2) = 2,781.00 p.a. = 695.25 per quarter, first paid at the next scheduled payment date after death (t = 18) [std convention].
t (month) |
Event |
Annuitant CF |
Dependant CF |
VP lump sum |
G(t) |
|---|---|---|---|---|---|
3 |
Q1 instalment (arrears) |
1,350.00 |
— |
— |
1,350.00 |
6 |
Q2 instalment |
1,350.00 |
— |
— |
2,700.00 |
9 |
Q3 instalment |
1,350.00 |
— |
— |
4,050.00 |
12 |
Q4 instalment |
1,350.00 |
— |
— |
5,400.00 |
13 |
Anniversary: A ← 5,400 × 1.03 = 5,562.00 |
— |
— |
— |
5,400.00 |
15 |
Q5 instalment |
1,390.50 |
— |
— |
6,790.50 |
17 |
Annuitant dies. VP = max(0, 0.50 × 100,000 − 6,790.50) |
— |
— |
43,209.50 |
6,790.50 |
18 |
Q6 date: no annuitant payment (arrears, without proportion [S2 §4]); dependant stream starts |
0.00 |
695.25 |
— |
7,485.75 |
21 |
Q7 instalment (dependant) |
— |
695.25 |
— |
8,181.00 |
24 |
Q8 instalment (dependant) |
— |
695.25 |
— |
8,876.25 |
Checks. VP balance at death uses instalments paid before death: G(16) = 6,790.50, so the lump sum is 50,000 − 6,790.50 = 43,209.50 [S1 p11] [S2 §7]. Had “with proportion” been chosen, a stub of ≈ (1 + 0.5)/3 × 1,390.50 = 695.25 would be paid for the accrued month-and-a-half since t = 15 (std half-month accrual; one carrier would net this stub off the VP fund-value formula [S5 §8.3]). The dependant’s 695.25 continues for her life, escalating 3% at each anniversary on the same basis [S2 §§5.12–5.13].
Guarantee/VP interaction. Had the model point instead carried a 10-year guarantee [std default] and no VP (the XOR rule forbids both [S2 §§6.7, 7.6]), the death in month 17 would change nothing until month 120: instalments of 1,390.50, escalating 3% each anniversary as if the annuitant were alive [S7 §4.2], continue to beneficiaries through t = 120 (annuity-certain floor), and — without overlap — the dependant’s 695.25-style stream would begin only from the first payment date after t = 120, at δ × the income at the end of the guarantee period [S2 §§5.9–5.12]. With overlap, the dependant’s stream would run from t = 18 alongside the guarantee payments [S2 §§5.9–5.11]. In expectation these scenario flows are reproduced by the E[ANN(t)] formula with n = 120 and w(t) as defined.
Valuation and reserve pointers#
This library projects gross best-estimate liability cash flows; valuation layers consume them and are NOT reproduced here:
Solvency UK best estimate. Technical provisions = best estimate + risk margin; the best estimate is the probability-weighted average of future cash flows discounted at the relevant risk-free term structure, market-consistently REG-R1. The CF(t) vector above is exactly that input.
Matching adjustment. These cash flows feed MA discounting (risk-free + MA) for eligible portfolios: MA permission required; eligibility conditions include no future premiums, restricted underwriting risks, the ≤ 5% BEL mortality-stress test, and no policyholder options R1 REG-R2. Reform context: CP19/23 → PS10/24, effective 30 June 2024 R2 REG-R5; supervisory expectations and matching tests in SS7/18 (October 2025 version) REG-R8. The MA calculation itself is cited-not-specified.
Risk margin. Cost-of-capital method at 4% with life-business tapering λ = 0.9 (floor 0.25) per SI 2023/1346 REG-R4; requires an SCR runoff — cited-not-specified.
Transitionals. TMTP (simplified regime from 31 December 2024) affects pre-2016 back-books only; it adjusts technical provisions, not projected cash flows REG-R3.
IFRS 17. UK-adopted IFRS 17 (adopted 16 May 2022, effective 1 January 2023) REG-R38 measures the same contracts as fulfilment cash flows plus risk adjustment plus CSM (measurement mechanics summarized from general knowledge — unverified in the reference library, which verifies the adoption facts only); the expected-cash-flow engine is identical, with regime-specific discounting and margins layered on.
Tax. Pension annuities are pension business — non-BLAGAB, trade-profit basis REG-R17 [S5 §14.11]; no policyholder fund tax enters the projection.
Professional standards. Technical actuarial work using this model in the UK falls under FRC TAS 100 v2.0 REG-R33 and TAS 200 v2.0 (effective 1 January 2025) R14. Proxy models fitted on top of heavy annuity cash-flow models — and the outputs the heavy model must expose for them — are treated in the IFoA proxy-model working party paper REG-R36.
Key sensitivities and model risks#
Dominant assumptions, in order:
Longevity level (base table × α × θ). The liability is a life-contingent payment stream with no offsetting decrements; a lower mortality level lengthens every annuity stream. The std α = 0.80 population-proxy adjustment is the weakest link in the reference basis — production work must substitute licensed SAPS S4 / PMA16-era tables R10 R11 REG-R27 REG-R22.
Longevity trend (improvements). The std deterministic scale stands in for CMI_2025 REG-R30; the choice of long-term improvement rate is the single most sensitive judgment in UK annuity valuation, and the CMI model’s user-set long-term rate has no default recommendation REG-R30, detail unverified. The prescribed MA mortality stress (worse of +15% level / +0.15pp additive, ≤ 5% BEL movement) R1 gives a regulatory yardstick for level-risk materiality.
Inflation exposure (RPI/LPI options). RPI-linked instalments make the liability an inflation swap; the 0-floor, catch-up ratchet and LPI 5% cap are inflation option positions [S2 §3.2, defs]. A deterministic 3% path std values them at intrinsic only: the floor and ratchet never bind and the cap never pays off — stochastic inflation (or option-adjusted margins) is required for a market-consistent value. RPI reform risk (index definition) is additional and not modeled.
Dependant assumptions. δ, the age gap, and dependant mortality drive the joint-life tail; the independence assumption std ignores broken-heart dependence and common lifestyle factors, overstating the expected dependant stream modestly.
Expense inflation. Second-order (expenses are small against instalments), but the in-payment term is 30+ years, so the π assumption compounds.
Known modeling pitfalls:
Guarantee double-counting. During the guarantee, the annuitant stream is certain — do not also weight it by l_a(t) (the max(1{t≤n}, l_a) form prevents paying 1 + l_a). Symmetrically, VP and guarantee never coexist in the representative design [S2 §§6.7, 7.6]; engines supporting the combinable variant offered by one carrier must net guarantee payments off VPbal [S7 §4.3] or the death benefit is double-paid.
Overlap gating. Without overlap the dependant stream is gated on t > n even when the annuitant died mid-guarantee; applying δ from the death date silently converts every without-overlap policy into the more expensive with-overlap form [S2 §§5.9–5.11].
Higher-of dependant base. The δ × A(y(t)) simplification relies on non-decreasing escalation; if a decreasing option is configured (one carrier’s pure RPI [S5 §7.1.2]), the contractual “higher of income at death and at guarantee end” [S2 §5.12] must be implemented explicitly.
Survival-measurement timing. Arrears payments require survival at the payment date; advance payments at the period start. Using end-of-period survival for advance payments understates the liability by roughly one period’s mortality per payment — material at high ages.
Catch-up state. The RPI ratchet is path-dependent: peak must persist across anniversaries. Resetting it each year turns the catch-up into a plain 0-floor and overstates indexed income after deflation-recovery paths [S2 defs].
Escalation timing. Increases apply on the anniversary [S2 §3.3], not on payment dates; applying the year-2 rate to the t = 12 arrears instalment (accrued in year 1) overstates income. GMP-bearing policies use different escalation dates (1 April / 1 May at one carrier [S5 §7.2]) — out of scope with GMP generally std.
VP balance timing. VPbal must net instalments paid before death; netting the instalment due at the death-month payment date that was never paid (arrears, without proportion) understates the lump sum [S2 §§4, 7]. Symmetrically, on advance timing an instalment paid at the start of the death month has been paid: in advance payment months net it (use VPbal after the month-t advance payment, not VPbal(t−1)) or the lump sum is overstated by one instalment.
Population-proxy basis risk. The std ONS × α basis has the wrong shape as well as level versus annuitant tables (socio-economic mix, amounts weighting R10 R11 detail unverified); treat all reference-basis results as mechanics demonstrations, not valuations — and note the CMI restriction honestly rather than shipping approximated “SAPS-like” rates REG-R22.