OPERATIONAL DATABASE
│
┌──────────────────────┼──────────────────────┐
│ │ │
▼ ▼ ▼
Policies Claims Complaints
Payments Contacts Customers
│ │ │
└──────────────────────┼──────────────────────┘
▼
PREDICTION MOMENT
30 days before expiry
│
Use only data available before here
│
▼
FEATURE ENGINEERING
┌──────────────────────┼──────────────────────┐
│ │ │
▼ ▼ ▼
Numeric features Category encoding Aggregations
Premium Motor → [1,0,0] Claims last year
Customer age Health → [0,1,0] Complaints last 90d
Renewal count Life → [0,0,1] Avg payment delay
│ │ │
└──────────────────────┼──────────────────────┘
▼
FEATURE VECTOR
[0.37, 42, 3, 1, 0, 0, 2, 1, 5.4]
│
▼
ML MODEL
│
▼
NON-RENEWAL RISK = 0.78
SQL-versus-AI boundary:
Expiry in next 30 days?
│
└── Exact rule → SQL
Likelihood of not renewing?
│
└── Pattern learned from history → ML
What action should happen?
│
└── Approved business workflow → C#/SQL