The right amount of Bad Things

Dan Murphy, July 21 2023

Credit cards

Embrace the fraud

There is an excellent post on the blog Bits About Money titled The optimal amount of fraud is non-zero.

In it the author says the following about credit card fraud:

Pretend you are the newly hired Director of Fraud for Business, Inc. You know you are ultimately liable for most fraud that happens in this pattern. What target do you take to the CEO for how much fraud you should suffer? Zero?! Do you think the Director of Marketing desires to spend zero on marketing!? That would be an objectively silly goal.

Directors of Fraud are aware that the policy choices available to them impact the user experience of fraudsters and legitimate users alike. They want to choose policies which balance the tradeoff of lowering fraud against the ease for legitimate users to transact.

So while there may be tens of billions of dollars of credit card fraud every year, cutting that number down would involve inconveniencing legitimate customers. And that added inconvenience would actually cost the business accepting credit card payments more in lost revenue than the fraud the business must swallow as an expense.

Taking the bad with the good

The most important takeaway from this idea is, as the author calls out, that it applies generally.

Just as it makes sense for the rules dictating credit card usage to be lenient enough for fraud to occur, in many other scenarios it makes sense to allow some level of The Bad Thing to occur in order to unlock more of The Good Thing.

In the setting of a digital business you might want to ask yourself what’s the ideal amount of bugs? Tech debt? Customer churn? I’ll spare you the philosophical musing of asking what the ideal level of suffering in your life is.

Whatever The Bad Thing is, trying to get the number to zero is not going to serve you. It’s more a sign of perfectionism than pragmatism.

Spend all your time fixing bugs and tech debt and you’re not iterating on new features as quickly as you could be.

Get customer churn to 0 and you’re likely doing some combination of charging too little, reactively catering your product to customer requests rather than planning strategically, and spending too much time and money hand holding the customer.

The more you know

Knowing why your particular Bad Thing is at its current level is valuable because it teaches you about the processes underlying that metric.

Why is our churn at the level it is? Are we priced too high? Have too many bugs? Don’t have killer feature X? Talking to customers as they churn can be a valuable source of signal.

Your bugs can tell you which parts of your system are fragile, which are most well used, and what the failure modes are.

Time and place

So what is the ideal level of The Bad Thing? Of course you have to make that judgement call for yourself based on your circumstances, but I will say that you should expect it to vary as your business and product evolve.

Still searching for product market fit and a repeatable sales process? Then you better be iterating quickly while you figure all of that out, and that need for iteration may suggest a higher ideal level of tech debt and bugs.

Have a well-oiled sales machine signing customers left and right with great regularity? Then perhaps the most valuable thing you can do for a time is to refine what you already have. That may suggest a lower ideal level of bugs and tech debt.

Obviously whether or not that’s true depends on your specific situation, but simply recognizing that elimination or minimization of undesirable things is not the goal can be helpful in your decision making process.

All of this is meant to encourage you to ask yourself, what am I optimizing for? Am I trying to minimize the number of bugs that go out the door?

If so, why? Because bugs are bad and we should strive to minimize Bad Things?

That framing misses the bigger picture: Bad Things are often inextricably linked to Good Things and changing one may well change the other in counterintuitive ways.

Keep that in mind the next time you prioritize a bug fix.


Could your business benefit from expert software engineering, product development or team building? Get in touch at hello@rdnt.software or visit https://rdnt.software/ to get started.

Radiant Software builds exceptional digital products using Ruby on Rails, React, Node.js, Python or your technology of choice. We can accelerate your product development process with rapid prototypes, A/B testing, and analysis of technical feasibility. Or leverage our experience to level up your engineering team with technical interviewing, mentorship, and training in modern software development practices.