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 fund. [S#]/[R#] tags refer to the source list in
sources.md (numbering carried from _research/with-profits.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; unverified marks
claims not confirmed against a retrieved document. Parameter values are identical to
those in product-spec.md. Mechanics anchors: the PPFMs of three proprietary insurers
[S1] [S4] [S5]; regulatory codification of the asset-share item list: PRA Surplus
Funds Part R8; canonical methodology literature: Needleman & Roff (1995) on asset
shares and Hibbert & Turnbull (2003) on guarantee costs, as listed on the IFoA SA2
resources page R13.
Model scope and conventions#
Purpose. Project gross best-estimate liability cash flows (premiums in; death, maturity and surrender claims out; expenses; shareholder transfers) for single-policy with-profits model points on the two composite chassis (unitised bond, conventional endowment), with the smoothed-fund (PruFund-style) variation as an alternative crediting module. Reserves are not computed here (see Valuation and reserve pointers).
The asset share is a state variable, not a cash flow. Policy cash flows are premiums, claims (paid at smoothed payouts), expenses and shareholder transfers; the asset share [S1] R8 drives claim amounts through the bonus, smoothing and MVR machinery. The estate absorbs payout-vs-asset-share differences [S1] [S5].
Projection frequency. Monthly std, with the bonus declaration left on its annual cycle. The declaration is the governing act of discretion, it happens once a policy year, and it permanently hardens the guarantee [S1] [S4] [S7] — so it fires in the twelfth month of each policy year and nowhere else, while everything continuous (fund return, charges, mortality charge, decrements, the smoothed payout, the final bonus and the MVR) runs monthly around it. Annual rates are converted with the effective forms
(1 + r)^(1/12)and1 − (1 − r)^(1/12)std, so twelve months compound back to the annual figure exactly and the assumption basis does not move with the grid. The PruFund daily/quarterly smoothing [S9] [S11] remains out of scope: a monthly grid still cannot carry a 5% daily limit or a 2.5% gap trigger that fires and unwinds between two monthly points.Time index std.
tis the 0-based policy month index:t = 0is the issue month, monthtruns from timetto timet + 1, and the projection coverst = 0, 1, …, proj_len − 1, soproj_lenis the number of policy months from issue. An in-force cell opens its frame att = 12 × duration_ifo, its elapsed months, and carries its state in as the opening balances of that month. The contractual policy year containing monthtis the 1-based labelt // 12 + 1; anniversarykends month12k − 1; and the attained age in monthtisx + t // 12, advancing on the anniversary.Timing conventions std. Premiums and partial withdrawals at the start of the month (BOM); fund return accrues over it; proportional charges, the shareholder transfer and the mortality charge at end of month (EOM), in the processing order below; claims and decrements at EOM. The bonus declaration falls at EOM in a declaration month only —
(t + 1) mod 12 = 0— ahead of that month’s mortality charge and payout calculation, so the hardened guarantee is what the month’s claims are measured against.Age basis. Age nearest birthday std — no retrieved UK document fixes a model age basis; ANB is chosen for symmetry with the library’s US convention (its traditional use in UK assured-lives tables is unverified; the currently marketed bond quotes its issue-age limit on an age-next-birthday basis [S10]).
Currency. GBP. Single-policy model points, projected on an expected (probability-weighted) basis: survivorship factors multiply per-policy cash flows.
Specimen-policy convention. Firms compute asset shares for specimen policies or groups, not necessarily per policy [S1] [S4] [S5] R1 COBS 20.2.5R(2); the reference model computes a per-model-point asset share and treats it as the specimen.
Rounding. Intermediate values at full precision; cash flows reported to pence std.
Model point attributes#
Attribute |
Type |
Example (anchor cells, product-spec) |
|---|---|---|
|
enum {UWP_bond, CWP_endowment, SF_prufund} |
UWP_bond |
|
int (ANB) |
55 (UWP) / 35 (CWP) |
|
enum {M, F} |
M |
|
int, completed policy years at valuation |
5 |
|
currency (UWP bond) |
25,000 |
|
currency p.a. (CWP: £60/month → 720 p.a.) |
720 |
|
currency (CWP basic SA) |
20,000 |
|
int (CWP; UWP bond whole-of-life → none) |
25 |
|
float (UWP) |
25,000 |
|
currency (UWP |
1.104081 |
|
currency (CWP |
— |
|
currency (in-force cells); the |
30,000 |
|
currency; the opening |
29,500 |
|
list of anniversaries (MVR-free); anniversary |
{10} |
|
% of original premium p.a. |
5% |
|
enum {life_net, pension_gross} [S1] REG-R17 |
life_net |
|
bool / annuity per £1 cash |
false / — |
|
bool (mutual profit distribution variation [S6]) |
false |
State variables#
Variable |
Description |
Updated |
|---|---|---|
|
Asset share at the end of month t [S1] R8 |
monthly recursion |
|
With-profits unit price (UWP) at the end of month t; never decreases |
EOM, declaration months only |
|
Unit face value |
EOM |
|
Guaranteed benefit |
EOM, declaration months only |
|
Declared annual regular bonus rate for the policy year holding t |
once a policy year, setting rule |
|
Smoothed target payout (after the cap and the corridor) |
EOM |
|
Final (terminal) bonus payable on a claim in month t |
EOM |
|
Market value reduction on non-guaranteed exits |
EOM |
|
Cost of bonus recognized in month t; nil outside a declaration month |
EOM |
|
Shareholder transfer = |
EOM |
|
Smoothing account balance (within estate) |
on exits |
|
Cumulative guarantee-charge deductions (for the 2% lifetime cap [S1]) |
monthly |
|
In-force probability at the start of month t (at time t) |
BOM, after the previous month’s decrements |
Q, FV and G are step functions of the policy year: a declaration moves them in
the twelfth month and they are flat through the other eleven. That is the single most
important thing to get right when implementing this on a monthly grid — compounding the
annual rate b twelve times a year produces a projection that runs, whose roll-forwards
close, and whose guarantee is an order of magnitude too large a decade later.
Each state variable except l is a closing balance: AS(t), Q(t), FV(t),
G(t), S(t) are the values at the end of month t, so the value a month opens with
is the previous month’s close, and for the first projected month it is the carried-in
state on the model point. l is the count at a time point: l(t) is the in force at
the start of month t, l(0) = 1 at issue, and it is the weight on that month’s
cash flows.
Assumption inputs#
Three classes are distinguished explicitly. Class (a) is contractual/guaranteed; class (b) is the insurer’s current discretionary scale (PPFM-governed discretion R2, advised by the With-Profits Actuary R5); class (c) is the modeler’s view of experience.
(a) Contractual / guaranteed elements (cited)#
Input |
Value |
Basis |
|---|---|---|
Basic sum assured / premium / term (CWP) |
£20,000 / £720 p.a. / 25 years |
anchor std, product-spec (15) |
Bonus hardening |
declared regular bonus increases the guaranteed benefit; contractual once added; guaranteed at death/maturity only |
[S1] [S8] |
Unit-price floor (UWP) |
|
[S1] [S4] |
Guarantee events (UWP) |
death; contractual guarantee dates (10th anniversary); face value + FB payable without MVR |
[S4] [S5]; date choice std, product-spec (12) |
Death benefit factor (UWP) |
|
101% std, product-spec (11); no-MVR [S5] |
MVR-free withdrawals |
≤ 5% p.a. of original premium |
std, product-spec (13) |
MVR contractual bound |
MVR ≤ excess of unit value over underlying asset value |
|
PruFund smoothing limits (variation) |
daily 5.0% / quarterly 10.0% / gap 2.5% (growth funds); contractual defined terms |
[S9] [S11] |
(b) Insurer-discretionary current elements (snapshot; revisable under PPFM discipline R2 R5)#
Input |
Value |
Basis |
|---|---|---|
Regular bonus rate |
2.00% p.a. |
std, product-spec (8) — declarations not public in PPFMs |
Reversionary bonus rate |
1.50% p.a. compound |
std, product-spec (16) |
Bonus change cap |
±1.00% p.a. in normal circumstances; floor 0 |
[S1] [S7]; adoption std, product-spec (20) |
Guarantee-fill target |
80% of projected maturity asset share |
std, product-spec (21); philosophy [S1] |
Smoothing y/y cap |
±10% |
[S1]; adoption std, product-spec (23) |
Target corridor |
80%–120% of asset share |
|
AMC |
1.00% p.a. |
std, product-spec (9) |
Guarantee/smoothing charge |
0.10% p.a. of asset share; lifetime cap: deductions cease once |
cap [S1]; rate and cap mechanics std, product-spec (10) |
Interim bonus rate |
= last declared regular bonus rate |
practice [S1] [S7]; equality std, product-spec (17) |
MVR scale |
derived each year from the formulas below (no tabulated scale) |
[S5] [S6]; derivation std |
EGR (smoothed-fund variation) |
5.0% p.a. |
std, product-spec (25) |
Mutual profit distribution (variation) |
0 in base |
[S6]; base choice std |
(c) Behavioral / experience assumptions (modeler’s view)#
CMI tables issued after 1 March 2013 are subscriber-restricted R10 REG-R22, so no current CMI rates can be reproduced here: the reference basis is a std proxy on the freely redistributable ONS national life tables REG-R32 (population mortality is heavier than insured experience REG-R32). AM92/AF92 (published 1999) remain the canonical assured-lives shape reference REG-R24; their use in historical with-profits work is unverified convention R10.
Input |
Recommended basis |
Basis tags |
|---|---|---|
Base mortality |
60% × ONS National Life Tables (UK, 2021–2023) qx, sex-distinct |
|
Mortality improvement |
CMI_2025 projections model, long-term rate 1.25% p.a. — named, not reproduced (subscriber-restricted) |
|
Base surrender rate — UWP bond |
5% p.a. flat |
|
Base lapse rate — CWP endowment |
5% yr 1, 4% yr 2, 3% yr 3, 2% yrs 4+ |
|
Dynamic surrender multipliers |
see Policyholder behavior modeling |
|
Paid-up conversion (CWP) |
excluded from base model; flag for extension |
option exists [S4]; exclusion std |
Maintenance expense |
£30 per policy p.a., inflating 3.0% p.a. |
|
Fund return |
5.0% p.a. deterministic base scenario, net of dealing costs [S5]; net of life-fund tax for |
scenario level std |
GAO take-up (legacy flag) |
90% when in-the-money by >10%, else 30% |
std [unverified — no public experience retrieved] |
Deterministic single-scenario projection is the base; the cost of guarantees requires stochastic valuation (see Cash flow components, cost-of-guarantees note).
Cash flow components and recursions#
Notation (defined once, used throughout)#
Symbol |
Meaning |
|---|---|
|
policy month index, 0-based: |
|
premium received at BOM t (a twelfth of the annual regular premium) |
|
partial withdrawals paid at BOM t (a twelfth of the annual election) |
|
insurer maintenance expense in month t ((£30/12) × 1.03^(y(t)−1) std) |
|
earned fund return, annual (net basis per |
|
AMC 1.00% p.a.; guarantee/smoothing charge 0.10% p.a. std; |
|
annual mortality rate (class (c) basis) and its monthly equivalent |
|
annual surrender/lapse rate (incl. dynamic multipliers) and its monthly equivalent, the guarantee-date encashment included |
|
guarantee-date encashment rate, 7.5% of the survivors of that month std |
|
mortality charge to the asset share in month t [S1] |
|
declared annual regular / reversionary bonus rate for the policy year |
|
unit price, units, face value (UWP); |
|
guaranteed benefit (CWP): SA + attaching bonuses |
|
smoothed target payout after cap and corridor |
|
final bonus, market value reduction, terminal bonus |
|
cost of bonus; shareholder transfer = CB/9; both nil outside a declaration month |
|
guarantee-fill target 0.80; bonus-smoothing speed 0.5; year-on-year cap 10% std, applied monthly as |
|
UWP death benefit factor 1.01 std |
|
CWP surrender-basis discount rate 4.0% std; |
|
CWP term in years (25), so maturity falls at the end of month |
|
in-force probability at the start of month t (at time t); |
Monthly processing order std#
Monthly rates, all std effective conversions of the annual assumptions:
r_m = (1+r)^(1/12) − 1, c_amc,m = 1 − (1−c_amc)^(1/12),
c_g,m = 1 − (1−c_g)^(1/12), q_m = 1 − (1−q)^(1/12), w_m = 1 − (1−w)^(1/12).
For month t = 0..proj_len−1:
BOM: premium
P(t)received — a twelfth of the annual regular premium std, plus the single premium att = 0; UWP units purchased:U(t) = U(t−1) + α·P(t)/Q(t−1)with allocationα = 100%(product-spec (7)).BOM: partial withdrawals
W(t)paid — a twelfth of the annual election std (MVR applies if outside the MVR-free allowance); asset share reduced pro rata to the pre-MVR policy value [S1].Fund return
r_maccrues on the asset share balance.EOM: proportional charges: multiply by
(1 − c_amc,m − c_g,m); accumulateCumGC; setc_g = 0for the month onceCumGC(t−1) ≥ 2% × AS(t−1)— the cumulative and the asset share the month opens with, so that the charge does not depend on the balance it is deducted from [S1 cap; mechanics std]. The cap is tested every month rather than once a year, so the charge stops the month the cumulative overtakes the threshold.EOM, declaration months only (
(t+1) mod 12 = 0): the annual regular bonusbdeclared for the policy year per the setting rule below;Q(t) = Q(t−1)(1+b)(UWP) orG(t) = G(t−1)(1+b_rev)(CWP); cost of bonusCB(t)computed on pre-declaration values; shareholder transferST(t) = CB(t)/9deducted from the asset share [S5] R8; product-spec (2). In the other eleven monthsQ(t) = Q(t−1),G(t) = G(t−1)andCB = ST = 0.EOM: mortality charge
MC(t) = q_m · max(0, DB_g(t) − AS_pre(t))deducted, whereDB_gis the guaranteed death benefit (g_db·FV(t)UWP;G(t)CWP) andAS_prethe balance after step 5 [S1 formula: mortality rate × (death benefit − policy value); guaranteed-only DB in the sum at risk std]. In the eleven months before a declaration the sum at risk is measured against the guarantee as it then stands; the declaration month’s charge is the first to carry the hardened one.EOM: smoothed payout
S(t)computed (cap, then corridor);FB/TB/MVRderived. All three are monthly quantities: a claim in any month is paid on the payout of that month.EOM: claims paid — deaths at
q_m, surrenders atw_m, maturity at the last projected montht = 12n − 1; smoothing account posts(payout − AS(t))per exiting unit of probability.Survivorship:
l(t+1) = l(t) · (1 − q_m) · (1 − w_m)(maturity month: survivors mature).
Because q_m and w_m compound back to q and w exactly over twelve months, and
both are constant within a policy year, l(12y) is the in-force an annual-step
projection of the same tables would report at the y-th anniversary. That identity is
the cheapest check on a monthly implementation of the decrements.
Regular bonus setting rule std#
The PPFM principles are: rates set from projections; gradual changes (±1% p.a. normal); keep a substantial proportion of the payout in final-bonus form; full discretion to declare zero [S1] [S7]. The reference parametrization:
Project the asset share to the horizon at the expected net return
r_e = r_base − c_amc − c_gstd — annual rates throughout, because the rate being set is annual — from the balance the declaration month opens with:AS_proj = AS(t−1) · (1+r_e)^(m) + future premiums accumulated to the horizon at r_e, withm = n − y(t)in years, the term less the policy year the declaration closes (CWP), orm = h = 10(UWP whole-of-life bond).Supportable rate: the level bonus rate that grows the guarantee to the guarantee-fill target θ = 80% of the projected asset share, measured on the guarantee the declaration month opens with:
UWP:
b_supp = [ θ·AS_proj / FV(t−1) ]^(1/m) − 1CWP:
b_supp = [ θ·AS_proj / G(t−1) ]^(1/m) − 1
Smoothed declaration with the ±1% discipline [S1] [S7]:
b(y) = max( 0, b(y−1) + clamp( κ·(b_supp − b(y−1)), −0.01, +0.01 ) ), κ = 0.5 std. The discipline is per declaration, so the rule is applied once a policy year, at that year’s declaration month, against the rate declared a year earlier — not once a month, which would be a different and far looser rule.
The base projection holds the snapshot rates (2.00% UWP / 1.50% CWP) level; the rule above is the revision module for scenario work.
Smoothed payout, final bonus, terminal bonus#
Raw target = the unsmoothed asset share (payout target 100% of asset share [S5] [S7] [S8] R1). Apply the smoothing cap, then the corridor, every month:
S_raw(t) = AS(t)
S_cap(t) = clamp( S_raw(t), (1−σ)^(1/12)·S(t−1), (1+σ)^(1/12)·S(t−1) ) σ = 10% [S1]
S(t) = clamp( S_cap(t), 0.80·AS(t), 1.20·AS(t) ) [S1][R1]
The cap is the year-on-year ±σ discipline [S1] taken to its twelfth root std, so that twelve capped months move the payout by exactly ±σ over the policy year. That conversion is what preserves the rule’s meaning on a monthly grid: a flat ±σ per month would be twelve times as loose, and applying ±σ only at anniversaries would leave the eleven intervening payouts — on which real claims are paid — unsmoothed.
The corridor implements the 80–120% target range deterministically at model-point level; the ≥90%-of-policies test [S1] R1 is a portfolio property, out of scope for a single-policy model std.
UWP final bonus:
FB(t) = max(0, S(t) − FV(t)); guarantee-event payoutFV(t) + FB(t); death payoutg_db · (FV(t) + FB(t))[S5: no MVR on death].CWP terminal bonus:
TB(t) = max(0, S(t) − G(t)); maturity payoutG + TBat the end of the last projected month,t = 12n − 1; death payoutG(t) + interim accrual + FB per the same scale[S1] [S4] [S8].When the guarantee bites (
S(t) < FV(t)orS(t) < G(t)), the excess of the guaranteed payout over the asset share is charged to the smoothing/guarantee account within the estate [S1] [S4].
MVR (unitised, non-guaranteed exits)#
MVR(t) = min( max(0, FV(t) − S(t)), max(0, FV(t) − AS(t)) )
Surrender payout = FV(t) + FB(t) − MVR(t)
The first argument recovers the smoothed-payout shortfall below face value (post-MVR
payouts target 100% of asset share, here its smoothed image [S5]); the second is the
COBS 20.2.16R bound — the MVR may not exceed the excess of unit value over the
underlying asset value R1. Because FB > 0 requires S > FV and MVR > 0
requires S < FV, final bonus and MVR are never simultaneous (the rule observed in one
consolidated with-profits fund [S4]; adoption product-spec (24)). MVR-free events:
death [S5], guarantee dates [S4] [S5], withdrawals within the 5% allowance std
(product-spec (13)).
A guarantee date is a date, and the monthly grid says so: an exit in month 12k − 1
for a guarantee anniversary k is MVR-free, and an exit in any of the other eleven
months of that policy year bears the reduction like any other. An annual grid has to
treat the whole year as the date.
Smoothing account#
On each exit, post the smoothing cost (payout − AS(t)) weighted by the exiting
probability to SM(t) (within the estate). Intended broadly neutral over time
[S1] [S2] [S5] [S6]; the base model tracks the balance without recycling. Optional
module: year-end recycling into credited returns as one insurer operates it (maximum
deduction currently 2.5% of asset shares p.a.) [S5].
Cost of guarantees — cited, not specified#
The deterministic charge c_g is a charging proxy, not a valuation. The economic
cost of the guarantees (unit-price floor, guarantee-date face value, CWP sum assured
plus hardened bonuses, GAO) requires stochastic market-consistent valuation: PRA
Technical Provisions 9.2 requires guarantees and options to be valued with realistic
dynamic assumptions R7, and the canonical methodology is market-consistent
stochastic simulation of the bonus/smoothing/MVR rules (Hibbert & Turnbull 2003; Hare
et al. 2000 R13). This model produces the per-scenario cash flows such a valuation
consumes; the stochastic layer itself is out of scope.
GAO module (legacy flag)#
Where gao_flag is set (CWP pension cells), the retirement benefit is
max( CashFund(T) · OMR(T), CashFund(T) · gao_rate ) — the guaranteed annuity rate
floors the open-market conversion. GAOs are present in several closed funds, backed
by fixed-interest assets, with interest-rate risk identified as a fund business risk
[S4]; the 2000 GAO litigation history is unverified context. gao_rate = £0.09 p.a. per
£1 of cash fund std [unverified as typical]; take-up per class (c). The GAO is
a valuation-critical option (stochastic interest-rate exposure) — cited, not
fully specified.
Cash flow outputs (per month t, probability-weighted by l)#
l(t) is the in force at the start of month t, so it is the weight on every flow of
that month — the same row of the result table.
Output |
Formula |
|---|---|
Premium income |
|
Death claims |
|
Surrender claims |
|
Maturity claims |
|
Partial withdrawals |
|
Maintenance expenses |
|
Shareholder transfers |
|
Policyholder behavior modeling#
All dynamic formulas are std — no public UK with-profits lapse experience was retrieved; the shapes are rationalized from the product’s incentive structure, and dynamic option-exercise modeling is a regulatory expectation for the BEL R7.
Base surrender: UWP bond 5% p.a. flat; CWP 5%/4%/3%/2%+ (class (c) table). The table is keyed by the contractual policy year, the 1-based label, so month
treads rowt // 12 + 1and policy years past the table take its last row. The rate is annual and the projection decrements byw_m = 1 − (1 − w)^(1/12)std.MVR deterrent:
w(t) = w_base(t) · 0.6whileMVR(t) > 0std — an active MVR penalizes exit, and firms may consider exit volumes in setting MVRs within the COBS bound R1 COBS 20.2.16AR. A diffuse tilt, so it multiplies the annual rate.Guarantee-imminent suppression:
w(t) = w_base(t) · 0.8in the twelve months before a guarantee date std (waiting for the MVR-free window). Also a tilt on the annual rate.Guarantee-date encashment: an additional
ε = 7.5%std of the survivors of the guarantee-date month12k − 1, and only whenFV(t) > AS(t)(the guarantee is in the money), so thatw_m(t) = 1 − (1 − w_m,ordinary(t))(1 − ε). MVR-free encashment is rationally exercised precisely in that state and worth nothing otherwise, so the gate is not optional: applying it unconditionally invents anti-selection where there is none.This is the one place where the monthly grid changes an assumption’s shape rather than its frequency, and deliberately. On an annual grid the exercise could only be a
× 2.5multiplier on the whole guarantee-date year’s surrender rate std, which spreads MVR-free exits across eleven months in which the window is shut. Here it falls in the month the option is actually open, at a rate set so that a guarantee-date year still sheds about the proportion the annual multiplier shed. Neither figure is measured — no public UK with-profits experience was retrieved — and both are rationalized from the incentive structure alone.Withdrawal utilisation: withdrawing bond cells take the full 5% MVR-free/tax-deferred allowance, a twelfth of it each month std; utilisation 30% of policies std (allowance context [S10] REG-R15).
GAO take-up: 90% when in-the-money by >10%, else 30% std unverified.
Paid-up conversion (CWP): excluded from base std; where modeled, benefits reduce per policy terms and future bonuses may or may not accrue [S4], and asset shares may need separate treatment for altered policies [S6].
Worked example#
Anchor UWP bond cell (product-spec (14)): £25,000 single premium; U = 25,000
units at a seed price of £1.0000; five declarations, one at the end of each of the
first five policy years, give an opening price of 1.02^5 = 1.104081 and an opening
face value of £27,602.02. The cell is in force at duration 5, so it is projected from
t = 60 — the first month of its sixth policy year — and the asset share, the smoothed
payout and the unit price are the balances that month opens with.
Worked-example state std: AS = £30,000.00, S = £29,500.00.
Parameters: c_amc = 1.00% p.a., c_g = 0.10% p.a., q(60) = 0.005 p.a.
(illustrative of the class (c) proxy std), g_db = 1.01, σ = 10% year on year.
No premium and no withdrawals in the year. Two return scenarios std:
A: r = +7.0% p.a.; B: r = −15.0% p.a. (declared bonus cut to 1.00%, the maximum
normal reduction [S1] [S7]).
The example projects the sixth policy year, months t = 60 … 71, and the
declaration falls at the end of t = 71. Monthly rates:
Rate |
Scenario A |
Scenario B |
|---|---|---|
|
+0.565415% |
−1.345195% |
|
0.083718% |
0.083718% |
|
0.008337% |
0.008337% |
|
0.041762% |
0.041762% |
cap bounds |
0.9912584 / 1.0079741 |
0.9912584 / 1.0079741 |
Over the twelve months, and then the closing month t = 71:
Step |
Quantity |
Scenario A (r = +7.0%) |
Scenario B (r = −15.0%) |
|---|---|---|---|
0 |
Opening |
30,000.00 / 27,602.02 |
30,000.00 / 27,602.02 |
3–4 |
AMC taken over the twelve months |
311.10 |
274.93 |
4 |
Guarantee charge taken over the twelve months |
30.98 |
27.38 |
6 |
Mortality charge taken over the twelve months |
0.00 |
4.60 |
3–4 |
|
31,747.19 |
25,216.50 |
5 |
Declared bonus |
2.00% |
1.00% |
5 |
|
1.126163; 28,154.07 |
1.115122; 27,878.05 |
5 |
Cost of bonus |
552.04 |
276.02 |
5 |
Shareholder transfer |
61.34 |
30.67 |
5 |
Asset share after |
31,685.86 |
25,185.83 |
6 |
|
0.00 |
1.24 |
6 |
|
31,685.86 |
25,184.59 |
7 |
|
31,685.86 (within) |
26,846.96 (floor binds) |
7 |
|
31,685.86 |
26,846.96 (within corridor) |
7 |
Final bonus |
3,531.79 |
0.00 |
7 |
|
0.00 |
min(1,031.08, 2,693.46) = 1,031.08 |
8 |
Guarantee-date payout |
31,685.86 |
27,878.05 (guarantee bites) |
8 |
Surrender payout |
31,685.86 |
26,846.96 |
8 |
Death payout |
32,002.72 |
28,156.83 |
8 |
Smoothing/guarantee cost on exit (payout − AS): guarantee-date / surrender |
0.00 / 0.00 |
2,693.46 / 1,662.37 |
The Step column is the processing-order step, not the time index: the closing rows are
month t = 71 and the three aggregate rows are sums over t = 60 … 71. The closing
quantities are the row result_payout() publishes at t = 71; the intermediate steps
are asset_share_at(71, …) and the per-claim exit costs are
smoothing_cost_pp(71, kind). Note that the payout, the final bonus and the MVR exist
in every month of the year, not only its last: a claim in month 65 is paid on
month 65’s smoothed payout, which is what a monthly grid is for.
Checks: the asset share ends the year at 105.6% of its opening value in A and 83.9% in
B; the smoothed payout ends at 107.4% and 91.0%, both inside the ±10% year-on-year band
the monthly cap compounds to. Scenario B’s cap binds in eleven of the twelve months —
not the twelfth, because the first month’s asset share was still above the floor — which
is why the payout lands a little above the 90.0% an annual step would produce. The MVR
(1,031.08) is below the COBS bound FV − AS = 2,693.46 R1; the guarantee-date exit
pays full face value with the 2,693.46 excess over asset share borne by the estate’s
guarantee/smoothing account [S1] [S4]. On the scenario A guarantee-date claim an
additional shareholder transfer of FB/9 = 392.42 accrues at payment (90:10 on the
final bonus, ST section). Scenario A pays 100.0% of AS(71); scenario B’s surrender
pays 106.6% — both within the 80–120% corridor [S1] R1.
CWP maturity illustration (one line): the twenty-five declarations of a 25-year
endowment close at the end of month 12n − 1 = 299, where
G(299) = 20,000 · 1.015^25 = £29,018.91 — one declaration per policy year and
twenty-five of them, which is the arithmetic a monthly implementation gets wrong if it
compounds b monthly. With smoothed maturity target S = £34,000.00 std,
TB = 34,000.00 − 29,018.91 = £4,981.09 — 14.7% of the payout in non-guaranteed
form, consistent with the substantial-final-bonus philosophy [S1]; the associated
shareholder transfer at payment is TB/9 = £553.45 std measurement. (The shipped
endowment cell’s own projection reaches a smoothed payout below the guarantee, so the
guarantee bites and the terminal bonus is nil; the £34,000 above is the notes’
illustration of the mechanic, not that cell’s output.)
Valuation and reserve pointers#
This library projects gross best-estimate liability cash flows; valuation layers are cited, not reproduced.
Solvency UK BEL. Technical provisions = best estimate + risk margin; the best estimate is the probability-weighted, discounted value of all cash flows R7 REG-R1. For with-profits, the BEL includes future discretionary benefits — future regular and final bonuses expected under PPFM-consistent discretion — because expected payments count “whether or not … contractually guaranteed”, with the surplus-funds carve-out for the unallocated estate R7 R8. The With-Profits Actuary must advise whether the FDB assumptions are consistent with the PPFM R5. Guarantees and options (unit-price floors, guarantee dates, GAOs) must be valued market-consistently with dynamic policyholder behavior R7 — stochastic-on-deterministic use of this model.
Risk margin. Post-reform cost-of-capital method: CoC 4%, risk taper λ = 0.9 (floor 0.25) for long-term business R7 REG-R4. Cited-not-specified.
Ring-fencing and estate. With-profits fund assets must cover the fund’s liabilities R6; surplus funds (the estate) are own funds, excluded from technical provisions R8. TMTP may apply to pre-2016 back-books R7 REG-R3.
Matching adjustment. The guaranteed element of a with-profits immediate or deferred annuity can qualify as an MA “eligible element” REG-R2 — relevant only to the annuity variations, not the composite cells.
IFRS 17. UK-adopted IFRS 17 (effective 1 January 2023) applies to IFRS-reporting insurers REG-R38; with-profits contracts are direct-participation business measured under the variable fee approach [unverified — standard text not fetched]. The fulfilment-cash-flow engine is this same projection.
Conduct overlay. Payout machinery in any valuation must respect the COBS target-range, MVR-bound and required-percentage rules R1 — they are constraints on the FDB discretion, not just conduct background.
Key sensitivities and model risks#
Fund return / equity backing. Asset shares, final bonuses and MVR incidence all key off
r(t); the observed strategy ceiling is a benchmark equity backing ratio of 75% (one insurer’s EBR upper limit [S5]). Deterministic base runs materially understate guarantee costs (convexity) — the central model risk here R7 R13.Bonus discretion path. The split of payout between hardened regular bonus and final bonus changes guarantee costs without changing the target payout: a higher
θor fasterκhardens guarantees. The std parametrization is a genuine modeling choice with no public calibration.Smoothing parameters. The ±10% cap and 80–120% corridor determine how much of a market shock passes to payouts immediately; firms’ actual limits vary (5%–15% observed [S1] [S5] [S7]) and can be suspended under solvency stress [S5].
MVR application. Whether the discretion is exercised promptly (and the review buffer — one consolidator tolerates up to 10% return variation before an extra MVR review [S4]) drives surrender strain in down markets.
Surrender behavior at guarantee dates. The guarantee-date spike multiplier and MVR deterrent are unverified std shapes; anti-selective exit when guarantees are in the money is the dominant behavioral risk (dynamic assumptions required R7).
Mortality proxy. The 60%-of-ONS basis is a placeholder; insured with-profits experience differs by class and era, and current CMI tables are subscriber-restricted R10 REG-R22 REG-R32.
Expense and charge caps. Where actual expenses exceed capped charges (1% caps [S1] [S5]) the excess falls to the estate — a fund-level, not policy-level, cash flow this single-policy model does not capture.
GAO interest-rate exposure. Legacy GAO cells are long interest-rate optionality [S4]; omitting the stochastic layer understates their cost materially.
Estate interactions. Reattributions, special bonuses and mutual profit distributions [S5] [S6] are fund-level discretions outside the base model; scenario overlays should treat them as management actions.
Data-provenance limits. Snapshot bonus rates, EGRs and MVR scales are std placeholders by design (declarations are not in PPFMs — research gap); a calibration pass against current bonus declarations is required before any quantitative use.