Skip to main contentSkip to navigation

Projects

Merchant freeze economics

By Syed Ahmed Basharat Ali. github.com/sa-basharat-ali/merchant-freeze-economics

The problem

An acquirer that suspects a merchant can freeze the account. That is usually treated as a classification problem, but it is a decision with two opposing costs: the fraud a freeze prevents, and good merchants who stop processing and may never come back, a cost paid for every day they wait in the review queue.

This project simulates 60,000 merchants ($3.9B annualised GPV, 697 bad actors) and prices each freeze policy end to end.

Headline numbers

  • Freezing every merchant scored above 0.50 catches 98% of bad actors and nets -$9,056,284 versus freezing nobody.
  • The profit-maximising threshold (0.80) catches 66% of bad actors and still freezes 5,151 good merchants to stop 461 bad ones.
  • Cutting time to resolution from 3 days to 1 adds +$4,546,617; raising model AUC from 0.903 to 0.922 adds +$3,256,879.
  • With 3 reviewers and a 0.50 threshold, the median freeze stretches to 116 days.

What it means

Recall is the wrong headline metric for a decision that takes a business offline. Review latency is part of the risk policy, and platform work that shortens it can be worth more than a better model.

Generated data with a deterministic seed; no real company's data. Built with Python (standard library only).

Code and full write-up on GitHub