Aller au contenu

ADR-0012 — Waterfall IAS 19 · pont multi-décréments (Lot 2)

Statut : accepté (2026-06-15, arbitrages user). Contexte : l'ADR-0011 a livré le pont attendu retraite seule (flavor A) et différé au « Lot 2 » la composante sorties (D-WF-5) — quand le jeu porte des causes indemnisées (multi = true, décès / départ, D-CAUSES), des têtes sortent en touchant une prestation sur l'exercice, et le drapeau multi n'était qu'un avertissement. Cette ADR lève ce périmètre. La formalisation a été conduite avant tout code (docs/formalisation/rollforward-multidecrements_v1.md, éq. (14)–(16)), avec un oracle reproduit au FCFA — réévaluations nulles exactes.

🎯 À retenir

Le pont porte désormais les sorties indemnisées (décès / départ) en plus de la retraite, par une architecture additive (retraite + sorties) qui dégénère exactement vers flavor A sans cause payante. La prestation versée est la prestation pleine Bⱼ, pas la fraction attribuée — le bouclage reste exact (réév ≡ 0).

La question

Un pont qui verse des prestations doit rester un pont qui boucle (réév ≡ 0). Deux choix non triviaux sont apparus à la dérivation, plus une incohérence latente du flavor A mono que l'implémentation a révélée.

Décisions

# Décision Arbitrage
D-WFM-1 Le pont porte les sorties indemnisées. roll_forward_attendu_multi ajoute la composante décès / départ (éq. 12) au pont retraite ; dégénérescence exacte vers flavor A si aucune cause ne paie (K-WATERFALL intact). Le backend route via causes_du_jeu, symétrique à calculer_dbo_jeu. lève D-WF-5
D-WFM-2 La prestation versée à une sortie est la prestation PLEINE Bⱼ, pas la fraction attribuée A·Bⱼ : un droit réalisé ne s'attribue pas (l'attribution n'est qu'une clé de répartition du coût dans la DBO). Mettre A·Bⱼ casse le bouclage (réév ≈ −0,21 %). La maturation du chemin de l'année amène l'attribution à exactement 1 (A(k+1,k+1)=1), ce qui finance la prestation pleine à la capitalisation. user, 2026-06-15
D-WFM-3 Retraite à échéance (x = r−1) : la tête part à la clôture et encaisse PP pleine (pondérée survie). Découverte en codant — le flavor A mono livré sur-estimait la clôture des quasi-retraités (chacun gardait sa provision pleine en quittant le périmètre). Correction de justesse, vaut en mono et multi. justesse du pont
D-WFM-4 Architecture additive, pas de fonction fourre-tout : pont multi = composante RETRAITE (le mono roll_forward_attendu) + composante SORTIES, DBO/CSR additifs, IC′ = (DBO+CSR)·i recalculé sur le total (linéaire). Réutilise le mono plutôt que de le réécrire. analogue de D-VOC (réutiliser, pas dupliquer)
D-WFM-5 Bouclage exact préservé (réév ≡ 0, garde K2). Oracle = K-MULTI roulé d'un an reproduit au FCFA, de la lib jusqu'à travers la base : DBO₀ 2 912 725 · CSR 145 636 · IC′ 122 334 · Prest 128 520 · clôture 3 052 176. kill-criterion K5

Mécanique

Libengagements.dbo.roll_forward_attendu verse désormais la retraite à échéance (têtes n = 1, PP·{}_1p_x). engagements.multidecrements.roll_forward_attendu_multi agrège la composante sorties : maturation [A(k+1,·)−A(k,·)] par année et par cause (CSR, éq. 15) et prestations pleines de l'année s=0 (éq. 16) ; convention de temps D-CAUSES-3, vesting D-CAUSES-4. Le paramètre externe prestations_attendues (placeholder de l'ADR-0011) est retiré — la machinerie le calcule.

Backendcalculer_waterfall_jeu appelle roll_forward_attendu_multi(..., causes) ; un jeu sans cause paie le pont mono à l'identique. Partition genrée (D-GENRE) conservée.

Front — la barre Prestations du WaterfallChart (déjà présente, valait 0) porte maintenant les sorties ; le pied de page indique « sorties indemnisées (décès / départ) portées par les prestations versées » au lieu de « à venir ».

Conséquences

  • + Sur barème légal gabonais (où presque toutes les sorties paient), le pont cesse d'être systématiquement faux : il porte enfin la composante sorties et ne sur-évalue plus les quasi-retraités.
  • + Le pont boucle exactement en multi (réév ≡ 0), oracle reproduit de bout en bout.
  • −/assumé Changement de comportement du flavor A mono pour les têtes x = r−1 (D-WFM-3) : la clôture attendue d'un quasi-retraité baisse (PP versée). Signalé, voulu.

⚠️ Piège

Cette correction (D-WFM-3) change le flavor A mono déjà livré : pour les quasi-retraités (x = r−1), la clôture attendue baisse car la PP pleine est versée à l'échéance. Un pont mono recalculé ne donnera plus la même clôture qu'avant — c'est voulu (l'ancien sur-estimait).

  • Reste (Lot 3) : flavor B — rapprochement réel à deux photos (OCI, split expérience / hypothèses) ; orthogonal, exige une 2ᵉ année de données.

Voir mémoire projet « Waterfall IAS 19 ActuaryLab ». Prolonge ADR-0011 ; s'appuie sur rollforward-multidecrements_v1.md et multidecrements_v1.md (D-CAUSES).