📦 Livrables à produire
:::{.livrable-title}📊 Livrable 1 — Tableau d’indicateurs de sinistralité::: :::{.livrable-status .required}Obligatoire:::
Objectif : Calculer les indicateurs clés sur des données simulées.
- Générer un jeu de données de sinistres (1 000+ lignes)
- Calculer : fréquence, sévérité, prime pure, S/P
- Présenter les résultats dans un tableau par segment (âge, zone, type de véhicule)
- Commenter les écarts entre segments
:::{.livrable-title}📈 Livrable 2 — Analyse de l’évolution du S/P::: :::{.livrable-status .required}Obligatoire:::
Objectif : Produire un graphique d’évolution du S/P sur 5 ans avec commentaire.
- Simuler des données sur 5 années
- Graphique matplotlib montrant la tendance
- Identifier les années atypiques et en expliquer les causes possibles
:::{.livrable-title}🔄 Livrable 3 — Pipeline CI/CD fonctionnel::: :::{.livrable-status .required}Obligatoire:::
Objectif : Mettre en place un pipeline GitHub Actions sur ton repo.
- Workflow
.github/workflows/ci.yml - Tests pytest (au moins 5 tests)
- Linting avec black et flake8
- Badge “CI passing” dans le README
:::{.livrable-title}🌟 Livrable 4 — Réflexions::: :::{.livrable-status .bonus}Bonus:::
Prépare 2-3 questions pour le débriefing sur le lien entre indicateurs de sinistralité et qualité du code.
🏋️ Exercices métier
📝 Exercice M1 — Calcul d’indicateurs
Un portefeuille auto compte 8 000 contrats, 10 500 véhicules-année d’exposition, 840 sinistres pour une charge totale de 2 520 000 € et des primes acquises de 3 150 000 €.
Calcule : fréquence, sévérité, prime pure, S/P.
- Fréquence = 840 / 10 500 = 8.0%
- Sévérité = 2 520 000 / 840 = 3 000 €
- Prime pure = 0.08 × 3 000 = 240 €
- S/P = 2 520 000 / 3 150 000 = 80%
Le S/P de 80% laisse une marge de 20% pour les frais et le bénéfice. C’est un résultat correct mais il faut vérifier que les frais ne dépassent pas 20%.
📝 Exercice M2 — Diagnostic de dégradation
Un assureur observe les S/P suivants : N = 68%, N+1 = 75%, N+2 = 85%. Les primes ont augmenté de 3% par an mais la charge sinistres de 10% par an.
Analyse la situation et propose des actions.
La sinistralité se dégrade : la charge sinistres croît 3× plus vite que les primes.
Causes possibles : inflation des coûts de réparation, hausse de la fréquence, anti-sélection (les bons risques partent).
Actions recommandées :
- Revoir la tarification (+10-15% ciblés sur les segments déficitaires)
- Resegmenter le portefeuille pour identifier les segments les plus dégradés
- Renforcer la sélection à la souscription
- Analyser le taux de résiliation par profil de risque
🏋️ Exercices techniques
🔄 Exercice T1 — Premier workflow
Crée un workflow GitHub Actions qui exécute pytest à chaque push sur main.
# .github/workflows/ci.yml
name: Tests
on:
push:
branches: [main]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- run: pip install -r requirements.txt
- run: pytest tests/ -v🔄 Exercice T2 — Tests de sinistralité
Écris 5 tests pytest pour valider les fonctions calculer_frequence(), calculer_sp() et calculer_prime_pure().
import pytest
def test_frequence():
assert calculer_frequence(100, 1000) == 0.1
def test_sp():
assert calculer_sp(70000, 100000) == 0.7
def test_prime_pure():
assert calculer_prime_pure(0.08, 2500) == 200.0
def test_frequence_zero():
with pytest.raises(ZeroDivisionError):
calculer_frequence(10, 0)
def test_sp_parfait():
assert calculer_sp(100000, 100000) == 1.0🔗 Pont métier-technique
🤔 Réflexion
- Comment le CI/CD peut-il sécuriser tes calculs de sinistralité ? (indice : que se passe-t-il si quelqu’un modifie une formule par erreur ?)
- Quels tests écrirais-tu pour valider un modèle de provisionnement ? (plages de valeurs, cohérence temporelle…)
- Comment intégrer les indicateurs de sinistralité dans le dashboard de ton projet central ?
✅ Checklist de fin de semaine
- Module Métier 4 terminé et auto-évaluation faite
- Module Technique 4 terminé
- Livrable 1 produit (tableau d’indicateurs)
- Livrable 2 produit (évolution S/P)
- Livrable 3 produit (pipeline CI/CD)
- Au moins 2 exercices métier réalisés
- Au moins 2 exercices techniques réalisés
- Questions préparées pour le débriefing