Une compagnie d’assurance souhaite déterminer au 31/12/2025 la provision pour sinistres à payer sur un portefeuille automobile.
On dispose du triangle suivant de sinistres cumulés payés, en milliers de FCFA :
| Année de survenance | 12 mois | 24 mois | 36 mois | 48 mois | 60 mois |
|---|---|---|---|---|---|
| 2021 | 4 200 | 6 800 | 8 100 | 8 900 | 9 300 |
| 2022 | 4 500 | 7 200 | 8 600 | 9 500 | — |
| 2023 | 4 800 | 7 600 | 9 200 | — | — |
| 2024 | 5 100 | 8 100 | — | — | — |
| 2025 | 5 400 | — | — | — | — |
Tous les montants sont en milliers de FCFA.
Pour chaque période, calculons les facteurs de développement.
\[ f_{j} = \frac{\sum_{i=1}^{I-j}C_{i,j+1}}{\sum_{i=1}^{I-j}C_{i,j}}\]
Avec \(I\) la periode considerée.
## Warning: package 'ChainLadder' was built under R version 4.4.3
##
## Welcome to ChainLadder version 0.2.21
##
##
## To cite package 'ChainLadder' in publications use:
##
## Gesmann M, Murphy D, Zhang Y, Carrato A, Wuthrich M, Concina F, Dal
## Moro E (2026). _ChainLadder: Statistical Methods and Models for
## Claims Reserving in General Insurance_. R package version 0.2.21,
## <https://CRAN.R-project.org/package=ChainLadder>.
##
## To suppress this message use:
## suppressPackageStartupMessages(library(ChainLadder))
## [1] "ABC" "as.LongTriangle" "as.triangle"
## [4] "ata" "auto" "AutoBI"
## [7] "BootChainLadder" "BS.paid.adj" "cbind2"
## [10] "CDR" "chainladder" "checkTriangleInflation"
## [13] "ClarkCapeCod" "ClarkLDF" "CLFMdelta"
## [16] "coef" "coerce" "cum2incr"
## [19] "cyEffTest" "dfCorTest" "fitted"
## [22] "GenIns" "GenInsLong" "getLatestCumulative"
## [25] "glmReserve" "incr2cum" "inflateTriangle"
## [28] "Join2Fits" "JoinFitMse" "liab"
## [31] "LRfunction" "M3IR5" "MackChainLadder"
## [34] "MCLincurred" "MCLpaid" "MedMal"
## [37] "Mortgage" "Mse" "MultiChainLadder"
## [40] "MultiChainLadder2" "MunichChainLadder" "MW2008"
## [43] "MW2014" "PaidIncurredChain" "plot"
## [46] "predict" "qincurred" "qpaid"
## [49] "QuantileIFRS17" "RAA" "rbind2"
## [52] "resid" "residCor" "residCov"
## [55] "residuals" "rstandard" "show"
## [58] "summary" "Table64" "Table65"
## [61] "Table68" "triangle" "tweedieReserve"
## [64] "UKMotor" "USAAincurred" "USAApaid"
## [67] "vcov"
# ============================================================
# 1. CREATION DU TRIANGLE
# ============================================================
triangle <- matrix(
c(
4200, 6800, 8100, 8900, 9300,
4500, 7200, 8600, 9500, NA,
4800, 7600, 9200, NA, NA,
5100, 8100, NA, NA, NA,
5400, NA, NA, NA, NA
),
nrow = 5,
byrow = TRUE
)
# Nommer les lignes et colonnes
rownames(triangle) <- c(
"2021",
"2022",
"2023",
"2024",
"2025"
)
colnames(triangle) <- c(
"12 mois",
"24 mois",
"36 mois",
"48 mois",
"60 mois"
)
# Afficher le triangle
triangle## 12 mois 24 mois 36 mois 48 mois 60 mois
## 2021 4200 6800 8100 8900 9300
## 2022 4500 7200 8600 9500 NA
## 2023 4800 7600 9200 NA NA
## 2024 5100 8100 NA NA NA
## 2025 5400 NA NA NA NA
# ============================================================
# 2. TRANSFORMATION EN TRIANGLE ChainLadder
# ============================================================
Triangle <- as.triangle(triangle)
Triangle## dev
## origin 12 mois 24 mois 36 mois 48 mois 60 mois
## 2021 4200 6800 8100 8900 9300
## 2022 4500 7200 8600 9500 NA
## 2023 4800 7600 9200 NA NA
## 2024 5100 8100 NA NA NA
## 2025 5400 NA NA NA NA
# ============================================================
# 3. CHAIN-LADDER DE MACK
# ============================================================
mack <- MackChainLadder(
Triangle,
est.sigma = "Mack"
)
# Afficher les résultats
mack## MackChainLadder(Triangle = Triangle, est.sigma = "Mack")
##
## Latest Dev.To.Date Ultimate IBNR Mack.S.E CV(IBNR)
## 2021 9,300 1.000 9,300 0 0.0 NaN
## 2022 9,500 0.957 9,927 427 22.8 0.0534
## 2023 9,200 0.869 10,592 1,392 53.2 0.0382
## 2024 8,100 0.724 11,182 3,082 121.1 0.0393
## 2025 5,400 0.454 11,904 6,504 175.6 0.0270
##
## Totals
## Latest: 41,500.00
## Dev: 0.78
## Ultimate: 52,904.80
## IBNR: 11,404.80
## Mack.S.E 254.72
## CV(IBNR): 0.02
# ============================================================
# 4. RESUME DES RESULTATS
# ============================================================
summary(mack)## $ByOrigin
## Latest Dev.To.Date Ultimate IBNR Mack.S.E CV(IBNR)
## 2021 9300 1.0000000 9300.000 0.0000 0.00000 NaN
## 2022 9500 0.9569892 9926.966 426.9663 22.81854 0.05344341
## 2023 9200 0.8685718 10592.101 1392.1012 53.16059 0.03818730
## 2024 8100 0.7243687 11182.150 3082.1503 121.14472 0.03930526
## 2025 5400 0.4536451 11903.579 6503.5794 175.61318 0.02700254
##
## $Totals
## Totals
## Latest: 4.150000e+04
## Dev: 7.844279e-01
## Ultimate: 5.290480e+04
## IBNR: 1.140480e+04
## Mack S.E.: 2.547195e+02
## CV(IBNR): 2.233441e-02
# ============================================================
# 5. RESULTATS PAR ANNEE DE SURVENANCE
# ============================================================
resultats <- summary(mack)$ByOrigin
resultats## Latest Dev.To.Date Ultimate IBNR Mack.S.E CV(IBNR)
## 2021 9300 1.0000000 9300.000 0.0000 0.00000 NaN
## 2022 9500 0.9569892 9926.966 426.9663 22.81854 0.05344341
## 2023 9200 0.8685718 10592.101 1392.1012 53.16059 0.03818730
## 2024 8100 0.7243687 11182.150 3082.1503 121.14472 0.03930526
## 2025 5400 0.4536451 11903.579 6503.5794 175.61318 0.02700254
# ============================================================
# 6. EXTRAIRE LES INFORMATIONS IMPORTANTES
# ============================================================
resultats[, c(
"Latest",
"Dev.To.Date",
"Ultimate",
"IBNR",
"Mack.S.E",
"CV(IBNR)"
)]## Latest Dev.To.Date Ultimate IBNR Mack.S.E CV(IBNR)
## 2021 9300 1.0000000 9300.000 0.0000 0.00000 NaN
## 2022 9500 0.9569892 9926.966 426.9663 22.81854 0.05344341
## 2023 9200 0.8685718 10592.101 1392.1012 53.16059 0.03818730
## 2024 8100 0.7243687 11182.150 3082.1503 121.14472 0.03930526
## 2025 5400 0.4536451 11903.579 6503.5794 175.61318 0.02700254
# ============================================================
# 7. PROVISION TOTALE
# ============================================================
total <- summary(mack)$Totals
total## Totals
## Latest: 4.150000e+04
## Dev: 7.844279e-01
## Ultimate: 5.290480e+04
## IBNR: 1.140480e+04
## Mack S.E.: 2.547195e+02
## CV(IBNR): 2.233441e-02
## Provision totale IBNR :
# ============================================================
# 8. ULTIME TOTAL
# ============================================================
cat(
"Charge ultime totale :",
total$Ultimate,
"\n"
)## Charge ultime totale :
# ============================================================
# 9. ERREUR STANDARD
# ============================================================
cat(
"Erreur standard de Mack :",
total$Mack.S.E,
"\n"
)## Erreur standard de Mack :
# ============================================================
# 10. COEFFICIENT DE VARIATION
# ============================================================
cat(
"Coefficient de variation :",
total$`CV(IBNR)`,
"\n"
)## Coefficient de variation :
# ============================================================
# 11. GRAPHIQUES DE DIAGNOSTIC
# ============================================================
plot(mack)