Hyperbolic Discounting

Hyperbolic Discounting

We tend to favor smaller, immediate rewards over larger, delayed rewards. This tendency to prefer instant gratification often leads us to make decisions that are not in our long-term best interests.

The history of this bias traces back to research in the1970s done by both behavioral economists and psychologists. They found that humans have an irrational tendency to drastically overvalue immediate rewards compared to larger rewards that are further away in the future. We irrationally discount the value of future payoffs at a “hyperbolic” rate that defies economic models of rational decision-making.

For example, one study by George Ainslie’s showed that many people would rather have $50 right away than $100 in six months. However, if the wait times are increased, their preferences change. For example, they wouldn’t choose $50 in three months over $100 in nine months, even though it’s the same choice with a longer delay. Similarly, those who preferred $50 in three months to $100 in nine months would change their mind if the wait was $50 in twelve months versus $100 in eighteen months. This shows that the tendency to pick a smaller, sooner reward isn’t just about getting something immediately.

Interestingly, this behavior isn’t unique to humans. The same preferences were found in studies with rats and pigeons, which indicates that this bias isn’t necessarily influenced by culture.


Because of hyperbolic discounting, the future maintenance headaches get irrationally devalued compared to the small upfront time savings.

Building software often involves trade offs like doing things the quick and easy way right now versus taking more time upfront for better code quality and easier long-term maintainability and scalability.

The lure of short-term productivity makes it all too tempting to take shortcuts, skip testing, avoid refactoring, all while the tech and design deb pile up. Those quick shortcuts almost always end up costing way more time and effort down the road when the team has to deal with buggy, messy, slow, insecure, and hard-to-change code.

🎯 Here are some key takeaways:

There will always be tradeoffs

It’s impossible to always focus on the future and ignore immediate needs. Sometimes we need to do things now even though we know it’s not the best way to do it. But it’s important to weight the costs and make appropriate choices based on assumed risk.

Set realistic timelines

Avoid setting overly ambitious short-term goals. Balance immediate achievements with realistic milestones that contribute to overall long-term success.

Understand Future Costs

Get a sense for how much shortcuts now will cost later on. This could mean estimating things like extra maintenance work required, buildup of messy code debt, or the huge effort needed to fix security issues later.

Break bigger goals into smaller steps

Huge, complicated long-term goals are easier to discount and ignore compared to immediate tasks. Break big future goals into a series of smaller, more concrete milestones that are easier to work towards piece-by-piece without losing sight of the long-term vision.

Foster a long-term-mindset culture

Develop a culture that values sustainable choices over quick, short-term moves. Create a safe space where people feel they can bring issues to the table without the fear of repercussions.

Subscribe to get a new bias in your inbox every Friday!

    We will not SPAM you. Pinky swear!

    Type at least 1 character to search

    Thanks for signing up!

    Wil you help keep the show independent and ad free?

    Buy me a coffee

    $ 5
    • My heartfelt thanks
    • One time charge