Extension multi-décréments — prestation par cause (levée de D-PERIMETRE, Temps 1)¶
🎯 À retenir
Lève la borne D-PERIMETRE en introduisant une prestation par cause de sortie (décès, départ payant), pour ne plus compter à zéro les sorties indemnisées du barème légal gabonais. L'inclusion de chaque cause reste un acte d'hypothèse sous contrôle de l'actuaire ; sans cause payante, le modèle dégénère exactement vers l'équation retraite seule. Quantifié sur le cas-témoin : un écart à la hausse marqué par rapport au mode mono.
Rôle. Ce document lève la borne D-PERIMETRE de
moteur-dbo_formalisation_v2.md(encadré §7) : l'éq. (6) ne valorise que le chemin retraite, approximation basse pour le barème légal gabonais (loi 022/2021, art. 87-90) où presque toutes les sorties paient. On introduit ici la prestation par cause \(B_j\) — formalisme multi-décréments standard, même machinerie que l'étage 1 de la vision trajectoires (états, transitions datées, prestation par transition). Oracle jumeau :kmulti_oracle.py(cas-témoin §5). Les numéros d'équations prolongent ceux de la v2 ((1)–(9)) : ici (10)–(13).
1. Registre des décisions (débat Direction, 2026-06-11)¶
| Code | Décision | Motif |
|---|---|---|
| D-CAUSES-1 | Jeu de causes = {retraite, décès, départ payant}, où départ payant fusionne démission (≥ 2 ans) et licenciement hors faute lourde sous un taux plat paramétrable \(q^{(w)}\). La décomposition fine démission/licenciement reste possible plus tard (le formalisme est par cause). | Le client RH connaît son taux de départ global, rarement sa décomposition ; les deux causes paient la même formule au-delà du vesting (art. 88). Exclure le licenciement reproduirait la sous-évaluation qu'on lève. |
| D-CAUSES-2 | L'inclusion de chaque cause est un acte d'hypothèse sous contrôle de l'actuaire (junior/senior) : les drapeaux de paiement (décès, départ) vivent sur le jeu d'hypothèses, exposés dans le panneau d'actions du labo, réservés aux personas staff (403 sinon). Défaut = aucune cause payante → l'éq. (6) actuelle, à l'identique. | Le choix du périmètre indemnisé engage l'étude (ADR-0006) ; il doit être auditable (porté par le jeu, versionné par fork) et jamais implicite. |
| D-CAUSES-3 | Convention de temps : la sortie pendant l'année \(s\) (entre les âges \(x{+}s\) et \(x{+}s{+}1\)) est payée en fin d'année \(s{+}1\) — ancienneté \(k{+}s{+}1\), salaire \(S_0(1+g)^{s+1}\), actualisation \(v^{s+1}\). Probabilité : \({}_s p^{(\tau)}_x \cdot q^{(j)}_{x+s}\) (convention additive de l'éq. (1), inchangée). | Cohérent avec le fractionnement annuel \(m=1\) de la v2 ; calculable à la main (oracle) ; biais de demi-année assumé et documenté (raffinement \(m>1\) possible sans changer la structure). |
| D-CAUSES-4 | Vesting par cause via les décréments, pas via l'attribution : la cause départ ne paie que si l'ancienneté à la sortie \(\ge\) vesting_depart (défaut 2 ans, art. 88). L'attribution \(A\) reste l'A2′ de la grille (\(s^\ast\) = entitlement de la grille), évaluée à la date de sortie. |
IAS 19 §70 (le vesting se reflète dans la probabilité que la prestation soit due) ; déjà acté dans references/summaries/gabon-ifc.md. |
| D-CAUSES-5 | Le paramètre taux_rotation change de sens quand le départ devient payant (réducteur pur → source de valeur). On ne le renomme pas (compatibilité des jeux existants) mais tout affichage du mode multi indique explicitement « départ indemnisé » ; les comparaisons labo entre un jeu mono et un jeu multi restent légitimes (c'est la quantification de D-PERIMETRE). |
Piège silencieux identifié au débat : sans signal UI, les comparaisons avant/après seraient illisibles. |
2. Équations (10)–(13)¶
Notations de la v2, plus : \(j \in \{d, w\}\) causes de sortie payantes (décès, départ), \(t = s+1\) date de paiement de la sortie de l'année \(s\), \(k_t = k + t\) ancienneté à la sortie, \(\bar S(t) = S_0 (1+g)^{t}\) base salariale projetée à \(t\).
(10) Prestation par cause (même grille pour toutes les causes au barème ISR ; le formalisme admet des \(B_j\) distincts — Épargne salariale, J4 bis) :
(11) Attribution à la date de sortie (A2′, \(s^\ast\) = entitlement de la grille) :
(12) Composante sorties (somme sur les années et les causes payantes) :
(13) DBO multi-décréments = sorties + terme retraite (qui est l'éq. (6)) :
Propriété de dégénérescence (le garde-fou de rétrocompatibilité)¶
Si aucune cause n'est payante (\(J = \varnothing\)), alors \(\text{DBO}_{\text{multi}} = \text{DBO}_{\text{éq. (6)}}\) exactement (pas à une tolérance près : c'est le même terme). K1 et K1-bis restent les oracles du cas dégénéré ; toute implémentation doit reproduire cette égalité au bit près.
3. Faits attendus (réfutables, style §3 de la v2)¶
| # | Énoncé | Vérification |
|---|---|---|
| F10 | \(\text{DBO}_{\text{multi}} \ge \text{DBO}_{\text{éq.(6)}}\), strictement dès qu'une cause paie avec \(q^{(j)} > 0\) | K-MULTI : +23,49 % vs K1-bis |
| F11 | À causes payantes, \(\partial \text{DBO}_{\text{multi}} / \partial q^{(w)}\) peut être positif (le départ rapporte plus tôt qu'il ne retire) — l'inverse exact du mode mono | comparaison K-MULTI vs K1 : multi > K1 alors que K1-bis < K1 |
| F12 | Le vesting tronque : pour \(k + 1 < \text{vesting}_w\), les premières années de départ ne contribuent rien | test lib dédié (jeune embauché) |
| F13 | Monotonies de la v2 (F2–F4) préservées composante par composante | suite K3 étendue |
4. Ce que ça change (et ne change pas) dans actuariat_lib¶
- Nouvelle fonction pure
dbo_population_puc_multidecrements(ages, anciennetes, salaires, hypotheses, causes)aveccauses = CausesIndemnisees(payer_deces, payer_depart, vesting_depart); retourne le total et la décomposition par composante (retraite / décès / départ) — c'est la matière du labo. - Rien ne change dans
dbo_population_puc(éq. 6) : K1/K1-bis/K2/K-OHADA intacts. Le mode trace et le graphe du labo restent adossés à l'éq. (6) (le pipeline multi a une structure de somme, pas de produit — exploration dédiée à instruire plus tard si besoin). - Le pont OHADA (éq. déterministe) est orthogonal : il compare toujours à la DBO retraite-seule de référence du jeu.
5. Cas-témoin K-MULTI (oracle, figé le 2026-06-11)¶
Hypothèses = K1-bis à l'identique (x=55, k=25, r=60, S₀=100 000, g=2 %, i=4 %, grille back-loaded 0|1|2, CIMA H, \(q^{(w)}=3\,\%\)), plus : décès et départ paient (D-CAUSES-1), vesting départ 2 ans (sans objet, k=25).
Déroulé complet dans kmulti_oracle.py (10 termes de sortie + terme retraite,
chaque ligne imprimée). Valeurs figées :
| Grandeur | Valeur |
|---|---|
| Terme retraite | 2 358 587,122796 = DBO K1-bis exactement (dégénérescence) |
| Somme des sorties | 554 138,296414 |
| DBO multi | 2 912 725,419210 FCFA |
| Écart vs K1-bis | +23,49 % — la sous-évaluation D-PERIMETRE quantifiée sur ce cas |
| Écart vs K1 | +161 520,40 (le multi dépasse même la mortalité seule : F11) |
Seuils kill-criterion (K5) : reproduction à \(|\Delta| \le 1\) FCFA et écart relatif \(\le 10^{-6}\), et dégénérescence exacte vers K1/K1-bis quand aucune cause ne paie.
6. Bornes restantes (documentées, non levées ici)¶
- Base \(\bar S_{12}\) : la moyenne 12 mois est approchée par le salaire mensuel projeté (comme dans toute la v2) — l'écart est un sujet d'ingestion de données, pas de formalisation.
- Fractionnement annuel : la sortie en cours d'année est ramenée à la fin d'année (D-CAUSES-3) ; raffinement \(m>1\) possible sans changer la structure.
- \(q^{(w)}\) plat : un taux de départ par âge/ancienneté (table d'expérience) est l'aboutissement naturel — c'est précisément l'étage 3 de la vision (statistiques d'expérience par tags). Le formalisme l'accepte déjà (\(q^{(w)}_{x+s}\) peut dépendre de l'âge).