Predictive risk modeling and pricing optimization using historical South African auto-insurance data. Implements EDA, A/B test validation, DVC, and SHAP interpretability.
# Insurance Risk Analytics – ACIS
Predictive risk modelling and pricing optimisation for AlphaCare Insurance Solutions (ACIS), using 18 months of historical South African auto-insurance claim data (Feb 2014 – Aug 2015).
## Business Context
ACIS is preparing for aggressive growth in the SA auto-insurance market. This project provides the analytical foundation for:
- Identifying **low-risk client segments** where premiums can be reduced to attract new business.
- Statistically validating **risk hypotheses** across provinces, zip codes, and demographics.
- Building **predictive models** for claim probability and severity that power dynamic, risk-based pricing.
## Project Structure
```
insurance-risk-analytics/
├── .github/workflows/ci.yml # GitHub Actions CI (lint + test on every push)
├── data/ # Tracked by DVC — not committed to Git
├── notebooks/
│ ├── 01_eda.ipynb # Exploratory Data Analysis (Task 1)
│ ├── 02_hypothesis_testing.ipynb # A/B hypothesis tests (Task 3)
│ └── 03_modeling.ipynb # Predictive modelling (Task 4)
├── src/
│ ├── data_loader.py # DataLoader class — load, validate, enrich
│ ├── eda_utils.py # EDA helper functions and plots
│ ├── hypothesis_tests.py # Statistical test utilities (Task 3)
│ └── modeling.py # Model training and evaluation (Task 4)
├── reports/
│ └── final_report.md # Medium-style business report
├── tests/ # pytest test suite
├── .dvc/ # DVC config (committed)
├── dvc.yaml # DVC pipeline stages
├── requirements.txt
└── README.md
```
## Key Metrics
| Metric | Formula | Purpose |
|--------|---------|---------|
| **Loss Ratio** | `TotalClaims / TotalPremium` | Core measure of portfolio profitability |
| **Margin** | `TotalPremium - TotalClaims` | Per-policy profit contribution |
| **Claim Frequency** | `count(claims > 0) / count(policies)` | Probability of a claim occurring | …