Une compagnie d’assurance spécialisée dans l’assurance automobile souhaite analyser le risque associé à son portefeuille afin d’évaluer sa rentabilité, sa sinistralité et sa capacité à absorber des événements défavorables.
L’objectif de ce projet est de réaliser une analyse actuarielle complète du portefeuille à partir des données observées sur les cinq dernières années.
L’étude porte notamment sur :
L’analyse permettra ainsi de relier les indicateurs classiques de tarification aux problématiques de gestion des risques et de solvabilité.
La compagnie dispose des données suivantes pour la période 2021–2025.
donnees <- data.frame(
Annee = c(2021, 2022, 2023, 2024, 2025),
Contrats = c(8000, 8500, 9000, 9500, 10000),
Sinistres = c(520, 595, 630, 760, 850),
Cout_sinistres = c(
312000000,
386750000,
415800000,
547200000,
637500000
),
Primes = c(
480000000,
535500000,
585000000,
665000000,
750000000
)
)
donnees
## Annee Contrats Sinistres Cout_sinistres Primes
## 1 2021 8000 520 312000000 480000000
## 2 2022 8500 595 386750000 535500000
## 3 2023 9000 630 415800000 585000000
## 4 2024 9500 760 547200000 665000000
## 5 2025 10000 850 637500000 750000000
Tous les montants sont exprimés en FCFA.
Le portefeuille connaît une progression régulière du nombre de contrats, passant de 8 000 contrats en 2021 à 10 000 contrats en 2025. Cette évolution s’accompagne d’une augmentation du nombre de sinistres et du coût total des sinistres.
La fréquence mesure le nombre moyen de sinistres observés par contrat exposé. Elle est définie par :
\[ F = \frac{N}{E} \]
où \(N\) représente le nombre de sinistres et \(E\) le nombre de contrats exposés.
donnees$Frequence <-
donnees$Sinistres /
donnees$Contrats
donnees$Frequence_pct <-
donnees$Frequence * 100
donnees[, c(
"Annee",
"Contrats",
"Sinistres",
"Frequence",
"Frequence_pct"
)]
## Annee Contrats Sinistres Frequence Frequence_pct
## 1 2021 8000 520 0.065 6.5
## 2 2022 8500 595 0.070 7.0
## 3 2023 9000 630 0.070 7.0
## 4 2024 9500 760 0.080 8.0
## 5 2025 10000 850 0.085 8.5
L’évolution de la fréquence permet d’identifier une éventuelle détérioration de la sinistralité indépendamment de la croissance du portefeuille.
Le coût moyen, ou sévérité moyenne, correspond au montant moyen d’un sinistre :
\[ CM = \frac{C}{N} \]
où \(C\) représente le coût total des sinistres.
donnees$Cout_moyen <-
donnees$Cout_sinistres /
donnees$Sinistres
donnees[, c(
"Annee",
"Sinistres",
"Cout_sinistres",
"Cout_moyen"
)]
## Annee Sinistres Cout_sinistres Cout_moyen
## 1 2021 520 312000000 600000
## 2 2022 595 386750000 650000
## 3 2023 630 415800000 660000
## 4 2024 760 547200000 720000
## 5 2025 850 637500000 750000
L’étude du coût moyen permet de distinguer une évolution de la sinistralité provenant du nombre de sinistres d’une évolution provenant de leur montant.
La prime moyenne par contrat est donnée par :
\[ Prime_{moyenne} = \frac{Primes}{Contrats} \]
donnees$Prime_moyenne <-
donnees$Primes /
donnees$Contrats
donnees[, c(
"Annee",
"Contrats",
"Primes",
"Prime_moyenne"
)]
## Annee Contrats Primes Prime_moyenne
## 1 2021 8000 480000000 60000
## 2 2022 8500 535500000 63000
## 3 2023 9000 585000000 65000
## 4 2024 9500 665000000 70000
## 5 2025 10000 750000000 75000
La comparaison entre la prime moyenne et la charge moyenne des sinistres permet d’apprécier la marge disponible pour couvrir les autres charges de l’entreprise.
Le ratio de sinistres, ou Loss Ratio, mesure la part des primes consommée par les sinistres :
\[ Loss\ Ratio = \frac{Coût\ des\ sinistres} {Primes} \]
donnees$Loss_Ratio <-
donnees$Cout_sinistres /
donnees$Primes
donnees$Loss_Ratio_pct <-
donnees$Loss_Ratio * 100
donnees[, c(
"Annee",
"Primes",
"Cout_sinistres",
"Loss_Ratio_pct"
)]
## Annee Primes Cout_sinistres Loss_Ratio_pct
## 1 2021 480000000 312000000 65.00000
## 2 2022 535500000 386750000 72.22222
## 3 2023 585000000 415800000 71.07692
## 4 2024 665000000 547200000 82.28571
## 5 2025 750000000 637500000 85.00000
Le ratio de sinistres constitue un indicateur central de la rentabilité technique du portefeuille. Une augmentation du ratio signifie qu’une part croissante des primes est consommée par les sinistres.
Dans le cadre simplifié de cette étude, le résultat technique est défini par :
\[ Résultat\ technique = Primes - Coût\ des\ sinistres \]
donnees$Resultat_technique <-
donnees$Primes -
donnees$Cout_sinistres
donnees[, c(
"Annee",
"Primes",
"Cout_sinistres",
"Resultat_technique"
)]
## Annee Primes Cout_sinistres Resultat_technique
## 1 2021 480000000 312000000 168000000
## 2 2022 535500000 386750000 148750000
## 3 2023 585000000 415800000 169200000
## 4 2024 665000000 547200000 117800000
## 5 2025 750000000 637500000 112500000
Cette mesure constitue une première approximation de la rentabilité technique du portefeuille. Elle ne prend cependant pas en compte les frais de gestion, les commissions, les frais d’acquisition ou les charges de réassurance.
La marge technique est définie par :
\[ Marge = \frac{Résultat\ technique} {Primes} \]
donnees$Marge <-
donnees$Resultat_technique /
donnees$Primes
donnees$Marge_pct <-
donnees$Marge * 100
donnees[, c(
"Annee",
"Resultat_technique",
"Marge_pct"
)]
## Annee Resultat_technique Marge_pct
## 1 2021 168000000 35.00000
## 2 2022 148750000 27.77778
## 3 2023 169200000 28.92308
## 4 2024 117800000 17.71429
## 5 2025 112500000 15.00000
L’évolution de cette marge permet d’identifier une éventuelle dégradation de la performance technique du portefeuille.
La charge moyenne des sinistres par contrat peut être décomposée comme suit :
\[ Charge = \frac{Coût\ total\ des\ sinistres} {Nombre\ de\ contrats} \]
et également :
\[ \boxed{ Charge = Fréquence \times Coût\ moyen } \]
donnees$Charge_par_contrat <-
donnees$Cout_sinistres /
donnees$Contrats
donnees[, c(
"Annee",
"Frequence",
"Cout_moyen",
"Charge_par_contrat"
)]
## Annee Frequence Cout_moyen Charge_par_contrat
## 1 2021 0.065 600000 39000
## 2 2022 0.070 650000 45500
## 3 2023 0.070 660000 46200
## 4 2024 0.080 720000 57600
## 5 2025 0.085 750000 63750
Cette décomposition est particulièrement importante en actuariat puisqu’elle permet d’identifier les deux principales composantes du risque de sinistralité : la fréquence et la sévérité.
Afin d’étudier la dynamique du portefeuille, on mesure la variation relative de la fréquence entre le début et la fin de la période :
frequence_2021 <-
donnees$Frequence[
donnees$Annee == 2021
]
frequence_2025 <-
donnees$Frequence[
donnees$Annee == 2025
]
variation_frequence <-
(frequence_2025 / frequence_2021) - 1
variation_frequence * 100
## [1] 30.76923
Cette variation permet de mesurer la contribution de la fréquence à l’évolution globale de la charge sinistre.
On mesure également l’évolution du coût moyen des sinistres :
cout_2021 <-
donnees$Cout_moyen[
donnees$Annee == 2021
]
cout_2025 <-
donnees$Cout_moyen[
donnees$Annee == 2025
]
variation_cout <-
(cout_2025 / cout_2021) - 1
variation_cout * 100
## [1] 25
L’analyse conjointe de la fréquence et du coût moyen permet de déterminer si l’évolution de la charge des sinistres provient principalement d’une augmentation de la fréquence, d’une augmentation de la sévérité ou d’une combinaison des deux.
L’actuaire doit également mesurer la variabilité historique du résultat technique.
L’écart-type est utilisé comme mesure de volatilité :
\[ \sigma = \sqrt{ \frac{1}{n-1} \sum_{i=1}^{n} (X_i-\bar{X})^2 } \]
ecart_type_resultat <-
sd(donnees$Resultat_technique)
ecart_type_resultat
## [1] 26969798
Le coefficient de variation complète cette analyse :
\[ CV = \frac{\sigma} {|\mu|} \]
moyenne_resultat <-
mean(donnees$Resultat_technique)
cv_resultat <-
ecart_type_resultat /
abs(moyenne_resultat)
cv_resultat
## [1] 0.1882708
Ces indicateurs permettent d’apprécier la stabilité du résultat technique au cours de la période étudiée.
Dans une première approche, on suppose que le nombre de sinistres suit une loi de Poisson :
\[ N \sim Poisson(\lambda) \]
Le paramètre \(\lambda\) est estimé à partir de la fréquence moyenne historique.
frequence_moyenne <-
mean(donnees$Frequence)
contrats_2026 <- 10000
lambda_2026 <-
frequence_moyenne *
contrats_2026
lambda_2026
## [1] 740
Le paramètre obtenu représente le nombre moyen de sinistres attendu pour un portefeuille de 10 000 contrats.
Afin d’étudier la distribution du risque, nous réalisons 10 000 simulations du nombre annuel de sinistres.
set.seed(123)
n_simulations <- 10000
sinistres_simules <-
rpois(
n_simulations,
lambda = lambda_2026
)
head(sinistres_simules)
## [1] 724 772 694 743 786 752
La distribution simulée peut être représentée graphiquement :
hist(
sinistres_simules,
breaks = 30,
main = "Distribution simulée du nombre de sinistres",
xlab = "Nombre de sinistres",
ylab = "Fréquence"
)
Cette simulation permet de passer d’une approche déterministe à une approche probabiliste du risque.
La simulation permet notamment d’estimer la probabilité que le nombre de sinistres dépasse un seuil donné.
Dans notre cas, nous considérons le seuil de 700 sinistres :
prob_plus_700 <-
mean(sinistres_simules > 700)
prob_plus_700
## [1] 0.9274
prob_plus_700 * 100
## [1] 92.74
Cette probabilité constitue un indicateur simple de la fréquence d’un scénario défavorable dans le modèle simulé.
Pour simplifier la modélisation, nous supposons que le coût moyen d’un sinistre est constant et égal à 750 000 FCFA.
Le coût total simulé est alors :
\[ S = N \times CM \]
cout_moyen <- 750000
cout_total_simule <-
sinistres_simules *
cout_moyen
head(cout_total_simule)
## [1] 543000000 579000000 520500000 557250000 589500000 564000000
Cette approche permet de transformer le risque de fréquence simulé en une distribution du coût total des sinistres.
La Value-at-Risk à 99 % correspond au quantile à 99 % de la distribution simulée du coût total :
\[ VaR_{99\%} = q_{99\%}(S) \]
VaR_99 <-
quantile(
cout_total_simule,
0.99
)
VaR_99
## 99%
## 602250000
Nous calculons également la VaR à 95 % :
VaR_95 <-
quantile(
cout_total_simule,
0.95
)
VaR_95
## 95%
## 5.88e+08
La VaR permet ainsi d’identifier un niveau de coût associé à un quantile élevé de la distribution des pertes simulées.
La VaR ne renseigne pas directement sur l’ampleur moyenne des pertes lorsque le seuil est dépassé.
L’Expected Shortfall à 99 % est défini par :
\[ ES_{99\%} = E[S \mid S > VaR_{99\%}] \]
ES_99 <-
mean(
cout_total_simule[
cout_total_simule > VaR_99
]
)
ES_99
## [1] 610198454
L’Expected Shortfall complète donc la VaR en donnant une information sur la gravité moyenne des scénarios situés dans la partie la plus défavorable de la distribution.
Supposons que la compagnie dispose actuellement d’un capital de :
\[ Capital = 700\,000\,000\ FCFA \]
Nous comparons ce montant au niveau de VaR à 99 % obtenu précédemment.
capital_disponible <- 700000000
marge_securite <-
capital_disponible -
as.numeric(VaR_99)
marge_securite
## [1] 97750000
On peut également automatiser la comparaison :
if (
capital_disponible >= as.numeric(VaR_99)
) {
print("Capital supérieur au seuil VaR 99%")
} else {
print("Capital inférieur au seuil VaR 99%")
}
## [1] "Capital supérieur au seuil VaR 99%"
Cette comparaison constitue une analyse simplifiée de l’adéquation du capital face au risque modélisé. Dans une étude réelle, l’évaluation du capital réglementaire nécessite naturellement une modélisation beaucoup plus complète des risques.
Une analyse de risque ne doit pas uniquement reposer sur les scénarios historiques ou simulés. Il est également nécessaire d’étudier des situations défavorables.
Nous considérons ici un scénario de stress caractérisé simultanément par :
La fréquence stressée est :
\[ F_{stress} = F(1+15\%) \]
et le coût moyen stressé :
\[ CM_{stress} = CM(1+20\%) \]
frequence_stress <-
frequence_moyenne * 1.15
cout_moyen_stress <-
cout_moyen * 1.20
charge_stress <-
frequence_stress *
cout_moyen_stress
frequence_stress
## [1] 0.0851
cout_moyen_stress
## [1] 9e+05
charge_stress
## [1] 76590
Le stress test permet d’évaluer l’impact d’une détérioration simultanée de la fréquence et de la sévérité des sinistres.
comparaison <- data.frame(
Scenario = c(
"Situation normale",
"Stress test"
),
Frequence = c(
frequence_moyenne,
frequence_stress
),
Cout_moyen = c(
cout_moyen,
cout_moyen_stress
),
Charge_par_contrat = c(
frequence_moyenne * cout_moyen,
charge_stress
)
)
comparaison
## Scenario Frequence Cout_moyen Charge_par_contrat
## 1 Situation normale 0.0740 750000 55500
## 2 Stress test 0.0851 900000 76590
Cette comparaison permet de mesurer directement l’impact du scénario défavorable sur la charge moyenne attendue par contrat.
L’analyse met en évidence l’importance de distinguer les différentes composantes du risque automobile.
Le risque de sinistralité peut être décomposé selon :
\[ \boxed{ Charge\ sinistre = Fréquence \times Sévérité } \]
La fréquence mesure la probabilité ou le nombre attendu de sinistres, tandis que la sévérité mesure leur coût moyen.
Une détérioration du portefeuille peut donc provenir :
Cette décomposition constitue une base importante pour la tarification, le provisionnement et la gestion des risques.
La modélisation réalisée dans ce projet constitue une première approche simplifiée du risque automobile.
Plusieurs améliorations pourraient être apportées dans une étude actuarielle réelle.
Tout d’abord, le modèle de Poisson repose sur l’hypothèse d’une égalité entre la moyenne et la variance du nombre de sinistres. Cette hypothèse peut être insuffisante en présence de surdispersion.
Dans ce cas, une loi binomiale négative pourrait être envisagée.
Par ailleurs, le coût des sinistres a été considéré comme constant dans la simulation. En pratique, les coûts individuels présentent une distribution aléatoire et peuvent être fortement asymétriques.
Une modélisation plus réaliste pourrait donc séparer :
\[ \boxed{ Fréquence + Sévérité } \]
et utiliser, par exemple, une loi de Poisson ou binomiale négative pour la fréquence et une loi Gamma, Lognormale ou Pareto pour la sévérité.
Enfin, une analyse complète devrait intégrer les frais, les commissions, les provisions, la réassurance, l’inflation, les évolutions tarifaires et les exigences réglementaires de capital.
L’analyse actuarielle d’un portefeuille automobile repose sur l’étude conjointe de la fréquence, de la sévérité, de la sinistralité, de la rentabilité et du risque extrême.
L’approche développée dans ce projet permet de passer progressivement :
\[ \boxed{ Données \rightarrow Analyse \rightarrow Modélisation \rightarrow Simulation \rightarrow Risque \rightarrow Capital } \]
L’actuaire dispose ainsi d’une vision globale de la dynamique du portefeuille. L’analyse de la fréquence et du coût moyen permet de comprendre l’évolution de la sinistralité, tandis que la simulation et les mesures de risque telles que la VaR et l’Expected Shortfall permettent d’étudier les scénarios défavorables.
Dans une approche professionnelle, ces analyses peuvent ensuite être approfondies par des modèles de tarification, des modèles de fréquence-sévérité, des simulations Monte Carlo plus réalistes, des modèles de dépendance et une analyse complète du besoin en capital.