Reinsurance Cession Optimization Optimize affiliated/offshore reinsurance cession structure to minimize consolidated statutory capital across NAIC RBC and Bermuda BSCR.
Decision model spanning two statutory worlds (NAIC RBC + BMA BSCR) to size affiliated/offshore cessions that minimize consolidated required capital, subject to AG-55 affiliated-reinsurance asset-adequacy constraints. Grounding: cross-firm 10-K study gap #2 (vertical/research/03_insurance_gap_analysis.md).
Inputs, processing, outputs
Methodology
Status: BUILT & COMMITTED (D053 1L, 2026-06-29). The backing engine insmodel.L4.cession_optimizer (CessionOptimizer, @engine) is implemented on disk and committed: firmmodel/engines/cession_optimizer.py + tests/test_cession_optimizer.py (21 passing tests) + snap_M_055 + legacy_metadata/CessionOptimizer.yaml + validation_evidence/M-055/v1.0.0. What follows describes running, tested code (it composes four already-built, tested InsModel engines — no fabrication). The engine-existence flag (engine_registry status) is active; the model status stays under_development because 2L effective-challenge re-review owns the model state transition and the final pass thresholds (RAT-055 COND-055-01..05) per Decision 052.
Conceptual soundness (SR 11-7 / SR 26-2). M-055 is a DECISION / ORCHESTRATOR model — it introduces no new actuarial primitive. It composes four already-built, tested InsModel engines and runs a constrained 1-D grid search over the cession fraction c in [0,1]:
- Genuine capital arbitrage. Ceding a block to an offshore affiliate (a) RELIEVES the US ceding entity's RBC via the NAIC Model-791 reinsurance credit —
net_rbc = max(0, gross_rbc − reinsurance_credit),reinsurance_credit = ceded_reserve × credit_quality(taken directly fromReinsuranceEngine._compute_capital_relief/_compute_reinsurance_credit, INV-027-clamped); RBC relief is bounded (capped at gross_rbc; for credit_quality < 1 the haircut leaves relief < ceded reserve) — and simultaneously (b) LANDS the ceded reserve + supporting assets on the offshore balance sheet, whereBSCREnginecharges the BMA standard-formula modules. So consolidated required capital= net_RBC(c) + scalar × BSCR(c)is genuinely non-monotone:net_rbc(c)is non-increasing (floored at 0) andbscr(c)non-decreasing, so the sum is unimodal with an interior minimum where marginal relief is overtaken by marginal BSCR build. This is the documented central modelling challenge — reconciling NAIC RBC against BMA BSCR onto a common consolidated basis. - Cross-jurisdiction reconciliation on required-capital DOLLARS — the only coherent common basis. Both legs are statutory required-capital amounts (RBC total = ACL dollars; BSCR dollars). A documented
A-283consolidation-basis scalar (default 1.0) makes the FX / economic-basis alignment factor on the BSCR leg explicit and ratifiable rather than hidden. The optimizer does NOT convert RBC ratios into BSCR ratios. - AG-55 as a FEASIBILITY constraint, not an objective term — exactly its regulatory role. AG-55 gates whether a cession is adequate (unsecured shortfall fully asset-backed AND net worst-case surplus ≥ 0 across the 7 prescribed scenarios). The optimizer calls
AG55Engineper candidate and EXCLUDES any candidate withag55_passed == False. The optimum is the consolidated-capital-minimising cession among AG-55-feasible structures. - Composition, not reimplementation. By design, credit from
ReinsuranceEngine; RBC relief fromReinsuranceEngine._compute_capital_relief(M-050 dollar base); BSCR fromBSCREngine(M-054); AG-55 verdict fromAG55Engine(M-005,ag55_results_v1.ag55_passed). (M-054'sBSCREngineis now built and M-054 is active — so this composition runs against real, tested upstream engines, cross-checked to max abs err 0.00e+00.)
Algorithm. For each c on the grid (default linspace 0.0..1.0 step 0.05): (1) build candidate treaty with cession_pct = c, run ReinsuranceEngine → ceded_reserve(c), reinsurance_credit(c); (2) net_rbc(c) = max(0, gross_rbc − reinsurance_credit(c)); (3) BSCREngine on the assuming-entity balance sheet with best_estimate_liabilities = ceded_reserve(c) → bscr(c); (4) consolidated(c) = net_rbc(c) + scalar × bscr(c); (5) AG55Engine → feasible(c) = ag55_passed. SELECTION: optimal_cession_pct = argmin over feasible candidates of consolidated(c). If NO candidate is feasible, return c = 0 (no cession) honestly — never fabricate a passing structure. optimum_is_interior flags 0 < c* < 1. Pure deterministic search — no stochastic step, fully reproducible.
- Inputs (design):
gross_book(gross_premium/benefit/reserve/rbc, n_periods),base_treaty(treaty_id, treaty_type, reinsurer_credit_quality, optional supporting_assets),offshore_balance_sheet(optional BSCR exposures other than the ceded reserve). - Outputs (design):
cession_optimization_v1— summary (optimal_cession_pct, consolidated_required_capital, net_rbc_at_optimum, bscr_at_optimum, baseline_consolidated_capital, capital_saving, ag55_passed_at_optimum, optimal_treaty_id, optimal_treaty_type, n_feasible_candidates, n_candidates_evaluated, optimum_is_interior) + per-grid-point candidate frame.
Key Assumptions and Their Justification
A-283— Consolidation basis scalar (BSCR leg), default 1.0. The optimizer sums net NAIC RBC (M-050) + BMA BSCR (M-054) as required-capital DOLLARS onto a consolidated basis. This scalar makes the FX / economic-basis alignment factor on the BSCR (offshore) leg explicit and ratifiable rather than hidden. Default 1.0 = no adjustment. It is unvalidated against a disclosed consolidated group-capital figure (no live firm data, BV-032) and is the residual cross-jurisdiction reconciliation risk (RAT-055 COND-055-04) — a 2L effective-challenge item. Domaininsmodel_offshore_capital.- Cession grid (lower 0.0, upper 1.0, step 0.05) — a SEARCH control, not an economic assumption. The optimum is grid-resolution-accurate; the step is configurable.
- Which gross-book RBC drivers respond to cession. Net reserve/credit relief flows through the Model-791 credit; other RBC components are held at the gross dollar base unless declared (conservative — no extra relief claimed).
- Inherited via M-005 (AG-55 feasibility):
A-001/A-002(net liability cash flows) andA-090/A-091(supporting-asset spreads/discounting).credit_qualityand supporting-asset posture are treaty-declared inputs, not re-derived from counterparty financials (consistent with M-005).
Limitations and Known Gaps
These are honest current-state limitations of the built model — no fabricated bounds. (The residual gate is COND-055-04: the consolidated-basis A-283 sign-off + firm-data back-test — see Limitation 5 and the Validation Packet; the engine itself is built and tested per the top note and Methodology.)
- Single decision variable. 1-D optimisation over a single cession fraction on one treaty/block; multi-treaty / multi-counterparty joint optimisation and treaty-type mix are out of scope.
- Grid search, not a continuous solver. The optimum is grid-resolution-accurate (mitigated by the monotone-leg structure: one non-increasing + one non-decreasing leg → unimodal sum, so the grid argmin is reliable). Refine the step for precision.
- Required-capital objective only. Cost of reinsurance (ceding commission, net cost) is NOT in the objective — a capital-efficient structure may be economically expensive. A capital-cost / economic-value objective is a future extension.
- No cross-jurisdiction diversification credit. RBC and BSCR are summed as dollar required capital; no group diversification benefit is claimed across the two regimes (conservative). The
A-283consolidation-basis scalar (default 1.0) is itself unvalidated against a disclosed consolidated group-capital figure — the residual cross-jurisdiction reconciliation risk (RAT-055 COND-055-04, a 2L item). - Firm-data binding deferred (no live firm data, BV-032). DS-001 (FRED, inherited) feeds the AG-55 CFT/asset legs; DS-047 (NAIC AG-55 Form B) + disclosed BMA BSCR/ECR + RBC figures for a firm-specific cession-optimization opinion and an external reasonableness cross-check (PRU Prismic, APO Athene) are DEFERRED. Outputs illustrate the mechanics, not a firm filing — identical to the M-005 / M-054 posture. A Tier-1 §10.5 back-test data gap.
- AG-55 feasibility inherits all M-005 limitations (NY-7 deterministic scenarios not a stochastic ESG, supporting-asset proxy fallback, treaty-declared credit_quality, static treaties / no recapture).
- No-feasible-candidate degenerate path is handled honestly (returns no-cession, no fabrication).
2L re-review owns the state transition (Decision 052): the final pass thresholds, the consolidated-basis sign-off (RAT-055 COND-055-04), and the back-test data gap closure. The 1L build does not gate the state transition.
Validation Packet
1L BUILD EVIDENCE PRESENT (D053, 2026-06-29). documentation_pack.validation_evidence is present: the pack is at modelling/validation_evidence/M-055/v1.0.0/ (README + worked_optimization_and_sensitivity.md). The engine is covered by tests/test_cession_optimizer.py (21 passing acceptance tests) and the registered deterministic snapshot snap_M_055. Every capital number is produced by the composed real engines on parameterized inputs — no firm capital figure is fabricated (BV-032).
1L acceptance tests (21, all passing):
- consolidated = net_rbc + scalar × bscr, each leg equal to a direct component-engine call (composition, not reimplementation — net_rbc = ReinsuranceEngine._compute_capital_relief, bscr = BSCREngine, ag55_passed = AG55Engine).
- net_rbc non-increasing and bscr non-decreasing in cession_pct (the monotone-leg structure that makes the sum unimodal).
- Interior optimum when the RBC-relief vs BSCR-build tradeoff bites (0 < c* < 1, objective at optimum below both endpoints).
- AG-55-infeasible candidates excluded from the argmin; no-feasible-candidate → no cession honestly.
- Output-contract shape, consolidation-scalar application, governance metadata (M-055, ≥3 references), determinism.
Worked optimization (gold canonical inputs, scalar 1.0, grid step 0.05): the optimizer selects an interior optimum c* = 0.10 with consolidated required capital $4,320 (net_rbc $0 + bscr $4,320) versus a $40,000 no-cession baseline — a $35,680 saving — AG-55-feasible. The consolidated objective falls from $40,000 as the Model-791 RBC relief bites, bottoms at c = 0.10 (RBC fully relieved, offshore BSCR still small), then rises as BSCR overtakes the exhausted relief. Cross-check: each leg matches a direct component-engine call to max abs error 0.00e+00*. Full per-grid-point candidate frame + cession-% and A-283 sensitivities in the pack.
Required before this model can move to active status (2L acts — 1L does not self-ratify):
- Conceptual-soundness review and independent effective challenge per MRM §10.2 (Tier-2), mrm-validator as independent challenger (RAT-055 COND-055-01..04). (M-054 must be active for the BSCR leg — landing via the post-RAT reconciler #3462; that is the downstream 2L governance gate, not the 1L build.)
- Consolidated-basis sign-off — validation of the A-283 scalar against a disclosed consolidated group-capital figure once sourced (COND-055-04).
- Firm-data back-test — close the DS-047 / disclosed BMA BSCR + RBC data gap (PRU Prismic, APO Athene).
References
Regulatory: - NAIC Actuarial Guideline 55 (AG LV) — Application of the Valuation Manual for Testing the Adequacy of Reserves Related to Certain Life Reinsurance Treaties. Affiliated/offshore reinsurance asset-adequacy testing (AAT); adopted Aug 13 2025, effective for the Dec 31 2025 Annual Statement, first AAT reports due to regulators by April 1 2026. The binding constraint on cession structuring. - BMA Bermuda Solvency Capital Requirement (BSCR) — Bermuda Monetary Authority statutory capital standard for the offshore assuming reinsurer. - NAIC Risk-Based Capital (RBC) — US statutory risk-based capital formula for the ceding entity. - Federal Reserve SR 26-2 (April 2026, supersedes SR 11-7) — Model risk management; applies to the platform via Decision 018 MRM Framework.
Internal:
- Decision 018 (MRM Framework) — Management/decisions/018-mrm-framework-multi-regime.md; AG 55 / RBC / BSCR scope at insightalm/modelling/charters/mrm_framework.md §3.2.
- Grounding study — vertical/research/03_insurance_gap_analysis.md, gap #2 (cross-firm 10-K analysis motivating the cession-optimization model).
Change Log
Card change history. Code-side change history lives in git log of the component files.
- 2026-06-05 — stub created from registry data per Decision 023 Phase 5 / B-07.
- 2026-06-06 — 2L documentation review. Filled Methodology, Standards Coverage (new), Key Assumptions, Limitations, Validation Packet, References, and Dependencies narrative from the model/engine registry. Model was design-stage at the time: backing engine
status: planned, no output contract, no assumptions, no validation evidence. - 2026-06-07 — Paper-layer pass (Decision 053 Tranche C, citing #2310) — LATER FOUND HOLLOW. The registries, contract, assumption and this card were advanced to assert
insmodel.L4.cession_optimizer(CessionOptimizer,@engine, v1.0.0) was implemented atfirmmodel/engines/cession_optimizer.pywith a 12-test suite,snap_M_055snapshot andlegacy_metadata/CessionOptimizer.yaml, and the engine status was flipped planned → active. The engine source was never committed — none of those artifacts exist on disk or in git (see the 2026-06-08 correction). The registered output contractcession_optimization_v1and assumptionA-283(consolidation basis scalar, domaininsmodel_offshore_capital) are the genuine paper deliverables, but bound to a non-existent producer/consumer. - 2026-06-08 — 1L remediation of RAT-055-v1.0.2 (COND-055-05 + COND-055-01..04). Independent verification confirmed the 2L finding:
firmmodel/engines/cession_optimizer.py,tests/test_cession_optimizer.py, snapshotsnap_M_055, andlegacy_metadata/CessionOptimizer.yamlare ALL absent on disk and in git (pytestcollects 0 tests; snapshot script reports "no snapshot registered"; no commit ever added the engine). Reconciled the documentation layer to honest PLANNED / design-complete state (parallel to the M-054 bscr_engine correction): engine_registry status active →planned; contract_registrycession_optimization_v1status active →planned(design-intent schema); assumptionA-283status active →planned(paper-bound until consumed); model_registry comments + documentation_pack reconciled; this card's Status/Methodology/Validation Packet/Key Assumptions rewritten from "BUILT" to "design intent / pending". The genuine engine build (COND-055-01) and the downstream contract-verification (02), assumption-consumption (03) and validation pack (04) remain honestly conditional pending the real engine — not fabricated. No outputs, tests, snapshots or validation numbers were invented. - 2026-06-29 — REAL 1L BUILD (Decision 053, backlog §A / #2310). The engine is now genuinely built and committed:
firmmodel/engines/cession_optimizer.py(the@engineCessionOptimizerwith itsENGINE_CONTRACT— a constrained 1-D grid search composingReinsuranceEngine+BSCREngine(M-054) +AG55Engine(M-005)),tests/test_cession_optimizer.py(21 passing acceptance tests),scripts/model_snapshots.py::snap_M_055(registered deterministic snapshot),firmmodel/governance/legacy_metadata/CessionOptimizer.yaml(SR-11-7 archive),scripts/validate_cession_optimizer_sensitivity.py, andmodelling/validation_evidence/M-055/v1.0.0(worked optimization: interior optimum c* = 0.10, consolidated $4,320 vs $40,000 baseline; cession-% + A-283 sensitivities; composition cross-check max abs err 0.00e+00). Engine-existence flags flipped planned → active (engine_registry; contract_registrycession_optimization_v1; assumptionA-283now GENUINELY consumed and wired into M-055inputs.assumptions).validation_evidenceflipped missing → present (registry_deltas/M-055.yaml). The modelstatusstaysunder_developmentandratification_refstaysRAT-055-v1.0.2— 1L does not self-ratify; the 2L effective-challenge re-review (RAT-055-v1.0.3) owns the model state transition, the consolidated-basis (A-283) sign-off and the firm-data back-test (COND-055-04). The 1L build clears the engine-build leg (COND-055-01) + COND-055-02 (contract emitted) + COND-055-03 (A-283 consumed). No firm capital numbers fabricated. (2L gate: RAT-055-v1.0.3 also requires M-054active— landing via the post-RAT reconciler #3462.) - 2026-06-29 — 1L LG-clearance pass (RAT-055-v1.0.3 low/non-gating findings, issue #3498). LG-055-06: the Components → Processing-engines (~L53), Output-contracts (~L56) and Standards-Coverage opening (~L69) sections still read "PLANNED / not yet implemented", contradicting the card's own BUILT header/Methodology/Change-Log — rewritten to the built state (
CessionOptimizerengine,cession_optimization_v1contract EMITTED, the A-283 consumption, the M-050/M-054/M-005 composition), kept honest about the conditionally-approved + firm-data-gated (COND-055-04) status. Card fingerprint re-stamped (model_doc_currency). LG-055-07: the engine-vs-model tier mismatch (engine_registrytier-1vs model_registry/cardtier 2) reconciled to Tier-1 — the §6.3 derivation (consolidated regulatory-capital output + composes/feeds Tier-1 capital models M-050/M-054/M-005; aligns with M-054's Tier-1 re-derivation and the engine_registrytier-1) is now documented in the Materiality justification; model_registrytier: 2 → 1set viaregistry_deltas/M-055.yaml. The latent §6.3 trigger-(b)sr_26_2-as-Tier-1 vs §6.5 scope-tag-in-practice wording gap is a framework-owner / 2L call — flagged in #3498, NOT self-resolved here. 1L does not self-ratify; the tier reconciliation is a defensible 1L call surfaced for 2L confirmation in RAT-055-v1.0.3. No code, no fabricated figures.
Open findings (4)
Independent 2nd-line review (INV-2026-06) — implemented capability vs registered scope. Each carries a recommended fix and is tracked in insightalm-mrm until closed.
Recommendation:
Validation evidence + change logs missing across most of the inventory
Only M-001/M-020/M-050 carried full documentation packs before this pass. Most models record validation_evidence: missing and change_log: missing with peer_review: pending. Gold tests freeze behaviour but many assert only structural invariants (e.g. reserve>0), not correctness against external truth. The flagship T0-vs-10-K match is circular (BV-032).
Recommendation: For each Tier-1 model: produce a validation-evidence pack (back-test vs disclosed results once BV-032 re-calibration lands, sensitivity suite, challenger comparison), a change log, and a 2L ratification. Sequence behind BV-032 (firm-data) for anything needing 10-K reconciliation.
Recommendation:
Recommendation:
Per-tier expectations
Per MRM Framework §10.2 + §10.3, this model's regulatory_frameworks tag list activates the following overlays:
| component | tier-1 expectation | status |
|---|---|---|
| Registry entry | required | present |
| Model card (§10.5 doc pack) | required | present |
| Validation evidence | required | present |
| Change log | required | present |
| Independent effective challenge (2L) | required | pending |
Conditionally-approved scaffold — RAT-055-v1.0.4
2L issued RAT-055-v1.0.4 as a conditionally-approved Tier 3 analytic scaffold. The model exists, runs, and matches its card — but its approval is intelligence-use-only: its outputs must never be read as a booked, regulatory, capital, or reserving figure. Booked use (and tier promotion) is gated on the PLANNED engines, which are not built. The conditions below are on record.
| id | deadline | condition |
|---|---|---|
| COND-055-04 | 2026-09-04 | HELD (now at the Tier-1 bar). The build mechanics are validated (composition cross-check 0.00e+00, monotone/unimodal sensitivity, deterministic snapshot), but the headline consolidated-capital output has NO external anchor: the worked optimization is entirely synthetic (MagicMock provider; no live firm filing, BV-032/DS-047), and the A-283 scalar (default 1.0) is unvalidated against any disclosed consolidated group-capital figure. As a now-CONFIRMED Tier-1 capital model emitting a regulatory-capital output, this is held to the §10.5 externally-anchored back-test standard. Before promotion to active, produce: (i) a firm-data back-test on an in-scope US-to-Bermuda group (DS-047 NAIC AG-55 Form B + disclosed BMA BSCR/ECR + RBC, e.g. PRU Prismic Re / APO Athene) reconciling the consolidated basis, OR an equivalent disclosed-figure reasonableness cross-check with a STATED tolerance that PASSES (the bar M-054 met for `approved`); and (ii) the 2L effective-challenge sign-off of the consolidated (A-283) basis. Per Decision 062 this anchor is sourceable from FREE/public disclosures (NAIC AG-55 Form B, BMA returns, 10-K/10-Q) via a research agent — it is a data-binding task, not a paid-data blocker. No figure may be fabricated to close this. |