Work

Delivery-dispute risk scoring

A risk score that tells genuine courier error from fraudulent claims and decides which delivery disputes are worth pursuing, built by a team of two. 2,500+ locations, $4M+ recovered.

$4M+recovered

Company
PrepProof
Role
Chief Product Officer (Consulting)
Team
Build team of two: me and one engineer
Timeline
2024 – 2026
Type
Feature

TL;DR

Problem
PrepProof does delivery-dispute recovery for franchise restaurant operators, on outcome-based pricing: operators only pay when money is won back.
What I did
I owned the risk-scoring logic that separates genuine courier error from fraudulent claims and decides which disputes to pursue, and the reconciliation dashboard. With one engineer I built our own database, charting, review, reporting and interface.
Result
2,500+ locations, 100,000+ operations handled autonomously, $4M+ recovered, and customer retention up 22% from the first year to the second. Onboarding got much faster on the in-house database.

Context & problem

PrepProof does delivery-dispute recovery for franchise restaurant operators. When a delivery order turns into an unjust refund or chargeback, it works out which disputes are worth challenging and wins the money back. I was Chief Product Officer (Consulting) from May 2024 to May 2026.

Customers include a Wendy’s franchisee and GT Sonic. The product works with orders from DoorDash, Uber Eats and Grubhub, and the business is priced on outcomes: you only pay when we win money back.

A delivery dispute has four parties: the customer asking for a refund, the courier who may have made the mistake, the restaurant that absorbs the cost, and the platform that arbitrates. Some of those claims are genuine courier error. Some are fraudulent. A recovery product has to tell them apart before it can do anything useful about either.

The build team was two people: me and one engineer.

Discovery & insight

I kept a standing cadence with 100+ operators. What I wanted from it was behavior more than opinion: what operators actually did about a disputed order, rather than what they said they would pay for.

The way I framed the scoring, it answers two questions. What happened: genuine courier error, or a fraudulent claim? And what to do about it: is this a dispute worth pursuing? The first is a judgment about the past and the second is a decision about money, and the risk-scoring logic I owned had to carry both.

HypothesisBy changing a refund or chargeback the operator absorbs to a risk score that separates genuine courier error from fraudulent claims and decides which disputes to pursue for franchise restaurant operators, we expect money recovered for operators to move, because the operator only pays when money is won back, so recovered money is the measure that matters, and the score decides which disputes go after it.

Strategy & bets

Catch every recoverable dispute that is reasonable and legitimate. A score like this has a tuning question: which mistake would you rather make, filing a dispute that shouldn’t be filed or leaving recoverable money on the table? We tuned toward catching every recoverable dispute that was reasonable and legitimate. The second half of that sentence is the boundary on the first.

Own the data layer. We built our own database to configure the entire stream and the entire process, comprehensive and secure, and built the charting from scratch. With a team of two, I’d rather own the foundation than work around one, because the entire stream and process ran through it. It is also what made onboarding a new operator much faster.

Build the interface ourselves. There is no mobile app. The review, the reporting and the interface are ours, built for our own team and for the operators using the product.

How PrepProof connects to the delivery platforms stays under NDA.

Solution

The risk-scoring logic is the core. It separates genuine courier error from fraudulent claims and decides which disputes to pursue. The signals and thresholds behind it stay with PrepProof.

The reconciliation dashboard sits beside the scoring. It standardizes payout and performance data across locations and delivery platforms.

Under both is the in-house foundation: our own database, configured for the whole stream and process; charting built from scratch; and review, reporting and the interface, built for internal and external users.

Under outcome-based pricing, the operator’s trust and the company’s revenue rest on the same thing: what came back.

Execution

I owned the risk-scoring logic and the reconciliation dashboard as product. The build was the two of us: the database, the charting, review and reporting, and the interface.

A team that size changes how scope works: each surface we add is one the two of us maintain, so the work centred on a few pieces, owned closely: the score, the dashboard, and the data layer under them.

The standing cadence with 100+ operators ran alongside the build.

Validation & results

2,500+
locations
100,000+
operations handled autonomously
$4M+
recovered
for operators
+22%
customer retention
first year to second year

Under outcome-based pricing, the first thing to watch is money won back for operators, because nothing else gets paid. The second is whether operators stay. A customer who comes back for a second year is the clearest sign the recoveries were worth it, which is why the retention figure is the one I’d put next to the dollars. It is customer retention, from the first year to the second. These are company figures.

Reflection

Two things I’d carry forward. The first is the qualifier in the tuning goal. “Every recoverable dispute” on its own is a volume target; “reasonable and legitimate” is what makes it a product an operator can put their name on.

The second is owning the data layer. With one engineer, building our own database and charting is the choice I’d make again, because the whole stream and process, and the onboarding, stood on it.