NANO TEAM · STUDENT RESEARCH PRESENTATION
Which alerts are likely to be escalated?
Using transaction history to estimate the chance that an alert will need further investigation.
The research question
Can the history available before an alert help estimate whether a specialist will escalate it?
An alert is a case for review. Dismissed = 0; escalated = 1. Escalation means further investigation; it is not proof of wrongdoing.
What we worked with
| Dataset | Rows | Purpose |
|---|---|---|
| Training alerts | 14,000 | Learn from known outcomes |
| Training transactions | 6,987,663 | Build historical features |
| Test alerts | 6,000 | Produce probabilities for unknown outcomes |
| Test transactions | 3,027,575 | Build the same features for test alerts |
| Submission template | 6,000 | Preserve required IDs and order |
2,405 alerts were escalated (17.18%); 11,595 were dismissed (82.82%). This imbalance makes raw accuracy alone a poor way to describe performance.
Data preparation
- Link transactions to alerts using
signal_id. - Treat the date-only alert timestamp as midnight; remove later transactions.
- Summarize each alert's remaining history into one feature row.
The time filter removed 840 training and 51 test transactions. It retained 6,986,823 training and 3,027,524 test transactions. Every alert still had history.
miqdor_indeksi is a standardized size indicator, not an amount in UZS. Negative values are valid; adding them does not measure monetary turnover.
What separated the two groups?
Each number below is an average of per-alert summaries, so alerts with many transactions do not receive extra weight.
| Historical feature | Dismissed | Escalated |
|---|---|---|
| All-history transaction count | 493.9614 | 523.6345 |
| Last 7 days: count | 46.5562 | 48.3331 |
| Last 30 days: count | 77.9008 | 81.2096 |
| Last 90 days: count | 218.1251 | 231.9052 |
| All-history mean size index | −0.0452 | −0.1160 |
| Last 7 days: mean size index | −0.4224 | −0.4883 |
| Incoming transaction share | 75.03% | 74.41% |
| International transaction share | 0.44% | 0.45% |
| Cash transaction share | 6.21% | 6.48% |
| Night transaction share | 22.93% | 22.94% |
Three observations to remember
Activity is a weak clue. Escalated alerts had slightly more transactions, but the groups overlap substantially.
Size patterns matter in unexpected ways. The lowest fifth of historical mean size had a 20.61% escalation rate, compared with 14.57% for the highest fifth. This is an association in synthetic data, not a causal rule.
A recent burst is not a simple escalation rule. Across increasing fifths of the seven-day versus preceding-83-day activity ratio, escalation rates were 18.14%, 17.00%, 16.25%, 17.61%, and 16.89%. Rates did not steadily rise.
What we can conclude
Several patterns together may help the model. A rule such as “international transactions always mean escalation” is unsupported. Across 11 selected features, train/test standardized mean differences were below 0.025; that limited check does not establish that all distributions are identical.
Descriptive findings use all training rows after the model recipe was frozen. They were not used to retune after holdout evaluation.
From transaction rows to model inputs
We summarize 1, 3, 7, 14, 30, 60, 90, and 180 days, plus all available history.
| Feature family | What it describes |
|---|---|
| Activity | Counts, active days, peaks and recency |
| Size distribution | Mean, spread, quantiles and extremes of the size index |
| Composition | Incoming/outgoing and transaction-type shares |
| Timing | Night/weekend activity and gaps between transactions |
| Changes | Recent behavior compared with longer-term history |
| Interactions | Size statistics within direction/type groups |
The same feature code handles train and test data. The target, raw alert ID and absolute alert date are excluded from predictors. Empty-window counts are zero; unavailable statistics stay missing. Logistic regression preprocessing is fitted within each fold.
Comparing models
11,200 development alerts were used in three folds for selection and early stopping. 2,800 holdout alerts were reserved for the final assessment.
| Candidate | Development ROC-AUC ↑ | Log loss ↓ | Brier score ↓ |
|---|---|---|---|
| Logistic regression | 0.5994 | 0.4705 | 0.1446 |
| LightGBM | 0.6234 | 0.4460 | 0.1386 |
| CatBoost | 0.6190 | 0.4472 | 0.1390 |
| Equal-weight blend | 0.6252 | 0.4458 | 0.1386 |
The blend averages LightGBM and CatBoost probabilities. Its development AUC gain over LightGBM was only 0.0018; no statistical significance is claimed. The fixed recipe uses 110 LightGBM rounds and 399 CatBoost rounds.
The main result: untouched holdout
| Metric | Selected recipe | Constant-prevalence baseline |
|---|---|---|
| ROC-AUC ↑ | 0.6416 | 0.5000 |
| Average precision ↑ | 0.2593 | 0.1718 |
| Log loss ↓ | 0.4424 | 0.4587 |
| Brier score ↓ | 0.1375 | 0.1423 |
ROC-AUC in plain language: for a randomly chosen escalated and dismissed alert from the holdout, the model ranks the escalated alert higher about 64.16% of the time, with half credit for ties. It does not mean 64.16% classification accuracy.
A 1,000-resample bootstrap gives a 95% interval of 0.6138–0.6690. This is conditional on the fitted recipe and does not capture every source of uncertainty.
Are the probabilities exact?
No. In the highest holdout probability bin, the average prediction was 27.34%, while 29.71% actually escalated. Calibration remains imperfect. No post-hoc calibrator was fitted on the untouched holdout.
Does the result hold across time?
A chronological sensitivity check, split at 6 June 2026, gave 0.6521 ROC-AUC. It is not independent confirmation: model selection had already used some of those later rows.
Final output
The report describes six final models: LightGBM and CatBoost at seeds 42, 137 and 2026, refitted on all 14,000 training alerts. Their probabilities were averaged for 6,000 test alerts.
The reported submission uses signal_id,ehtimollik, matching the supplied template. eskalatsiya is the training target. Reported probabilities range from 0.0662062425 to 0.3776646370.
What remains unknown
- The final six-model ensemble has no independent labeled test score; only organizers can evaluate hidden-test outcomes.
- We cannot verify customer independence because no customer identifier is available.
- No feature-family ablation study or dedicated calibration comparison was completed.
- These synthetic findings do not establish performance on real banking data.
Conclusion: the approach provides a reproducible estimate with modest ranking power. Better calibration and independent validation are sensible next research steps.
Our working plan
| Speaker | Section | Main point to explain |
|---|---|---|
| Muslima S. | Data and preparation | How we prevent future transactions from leaking into features |
| Khayotbek A. | Research and modeling | Why we combine several historical patterns and compare models |
| Diana F. | Evaluation and limitations | What ROC-AUC means and what the model cannot establish |
Closing statement
Transaction history contains some useful signal for escalation. Our selected recipe achieved 0.6416 holdout ROC-AUC. We treat it as a research result with limitations, and we do not claim that every estimated probability is exact.
Source and scope
Method references cited by the report: