RSS

// Perverse Incentives

Every metric you optimise for is a proxy. The moment you forget that, the proxy becomes the goal.

A short one about a bounty on dead cobras, a surgeon’s scorecard, and what happens when a product team optimises for “conversion” without asking what it’s supposed to be standing in for.

Also: Goodhart’s Law, a shed full of snakes, and why Google moved its own head of search out of the job.

The cobra effect

The story goes like this. Colonial Delhi had a cobra problem. The British administration, wanting fewer cobras on the street, offered a bounty for every dead one handed in. It worked, for a while. Bounties came in, cobras came in, everyone was pleased with themselves.

Then people started breeding cobras. Why catch a wild one when you can farm them and collect the bounty on your own schedule? Once the administration noticed and cancelled the programme, the farmers had a shed full of now-worthless cobras. They released them.

Delhi ended up with more cobras than it started with.

Whether the story is literally true is disputed. It may be more parable than history. It doesn’t matter. It named something real. An incentive that produces more of the very behaviour it was designed to eliminate, because the thing being measured (dead cobras handed in) came loose from the thing actually wanted (fewer cobras in the world).

That gap between the metric and the goal is where every perverse incentive lives.

What makes an incentive perverse

Not every bad outcome from an incentive is a perverse incentive. Sometimes an incentive just doesn’t work, or works too slowly, or costs more than it delivers. That’s a bad incentive. A perverse incentive is stranger and worse. It works. It gets what it asked for, to the letter. What it asked for turns out not to be what anyone wanted.

The pattern shows up wherever someone reaches for a countable proxy because the real goal isn’t directly measurable. You can’t measure “fewer cobras in Delhi” in real time, so you measure “cobras handed in for bounty.” You can’t measure “students learned something,” so you measure test scores. You can’t measure “the codebase is healthy,” so you measure lines of code, or velocity, or tickets closed.

Economists call the moment this turns bad Goodhart’s Law, usually summarised as when a measure becomes a target, it ceases to be a good measure. The sociologist Donald Campbell described the same failure in social indicators specifically. The more a number gets used to make decisions, the more it invites the kind of distortion that makes it stop meaning anything. Neither law says the number was wrong to track, but both say that once you start managing to the number instead of the goal, you should stop trusting it to tell you the truth.

Each proxy is a bet that it moves in step with the thing you actually care about. The bet holds until someone starts optimising for the proxy directly instead of the goal it was standing in for. At that point the proxy and the goal come apart, and the metric keeps climbing while the thing it was meant to represent gets worse.

Nobody has to be malicious for this to happen. The cobra farmers weren’t villains. They were rational people, doing what the incentive structure told them to do.

The mortality metric

Take something with real stakes. In the late 1980s, several U.S. states started publishing surgeon and hospital “report cards” for procedures like cardiac bypass surgery (public mortality rates, meant to let patients choose safer providers and pressure poor performers to improve). The metric was what fraction of your patients survived the operation.

It worked as designed, and produced a result nobody wanted. Surgeons and hospitals got measurably more reluctant to operate on the sickest patients, the ones with the worst odds no matter who operated on them. Studies tracking the effect found risk-averse providers declining or delaying the highest-risk cases to protect their published numbers. Reported mortality rates went down. How much of that was better care, and how much was healthier-looking numbers bought by refusing the hardest cases, is the question you can’t answer just by looking at the number.

Nobody published a metric called “avoid the patients most likely to die.” They published one called “patients who survived,” which looks identical to “good care” until you notice you can raise it by turning away anyone whose odds were already bad. Wanting fewer deaths and wanting a lower recorded death rate look like the same goal, right up until the second one becomes something you can hit by refusing to treat the people who need you most.

Same gap as the cobras. Much higher price for getting it wrong.

Conversion

Product management’s version of this has far lower stakes, but the same shape. Its own cobra, if you like.

“Conversion” is one of the most reached-for numbers in software, because it looks like the thing you want. More people doing the valuable action, whatever that is on your product. Sign up, buy, subscribe, upgrade. A rising conversion rate is genuinely good news, some of the time, for some period.

But conversion is a proxy for something upstream and vaguer, something like the product delivered enough value that someone chose it. It was never the goal itself, only ever what stood in for it. And a team under pressure to move a number will, eventually, move the number instead of the thing behind it.

You’ve felt the results of this even if you’ve never worked in product. A checkout flow that reveals shipping costs only on the final screen converts slightly better than one that’s upfront about them, and erodes a little trust every time someone notices. A free trial that requires a card up front and buries its cancellation flow three menus deep converts better too, and manufactures a customer who feels tricked rather than won. Every one of these moves the conversion number by spending something else. Trust, and whether the product was actually worth choosing in the first place.

Wells Fargo makes the case directly. Employees under years of pressure to hit an internal quota for “cross-sold” accounts per customer opened millions of accounts nobody asked for. The number went up. Then it became a scandal and a fine in the billions. Nobody at Wells Fargo set out to defraud their own customers. They were hitting the number they were measured on.

Search makes the point better than any checkout flow. Internal Google communications that surfaced in the DOJ’s antitrust trial against the company describe a 2019 “code yellow” declared over weak query-growth numbers, and Ben Gomes, the long-time head of search, pushing back on tactics that could “increase queries quite easily in the short term in user-negative ways” and warning that search was “getting too close to the money.” He was later moved out of the role. Around the same time, ad labels on mobile search results were redesigned from a bright green “Ad” tag to subtle black text, making ads harder to tell apart from organic results. The fullest account, built from the unsealed documents, is Ed Zitron’s. It’s worth the same caveat as the cobras. An argument built on internal emails and inference, not a signed confession, and disputed.

The shape of the incentive is the cobra’s, though. A search engine that hands you the right answer immediately gives you no reason to search again. One that makes you dig, rephrase, and click a couple more times grows its query count and ad impressions right along with it. Neither number tells you whether anyone found what they came for.

The team hits its number. The dashboard goes green. And somewhere downstream, support tickets creep up, churn creeps up, brand trust erodes a little, and next quarter’s conversion rate has to fight harder for less, because you’ve spent down the thing that made people convert honestly in the first place.

This is the shed full of cobras. Nobody released fraudulent snakes into product management on purpose. Everybody just did what the incentive told them to, and the incentive had stopped pointing at the goal a while back.

Watching the gap

You still need some countable stand-in for the thing you’re trying to achieve (conversion, survival rates, query growth, whatever it is), the same way Delhi needed one for “fewer cobras.” What matters is remembering, continuously, that the number is a proxy and not the goal, and building something that checks whether the two are still moving together.

That usually means pairing the metric you’re chasing with one that would catch you cheating on it. Conversion rate next to refund rate. Signups next to 30-day retention. Support-ticket volume next to resolution quality, not just resolution speed. If the first number goes up and the second one doesn’t move, or moves the wrong way, you’re not looking at success. You’re looking at a shed full of cobras you haven’t opened yet.

Ask what a bad actor would do to make this number go up without making the underlying thing better. If there’s an easy answer, someone under enough pressure will eventually find it, and it won’t even feel like cheating to them. It’ll feel like doing their job.

The bounty always gets paid. The only question is whether you asked for the thing you actually wanted, or a proxy for it that turned out to be cheaper to fake.

I'd love to tell you more.

// Product Strategy

I take products from zero to one. Then, if they need it, from one to scale. Different skills. I’ve learned where one stops and the other starts.

I worked on Tyl by NatWest, helping them re-enter merchant services after years shut out by regulators. I worked inside Google Android, where two patents came out of building things nobody had built yet.

Product-market fit needs testing against, over and over. That’s the job I actually do.