Financial technology

Fraud detection that took $2M a year off the loss line

A payments start-up was losing money to fraud faster than its rules engine could be updated. Every new pattern meant a developer writing another rule, and by the time it shipped the pattern had moved on.

Client
Payments start-up, Series B
Timeline
11 weeks to production
Built with
Python, Kafka, Postgres, feature store
$2Mannual loss avoided
11 wksto production scoring
<40msadded to the payment path
−71%manual review queue

The problem

Writing rules faster than the fraud changed was not working.

Every new fraud pattern meant a hand-written rule, a release and a wait. The engine was always describing last month.

Rules were tuned to catch more, which caught more legitimate customers too. The manual review queue grew until decisions were taking days.

Nobody could say why a particular transaction had been declined, which made both the customer conversation and the regulatory one uncomfortable.

The constraint

Scoring had to happen inside the payment.

A decision that arrives after the payment has completed is a report, not a control. The budget was forty milliseconds, agreed before any modelling started, and it shaped every choice that followed.

ONE PAYMENT, SCORED WHILE IT IS STILL IN FLIGHT REQUEST FEATURES 9ms SCORE 21ms DECIDE 8ms SETTLE 38ms ADDED, BUDGET WAS 40ms EVERY SCORE CARRIES THE FACTORS THAT PRODUCED IT

What we did

Score in the path, explain every decision.

  1. 01

    Scoring on the payment path

    A model scores each transaction inline, inside a hard latency budget, so a decision arrives before the payment completes rather than in a batch overnight.

  2. 02

    Features computed once

    Behavioural features are built in a feature store shared by training and serving, which removes the class of bug where a model performs well in testing and badly in production.

  3. 03

    Every decision explained

    Each score carries the factors that drove it, so a support agent can answer a customer and a compliance officer can answer a regulator.

  4. 04

    Rules kept where they belong

    Hard rules still exist for the things that should always be blocked. The model handles the patterns nobody thought to write down.

Outcome

What changed.

  • Roughly $2M a year in avoided loss

    Calculated from the fraud rate before and after against the same transaction volume.

  • The review queue fell by 71%

    Fewer legitimate customers were caught, so the team reviewed the cases that genuinely needed a person.

  • Under 40ms added to the payment

    Well inside the budget agreed at the start, which was the condition for scoring inline at all.

We stopped trying to describe fraud in advance. The useful change was being able to explain a decision after it happened.
Head of risk

Next step

Talk to the engineer who would run your build.

No discovery call with a salesperson, no deck. A senior engineer reads what you send and replies with a real assessment, including when we think you shouldn’t build it.

Tell us what you’re building

We reply within one business day. No sales sequence, no newsletter.

Certified, partnered and awarded