Dernière mise à jour des specs publiées :
Spécifications Fonctionnelles - Retraite
Ce document décrit les règles de calcul des pensions de retraite de base (CNAV) et complémentaire (AGIRC-ARRCO) pour le Principal et son conjoint.
Si conjoint_present = NON, le conjoint est absent du modèle retraite : aucune année simulée ne lui
fait acquérir de trimestre ou de point AGIRC-ARRCO, et sa pension CNAV/AGIRC-ARRCO brute, nette et
mensuelle vaut $0\ €$. Les paramètres conjoint restent conservés mais inertes tant que le conjoint est
absent.
0. Droits déjà acquis estimés automatiquement
Les champs techniques retraite (trim_cnav_*, sam_*, points_agirc_*) peuvent être renseignés par
Info Retraite ou estimés automatiquement. La valeur effective lue par le moteur est toujours un nombre
simple ; la décision AUTO / MANUEL est gérée par la couche applicative avant l'appel au moteur.
Pour chaque personne, l'utilisateur dispose d'un âge de début de carrière :
age_debut_carriere_principal;age_debut_carriere_conjoint.
Le défaut commun est 22 ans, borné entre 14 ans et age_actuel. Pour une personne d'âge actuel
$A_0$, de salaire brut actuel $S_0$, de croissance réelle $g$ et d'âge de début de carrière $A_D$, la
carrière passée synthétique comprend les âges :
$$A_D,\ A_D + 1,\ ...,\ A_0 - 1$$
Elle s'arrête donc à l'année précédant age_actuel. Exemple : age_actuel = 34, début à 22 donne
12 années candidates, de 22 à 33 inclus.
Le salaire synthétique de l'année passée d'âge $A$ est :
$$S(A) = \frac{S_0}{(1+g)^{A_0 - A}}$$
Toutes les valeurs sont en euros réels constants. Les droits automatiques représentent uniquement les
droits déjà acquis avant age_actuel; les années futures restent ajoutées par le moteur de pension
décrit plus bas.
0.1 Trimestres CNAV automatiques
$$T_{\text{auto}} = \min(172,\ \max(0,\ A_0 - A_D) \times 4)$$
Le modèle ne traite pas les demi-années, les interruptions ni la validation fine par niveau de revenu.
0.2 SAM automatique
On prend les salaires synthétiques passés, chaque année plafonnée au PSS courant du modèle, puis on calcule la moyenne des 25 meilleures années disponibles :
$$SAM_{\text{auto}} = \text{moyenne des } \min(25, n)\ \text{plus hautes valeurs de } \min(S(A), PSS)$$
Si la personne a moins de 25 années synthétiques, la moyenne porte sur toutes les années disponibles.
Si aucune année n'est disponible, le SAM automatique vaut 0.
Cette valeur est un estimateur du bloc « carrière passée » consommé par le §2.1 : elle est ensuite
répétée $n_P = \lfloor trim\_cnav\_*/4 \rfloor$ fois dans calcSam, puis re-sélectionnée avec les
années futures simulées. Cette double sélection des meilleures années est une approximation acceptée,
cohérente avec la note de décision
retraite-saisie-progressive-et-croissance-unique.mdnon publie dans ce lot.
0.3 Points AGIRC-ARRCO automatiques
Les points automatiques sont la somme des points acquis sur chaque salaire synthétique passé, avec les constantes actuelles du modèle (PSS, tranches T1/T2, taux de calcul, prix d'achat du point) :
$$Points_{\text{auto}} = \sum_{A=A_D}^{A_0-1} pointsAgirc(S(A))$$
Les points sont dérivés des salaires annuels synthétiques, pas du SAM, car le SAM CNAV est plafonné au PSS alors que l'AGIRC-ARRCO voit aussi la tranche 2.
0.4 Sources AUTO / MANUEL
Chaque champ technique retraite possède une source persistée :
| Champ | Source |
|---|---|
trim_cnav_principal |
`trim_cnav_principal_source = "AUTO" |
sam_principal |
`sam_principal_source = "AUTO" |
points_agirc_principal |
`points_agirc_principal_source = "AUTO" |
trim_cnav_conjoint |
`trim_cnav_conjoint_source = "AUTO" |
sam_conjoint |
`sam_conjoint_source = "AUTO" |
points_agirc_conjoint |
`points_agirc_conjoint_source = "AUTO" |
Règle d'état :
- source
AUTO: la valeur effective est recalculée depuis la carrière synthétique ; - source
MANUEL: la valeur saisie par l'utilisateur est conservée telle quelle ; - modifier un champ technique retraite le fait passer en
MANUEL, pour ce champ seulement ; - modifier le salaire, la croissance, l'âge actuel ou l'âge de début de carrière ne rend jamais un champ technique manuel ;
- un reset par champ ou par personne repasse la source à
AUTO, puis la complétion recalcule ; - quand
conjoint_present = NON, les valeurs conjoint sont conservées mais inertes ; au retour àOUI, les champs conjoint restés enAUTOsont recalculés, les champsMANUELrestent inchangés.
📅 1. Acquisition des droits durant la carrière
1.1 Régime de Base (CNAV)
Chaque année civile travaillée (pour un âge $A$ inférieur à l'âge d'arrêt de travail $A_{\text{arrêt}}$ et inférieur à l'âge de liquidation $A_{\text{liquidation}}$) permet d'accumuler de nouveaux trimestres : $$\text{Trimestres acquis par an} = 4$$ Le total des trimestres est plafonné à la durée maximale requise pour le taux plein : $$T = \min\left(172,\ T_{\text{initial}} + \text{Années travaillées} \times 4\right)$$
1.2 Régime Complémentaire (AGIRC-ARRCO)
L'AGIRC-ARRCO est le régime complémentaire des salariés et assimilés salariés. Chaque année concernée permet d'acquérir des points, calculés sur le salaire annuel brut par tranches.
Soit $S$ le salaire annuel brut et $\text{PSS} = 48\ 060\ €$ le Plafond de la Sécurité Sociale :
- Tranche 1 (T1) — part de $S$ jusqu'au PSS, au taux de calcul de 6,2 % ;
- Tranche 2 (T2) — part de $S$ comprise entre le PSS et $8 \times \text{PSS} = 384\ 480\ €$, au taux de calcul de 17 %.
$$\text{Assiette}_{T1} = \min(S,\ \text{PSS})$$ $$\text{Assiette}_{T2} = \max\!\big(0,\ \min(S,\ 8 \times \text{PSS}) - \text{PSS}\big)$$ $$\text{Points acquis par an} = \frac{\text{Assiette}_{T1} \times 6,2\% \;+\; \text{Assiette}_{T2} \times 17\%}{20,1877\ €}$$
- 20,1877 € est le prix d'achat (valeur d'acquisition) d'un point.
- 6,2 % / 17 % sont les taux de calcul (acquisition) des points. À ne pas confondre avec le taux d'appel (cotisation réellement versée ≈ 127 % du taux de calcul), qui n'ouvre pas de points supplémentaires.
Sont concernées :
- les années de salariat (Principal cadre, conjoint) ;
- les années de freelance en SASU (président assimilé salarié), sur la base du salaire net.
⛔ Exclusion — EURL (TNS). En freelance EURL (gérant majoritaire, Travailleur Non Salarié), il n'y a aucune cotisation AGIRC-ARRCO : ces années n'acquièrent pas de points complémentaires. Seuls les trimestres de base (CNAV, §1.1) continuent d'être validés. Le régime complémentaire TNS n'est pas modélisé.
1.3 Années Barista (Principal)
Quand le Barista est actif (barista_mode = A1), les années où Principal exerce son activité d'appoint
— soit $A_{\text{arrêt}} \le A < \min(\text{barista\_fin\_age},\ A_{\text{retraite}})$ — sont
considérées comme années travaillées salariées pour les droits retraite :
- CNAV (§1.1) : les années de carrière principale restent validées jusqu'à
$A_{\text{arrêt}}$, puis les années Barista ajoutent des trimestres sur la fenêtre
$A_{\text{arrêt}} \le A < \min(\text{barista\_fin\_age},\ A_{\text{retraite}})$
(4 trimestres par an, plafonnés à 172). Si
barista_fin_age <=$A_{\text{arrêt}}$, la fenêtre Barista est vide : la carrière principale n'est pas tronquée. - AGIRC-ARRCO (§1.2) : chaque année Barista acquiert des points calculés sur la base du
revenu Barista brut (
barista_revenu_brut), via les mêmes tranches T1/T2 que le salariat. - SAM (§2.1) : chaque année Barista entre dans l'ensemble des années candidates au SAM, avec
pour base le revenu Barista brut (
barista_revenu_brut) plafonné au PSS. Ce revenu étant faible, ces années sortent presque toujours des 25 meilleures et n'abaissent pas le SAM (sauf carrière de moins de 25 ans, où elles comptent — comportement réel). (Lève la simplification « SAM figé » antérieure ; cf. sam-revenus-simulation.mdnon publie dans ce lot.)
Périmètre. Cette règle concerne Principal uniquement. Le conjoint n'a pas d'activité Barista.
Note d'architecture (B1, différé). En mode statique A1, le nombre d'années Barista est connu d'avance : le calcul de pension reste déterministe. En mode dynamique B1, ce nombre dépendra de la trajectoire ; la pension sera alors fonction du seul nombre
kd'années Barista et pré-calculée sous forme de tablepension(k)(cf. barista-fire-modelisation.md §8.2non publie dans ce lot).
👴 2. Calcul de la pension CNAV (Régime de Base)
Au moment de la liquidation (âge $A_{\text{liquidation}}$), la pension de base brute annuelle est calculée par : $$\text{Pension CNAV}_{\text{brute}} = \text{SAM}_{\text{plafonné}} \times 50\% \times \frac{T}{172} \times \text{Coeff}_{\text{ajustement}}$$
2.1 Salaire Annuel Moyen (SAM) — calculé sur les 25 meilleures années
Évolution (ADR sam-revenus-simulation.mdnon publie dans ce lot). Le SAM n'est plus un paramètre figé : il est calculé comme la moyenne des 25 meilleures années de salaire, en combinant la carrière déjà validée avant la simulation et les revenus simulés par la projection. Les paramètres
sam_principal/sam_conjointsont réinterprétés (cf. parametres.mdnon publie dans ce lot) comme la moyenne des meilleures années déjà validées à l'âge actuel.
Le SAM se construit à partir de deux sources, chaque valeur étant plafonnée au PSS (48 060 €, supposé constant en euros réels) :
(P) Bloc « carrière passée ». On ne connaît pas le détail année par année des salaires passés : la carrière déjà validée est représentée par une valeur unique $\overline{S}_P = \min(\text{sam\_*},\ \text{PSS})$, répétée $n_P$ fois, où $n_P$ est le nombre d'années passées validées, dérivé des trimestres acquis : $$n_P = \left\lfloor \frac{\text{trim\_cnav\_*}}{4} \right\rfloor$$
(S) Années simulées travaillées. Pour chaque année $A$ de la projection où la personne travaille, on retient le salaire de l'année plafonné au PSS, $s_A = \min(\text{base}_A,\ \text{PSS})$, la base dépendant du type d'activité :
| Activité de l'année simulée | Base SAM |
|---|---|
| Salariat (Principal cadre / conjoint) | Salaire brut annuel |
| Freelance SASU (président assimilé salarié) | Salaire brut de président |
| Freelance EURL (gérant TNS) | Rémunération du gérant (revenu professionnel) |
Barista (barista_mode = A1) |
Revenu Barista brut (barista_revenu_brut) |
Calcul. Soit $K = 25$ (constante samBestYears). On forme l'ensemble des valeurs candidates :
$$\mathcal{Y} = \underbrace{\{\overline{S}_P,\ \dots,\ \overline{S}_P\}}_{n_P\ \text{fois}}\ \cup\ \{s_A\}_{A\ \in\ \text{années simulées travaillées}}$$
On retient les $\min(K,\ |\mathcal{Y}|)$ plus hautes valeurs ; le SAM est leur moyenne :
$$\text{SAM} = \frac{1}{\min(K,\ |\mathcal{Y}|)} \sum_{\text{25 plus hautes valeurs de } \mathcal{Y}} v$$
Cas particuliers :
- Carrière courte ($|\mathcal{Y}| < 25$) : la moyenne porte sur toutes les valeurs disponibles. Les années faibles (début de carrière, Barista) comptent alors et abaissent le SAM — conforme à la règle réelle.
- Aucune année ($|\mathcal{Y}| = 0$) : $\text{SAM} = 0$ (pension de base nulle).
Plafonnement final. Chaque valeur de $\mathcal{Y}$ étant déjà plafonnée au PSS, le SAM obtenu est lui-même $\le \text{PSS}$. Le plafond final est conservé pour mémoire, sans effet : $$\text{SAM}_{\text{plafonné}} = \min(\text{SAM},\ 48\ 060\ €) = \text{SAM}$$
⚠️ Portée réelle. Parce que la base CNAV est plafonnée au PSS, une carrière entièrement au-dessus du PSS donne toujours $\text{SAM} = \text{PSS}$ : la pension CNAV est alors identique, que
sam_*soit figé ou calculé. Le SAM calculé ne modifie la pension que pour des revenus sous le PSS (typiquement le conjoint). L'effet d'une carrière qui progresse au-dessus du PSS est, lui, déjà capté par l'AGIRC-ARRCO (§3, sans plafond PSS).
2.2 Coefficient d'ajustement (Décote et Surcote)
Deux décomptes de trimestres manquants interviennent, à ne surtout pas confondre :
- $M = \max(0,\ 172 - T)$ — trimestres manquants pour la durée d'assurance (172). Ce $M$ sert à la proratisation et au régime complémentaire AGIRC-ARRCO (§3.1). Il n'est jamais plafonné par l'âge.
- $M_{\text{décote}} = \max\Big(0,\ \min\big(172 - T,\ (67 - A_{\text{liquidation}}) \times 4\big)\Big)$ — trimestres manquants retenus pour la seule décote CNAV. Conformément à l'art. R351-27 CSS, on retient le moindre entre les trimestres manquant à la durée d'assurance et le nombre de trimestres séparant la liquidation de l'âge du taux plein automatique (67 ans).
💡 Pourquoi deux décomptes ? Liquider à 66 ans avec une carrière courte (ex. 120 trimestres) ne coûte qu'un an de décote, pas la totalité des trimestres manquants : à 67 ans la décote s'annule de toute façon. La décote ne « court » donc que sur l'écart à 67 ans. La proratisation $T/172$ (§2), elle, continue de refléter la durée réellement cotisée — c'est un mécanisme distinct, non concerné par ce plafond.
Le coefficient d'ajustement multiplie la pension CNAV après la proratisation $T/172$ (fondée sur $T$, non plafonné). Il est calculé comme suit :
- Annulation de la décote : Si l'âge de liquidation $A_{\text{liquidation}} \ge 67$ ans, aucun trimestre manquant n'est retenu et : $$\text{Coeff}_{\text{ajustement}} = 1$$
- Décote (si trimestres manquants) : Si $M_{\text{décote}} > 0$ et $A_{\text{liquidation}} < 67$ ans, le taux de liquidation CNAV (50 % au taux plein) est réduit de 0,625 point par trimestre manquant retenu. Comme $\text{Coeff}_{\text{ajustement}}$ multiplie déjà la pension après le taux de base de 50 %, cela équivaut à une décote relative de 1,25 % par trimestre retenu, dans la limite réglementaire de 20 trimestres (minoration maximale de 25 %) : $$M_{\text{retenu}} = \min(M_{\text{décote}},\ 20)$$ $$\text{Coeff}_{\text{ajustement}} = 1 - M_{\text{retenu}} \times 0,0125$$ (Pour une liquidation standard à partir de 64 ans, l'écart à 67 ans limite déjà la décote à $(67 - 64) \times 4 = 12$ trimestres. Le plafond de 20 trimestres reste conservé comme garde-fou réglementaire pour les liquidations anticipées saisissables dans l'application.)
- Surcote (si trimestres excédentaires après l'âge légal) : Si $M = 0$ et l'âge de liquidation est strictement supérieur à l'âge légal (64 ans) : $$\text{Coeff}_{\text{ajustement}} = 1 + \left(A_{\text{liquidation}} - 64\right) \times 4 \times 0,0125$$ (Soit un bonus de $1,25\%$ par trimestre cotisé au-delà de l'âge légal et du taux plein).
- Taux Plein Nominal : Dans les autres cas : $$\text{Coeff}_{\text{ajustement}} = 1$$
Exemple chiffré. Liquidation à 66 ans, $T = 120$ trimestres. $M = 52$, mais $M_{\text{décote}} = \min(52,\ (67-66)\times 4) = 4$. La décote vaut $1 - 4 \times 0,0125 = 0,95$ : le taux équivalent est donc $50\% \times 0,95 = 47,5\%$, soit $50\% - 4 \times 0,625$ point. Une correction incomplète qui garderait $0,00625$ donnerait $0,975$ et pénaliserait deux fois trop peu ; l'ancien calcul sans plafond d'âge donnait au contraire $0,75$. Cf. ADR Correctifs CNAV/Cash/Affichagenon publie dans ce lot §1.
📈 3. Calcul de la pension AGIRC-ARRCO (Régime Complémentaire)
Au moment de la liquidation, la pension complémentaire brute annuelle est calculée à partir des points accumulés : $$\text{Pension AGIRC}_{\text{brute}} = \text{Points}_{\text{total}} \times 1,4386\ € \times C_{\text{min}}$$
- $1,4386\ €$ est la valeur de service du point AGIRC-ARRCO.
3.1 Coefficient de minoration $C_{\text{min}}$ (définitif)
Source : Agirc-Arrco — Coefficients de minoration applicables à la retraite complémentaire, 2025. La minoration est définitive. L'âge de référence du taux plein Agirc-Arrco est 67 ans.
Soit $M$ le nombre de trimestres manquants pour le taux plein de base ($M = \max(0,\ 172 - T)$) et $A_{\text{liq}}$ l'âge de liquidation. ⚠️ Ce $M$ est non plafonné par l'âge : c'est bien le décompte « durée d'assurance », à distinguer du $M_{\text{décote}}$ de §2.2 (plafonné à 67 ans) qui ne sert qu'à la décote CNAV. L'AGIRC-ARRCO obtient son propre traitement « par âge » via le coefficient $c_{\text{âge}}$ ci-dessous.
- Aucune minoration ($C_{\text{min}} = 1$) si le taux plein de base est atteint ($M = 0$) ou si $A_{\text{liq}} \ge 67$ ans.
- Sinon (base minorée, liquidation avant 67 ans), on retient la solution la plus favorable (coefficient le plus élevé) entre le coefficient « carrière courte » (par trimestres manquants) et le coefficient « par âge ». Lorsqu'il manque plus de 20 trimestres, seul le coefficient par âge s'applique : $$C_{\text{min}} = \begin{cases} \max\big(c_{\text{trim}}(M),\ c_{\text{âge}}(A_{\text{liq}})\big) & \text{si } M \le 20 \\ c_{\text{âge}}(A_{\text{liq}}) & \text{si } M > 20 \end{cases}$$
Coefficient carrière courte $c_{\text{trim}}(M)$ — Tableau 2, applicable si $M \le 20$ :
| $M$ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| coeff | 1 | 0,99 | 0,98 | 0,97 | 0,96 | 0,95 | 0,94 | 0,93 | 0,92 | 0,91 | 0,90 |
| $M$ | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
|---|---|---|---|---|---|---|---|---|---|---|
| coeff | 0,89 | 0,88 | 0,8675 | 0,855 | 0,8425 | 0,83 | 0,8175 | 0,805 | 0,7925 | 0,78 |
Coefficient par âge $c_{\text{âge}}(A_{\text{liq}})$ — Tableau 3, anticipation possible au plus tôt à 57 ans (10 ans avant 67) :
| Âge | ≥ 67 | 66 | 65 | 64 | 63 | 62 | 61 | 60 | 59 | 58 | 57 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| coeff | 1 | 0,96 | 0,92 | 0,88 | 0,83 | 0,78 | 0,71 | 0,64 | 0,57 | 0,50 | 0,43 |
Les deux barèmes partagent la même échelle (1 trimestre manquant ≈ 1 trimestre d'âge sous 67 ans) ; ils ne diffèrent que par leur étendue : le barème « trimestres » est plafonné à 20, le barème « âge » descend jusqu'à 57 ans. Le modèle utilise un âge de liquidation en années entières ($A_{\text{liq}} = A_{\text{retraite}}$).
🧮 4. Pension Nette Globale
La pension annuelle nette versée au foyer pour chaque personne est obtenue en déduisant les
prélèvements sociaux des pensions brutes cumulées. Le taux est une hypothèse réglementaire datée,
centralisée dans REGULATORY_ASSUMPTIONS.socialCharges.retirement = 0,091 (9,1 %). Il n'est pas saisi
par l'utilisateur dans la vue Paramètres.
$$\text{Pension}_{\text{brute globale}} = \text{Pension CNAV}_{\text{brute}} + \text{Pension AGIRC}_{\text{brute}}$$ $$\text{Pension}_{\text{nette globale}} = \text{Pension}_{\text{brute globale}} \times (1 - 0,091)$$ $$\text{Pension}_{\text{nette mensuelle}} = \frac{\text{Pension}_{\text{nette globale}}}{12}$$