Capability
Score every transaction. Explain every decision.
Sub-second fraud, KYC, and AML scoring tuned for East African payment rails — M-Pesa, Airtel Money, card, RTGS. Every decision comes with a reason code a compliance officer can read out loud to the regulator.
Architecture
Stream-native. Every decision explainable.
What changes
Risk operations, before and after.
Before
Static rules. Alert fatigue. Reactive.
- Rule engines tuned in 2019. Still flagging yesterday's patterns.
- False-positive rate above 90%, analysts drowning.
- Emerging fraud patterns discovered only after the loss.
- KYC is a batch process that takes hours per customer.
- Regulator asks "why did you block that?" — no one has a clean answer.
After
Adaptive. Targeted. Defensible.
- Rules + models working together. Rules for certainty, ML for subtlety.
- False-positive rate cut 40–70%. Analysts work the cases that matter.
- New patterns surface in days, not months, via analyst feedback loop.
- KYC in seconds with automated document and liveness checks.
- Every decision has a reason code, a threshold, and an audit trail.
Typical stack
Proven, not exotic.
XGBoost
LightGBM
SHAP
Kafka
Flink
Postgres
Redis
Feast
MLflow
Docker
Grafana
OpenTelemetry
How we deliver this
The same capability, three ways.
In an Audit
Risk posture review
We benchmark current FP/FN rates, evaluate rule coverage, review case-management workflow, identify top 3 loss categories, and recommend where ML adds measurable value.
In an Integration
One scorer in production
Typically transaction fraud or signup KYC. Real-time scoring (<200ms), explainable output, case-management integration, monitoring for drift. Shipped in 10–14 weeks.
In a Transformation
Unified risk platform
Fraud, KYC, AML, sanctions screening sharing a feature store and case queue. Analyst feedback loop feeding continuous retraining. Regulator-ready dashboards and audit trails.
In production
One transaction, scored.
risk.ops — Transaction score · txn-8819274
Transaction
KES 240,000 · M-Pesa to new recipient · 02:14 EAT
Latency
147 ms · p95 target 200 ms
Score: 0.72 · REVIEW
Threshold: 0.65 review · 0.90 block
• New recipient + out-of-hours + 3.2× velocity vs baseline (+0.38)
• Device seen first time in last 24h (+0.21)
• Geo consistent with account history (−0.09)
• No sanctions or watchlist hit (−0.02)
Action: sent to analyst queue with SMS OTP challenge auto-triggered.
Next step
Reduce fraud loss without alienating customers.
Explainable, regulator-ready, tuned for East African rails. We'll start with a loss-pattern benchmark against your last 90 days.