Hyperbolic discounting: friend and foe of goal achievement

Why is it so difficult to make choices that we know will be best for us in the long run?

Read Time 5 minutes

Still keeping up your New Year’s resolutions to make it to the gym every day and eat healthful food? Congratulations, you have officially made it past “Fall Off the Wagon Day.” Defined as the second Saturday in February, it is the date on which, according to analyses of gym attendance and fast-food sales, most people tend to give up on their resolutions.

Of course, giving up a resolution doesn’t generally involve a sudden loss of interest in fitness and health. The long-term goals stay the same – the change lies instead in the day-to-day choices affecting whether or not we achieve those goals. The impulse donut purchase with your morning coffee order. Skipping the gym after a long workday. A late-night Netflix binge despite early meetings the next morning. For all of these decisions, we balance a desire for immediate gratification against what’s best for us in the future. We often make these sorts of choices with complete awareness of this trade-off. We know that regret is soon to come – that moment when we step on a scale or see the bags under our eyes and proceed to beat ourselves up over the short-sightedness of our choices.

If this routine sounds familiar, you certainly aren’t alone. But it raises the question: why? Why is it so difficult to make choices that we know will be best for us in the long run?

Because we have a hard-wired bias for the immediate. Given a choice between a reward now or a reward in the future, humans tend to choose the present, even when they know the future reward would be substantially larger. It’s a phenomenon of behavioral economics known as “hyperbolic discounting” – in our minds, we discount the value of the future reward. And the greater the delay, the greater the discount. As a simple example, let’s say you were offered the choice of $900 today or $1000 tomorrow. Classical experiments tell us that most people would choose $1000 tomorrow, but if the delay were extended to say, two months, most would instead opt for the smaller, immediate payout. In other words, as the time delay to a reward increases, our perceived value of that reward decreases.

Exponential vs. Hyperbolic Discounting: A Matter of Time

On some level, placing a higher value on immediate rewards makes sense – money acquired now, for example, could be invested and earn interest, achieving a higher value over the delay period associated with the future reward. We would expect that for a given set of reward options separated by a fixed time interval, our rate of discounting would remain fairly consistent over time – the difference between $10 today and $20 tomorrow is the same as the difference between $10 in one year and $20 in one year and one day. That is to say, discounting is expected to follow an exponential curve as a function of time.

Yet observations of human behavior consistently show that this is not the case. The term “hyperbolic discounting” refers to the fact that discount rates follow a hyperbolic curve, meaning that a comparison between two points depends not only on the time interval between them, but also on how distant the two points happen to be from the present (Figure 1). In other words, hyperbolic discounting is inconsistent across time: the difference in discounting between a present reward and a future reward is great, but the difference in discounting between a future reward and reward that is further in the future is tiny. Take our money example from earlier. Most people would choose $900 today over $1000 in two months, but if it were instead a choice between $900 in one year and $1000 in one year and two months, our preference shifts back toward the $1000 prize.

Figure 1: Comparison of exponential (time-consistent) discounting and hyperbolic (time-inconsistent) discounting. [Source]

 

Hyperbolic Discounting Was Once Adaptive

Seems illogical, doesn’t it? Well, yes – hyperbolic discounting is an example of a “cognitive bias”: a subconscious, hard-wired error in processing and interpreting information which causes deviations from rational decision-making. But like many other cognitive biases, hyperbolic discounting is an adaptation which provided benefits to humans over the course of evolution – for instance, by prioritizing immediate survival (ex/ eat the abandoned, sickly buffalo) over less certain long-term gains (ex/ track the herd and kill several of the largest animals). An immediate reward is a sure thing, while a future reward leaves space for problems to arise (ex/ starvation, death) which prevent acquisition of the larger prize. The longer the delay to a pay-off, the higher the risk that it might never happen.

Or so it was for our ancestors. In a modern setting, this bias toward immediate reward is often maladaptive and underlies a tendency toward impulsivity. Long-term goals of fat loss or retirement savings are at an inherent disadvantage when weighed against an extravagant dinner with a hefty bar tab this weekend. Individual variation in hyperbolic discounting has also been proposed as a risk factor for developing addictions, as smokers and problem gamblers have been shown to have steeper discounting rates for future monetary rewards compared to controls.

Counteracting Our Bias for Immediate Gratification

All of this may paint a pretty bleak picture, but by recognizing our inherent preference for immediate pay-offs, we can begin to develop strategies to counteract hyperbolic discounting – or even use it to our advantage. Although we can’t change the hardwiring that causes the mental process of hyperbolic discounting, we can mitigate the effects that devaluation of the future ultimately has on the decisions we make.

Steep discounting of future rewards leads to impulsive behavior, and reducing or eliminating the opportunity to act impulsively is thus an effective strategy for avoiding bad choices caused by a bias toward instant gratification. One well-established strategy for reducing impulsivity is precommitment, which takes advantage of the time-inconsistency of hyperbolic discounting. When comparing two rewards that are far in the future, they are discounted nearly equally, so by making a decision in advance, we are less biased by the present and can more accurately compare the relative values of various options. Thus, to have the best shot of reaching our long-term goals, we can lock ourselves into good decisions, making it more difficult to bow to immediate temptations when the time comes. Pay in advance for a month’s worth of HIIT classes. Plan a week’s worth of meals and only buy ingredients necessary for those meals. Find a gym buddy and keep each other accountable for a fitness schedule. Or as I discussed in my Thanksgiving newsletter, get leftover dessert out of the house.

Using Hyperbolic Discounting to Our Advantage

We can also use hyperbolic discounting to our advantage by breaking down long-term goals into a series of small, short-term goals. Instead of telling yourself that you want to increase your deadlift by 100 lbs, set a smaller, incremental goal that offers a quicker sense of accomplishment. Once achieved, repeat with another increment, then another, and another, never thinking about the daunting long-term goal until it’s right in front of you.

In a similar way, we can hack hyperbolic discounting by creating more immediate rewards for ourselves when we make the right choices for distant goals. A colleague of mine once mentioned that she helped herself save money during graduate school in New York City by creating small rewards for certain thrifty decisions. If she skipped ordering wine at dinner with friends or resisted temptation to take taxis instead of the subway, 20% of the saved money would go to a “weekend getaway fund.” (From the sound of it, she ended up having quite a few weekend getaways.) The same strategy can be applied to goals related to long-term health – just be sure to choose rewards that don’t completely undercut the benefits from those good choices.

The bottom line.

So where does this leave us? If you are one of the many who has “fallen off the wagon” on your New Year’s resolutions, don’t sweat it – today is as good a day as any other for getting back on track. But as you resume your commitment toward improving your health and well-being, keep in mind that it’s a journey made of many small decisions along the way. Yes, for each of these choices, we may be biased toward immediate gratification, but by recognizing this, we can prepare for it and outfox our own error-prone minds.

Man is writing 2022 goals for new year resolutions plan.

Disclaimer: This blog is for general informational purposes only and does not constitute the practice of medicine, nursing or other professional health care services, including the giving of medical advice, and no doctor/patient relationship is formed. The use of information on this blog or materials linked from this blog is at the user's own risk. The content of this blog is not intended to be a substitute for professional medical advice, diagnosis, or treatment. Users should not disregard, or delay in obtaining, medical advice for any medical condition they may have, and should seek the assistance of their health care professionals for any such conditions.
[class^="wpforms-"]
[class^="wpforms-"]
[gravityform id="5" title="false" description="false"]
<div class='gf_browser_unknown gform_wrapper form--inline_wrapper gtm--newsletter-form-popup_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_5' ><form method='post' enctype='multipart/form-data' id='gform_5' class='form--inline gtm--newsletter-form-popup gform_legacy_markup' action='/hyperbolic-discounting-friend-and-foe-of-goal-achievement/' novalidate> <div class='gform_body gform-body'><ul id='gform_fields_5' class='gform_fields top_label form_sublabel_below description_below'><li id="field_5_1" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_5_1"><label class='gfield_label' for='input_5_1' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_5_1' type='email' value='' class='large' placeholder='Your email address' aria-required="true" aria-invalid="false" /> </div></li><li id="field_5_10" class="gfield gfield--width-full field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_5_10"><label class='gfield_label' for='input_5_10' >CAPTCHA</label><div id='input_5_10' class='ginput_container ginput_recaptcha' data-sitekey='6LeuYQ0dAAAAAHQqB_Z3xNQAwCRlN5ykarrLsrZw' data-theme='light' data-tabindex='-1' data-size='invisible' data-badge='bottomright'></div></li><li id="field_5_2" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_5_2"><div class='ginput_container ginput_container_text'><input name='input_2' id='input_5_2' type='hidden' class='gform_hidden' aria-invalid="false" value='Hyperbolic discounting: friend and foe of goal achievement' /></div></li><li id="field_5_3" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_5_3"><div class='ginput_container ginput_container_text'><input name='input_3' id='input_5_3' type='hidden' class='gform_hidden' aria-invalid="false" value='https://peterattiamd.com/hyperbolic-discounting-friend-and-foe-of-goal-achievement/' /></div></li><li id="field_5_4" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_5_4"><div class='ginput_container ginput_container_text'><input name='input_4' id='input_5_4' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_5_5" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_5_5"><div class='ginput_container ginput_container_text'><input name='input_5' id='input_5_5' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_5_9" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_5_9"><div class='ginput_container ginput_container_text'><input name='input_9' id='input_5_9' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_5_8" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_5_8"><div class='ginput_container ginput_container_text'><input name='input_8' id='input_5_8' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_5_7" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_5_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_5_7' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_5_6" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_5_6"><div class='ginput_container ginput_container_text'><input name='input_6' id='input_5_6' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_5' class='gform_button button' value='Sign up' onclick='if(window["gf_submitting_5"]){return false;} if( !jQuery("#gform_5")[0].checkValidity || jQuery("#gform_5")[0].checkValidity()){window["gf_submitting_5"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_5"]){return false;} if( !jQuery("#gform_5")[0].checkValidity || jQuery("#gform_5")[0].checkValidity()){window["gf_submitting_5"]=true;} jQuery("#gform_5").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_5' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='5' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_5' value='WyJbXSIsIjU1MGM3MDVmNDUwOTYxNmQyYTU0NTkwMjUzZjU2NGI1Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_5' id='gform_target_page_number_5' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_5' id='gform_source_page_number_5' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_3" name="ak_js" value="201"/><script>document.getElementById( "ak_js_3" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
[gravityform id="1" title="false" description="false"]
<div class='gf_browser_unknown gform_wrapper form--inline_wrapper gtm--newsletter-form_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_1' ><form method='post' enctype='multipart/form-data' id='gform_1' class='form--inline gtm--newsletter-form gform_legacy_markup' action='/hyperbolic-discounting-friend-and-foe-of-goal-achievement/' novalidate> <div class='gform_body gform-body'><ul id='gform_fields_1' class='gform_fields top_label form_sublabel_below description_below'><li id="field_1_1" class="gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_1_1"><label class='gfield_label' for='input_1_1' >Email<span class="gfield_required"><span class="gfield_required gfield_required_asterisk">*</span></span></label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_1_1' type='email' value='' class='large' placeholder='Your email address' aria-required="true" aria-invalid="false" /> </div></li><li id="field_1_11" class="gfield gfield--width-full ohnohoney field_sublabel_below field_description_below gfield_visibility_hidden" data-js-reload="field_1_11"><div class='admin-hidden-markup'><i class='gform-icon gform-icon--hidden'></i><span>Hidden</span></div><label class='gfield_label' for='input_1_11' >H-o-n-e-y-p-o-t</label><div class='ginput_container ginput_container_text'><input name='input_11' id='input_1_11' type='text' value='' class='large' aria-invalid="false" /> </div></li><li id="field_1_10" class="gfield gfield--width-full field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_1_10"><label class='gfield_label' for='input_1_10' >CAPTCHA</label><div id='input_1_10' class='ginput_container ginput_recaptcha' data-sitekey='6LeuYQ0dAAAAAHQqB_Z3xNQAwCRlN5ykarrLsrZw' data-theme='dark' data-tabindex='-1' data-size='invisible' data-badge='bottomleft'></div></li><li id="field_1_2" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_1_2"><div class='ginput_container ginput_container_text'><input name='input_2' id='input_1_2' type='hidden' class='gform_hidden' aria-invalid="false" value='Hyperbolic discounting: friend and foe of goal achievement' /></div></li><li id="field_1_3" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_1_3"><div class='ginput_container ginput_container_text'><input name='input_3' id='input_1_3' type='hidden' class='gform_hidden' aria-invalid="false" value='https://peterattiamd.com/hyperbolic-discounting-friend-and-foe-of-goal-achievement/' /></div></li><li id="field_1_4" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_1_4"><div class='ginput_container ginput_container_text'><input name='input_4' id='input_1_4' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_1_5" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_1_5"><div class='ginput_container ginput_container_text'><input name='input_5' id='input_1_5' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_1_9" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_1_9"><div class='ginput_container ginput_container_text'><input name='input_9' id='input_1_9' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_1_8" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_1_8"><div class='ginput_container ginput_container_text'><input name='input_8' id='input_1_8' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_1_7" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_1_7"><div class='ginput_container ginput_container_text'><input name='input_7' id='input_1_7' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_1_6" class="gfield gform_hidden field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_1_6"><div class='ginput_container ginput_container_text'><input name='input_6' id='input_1_6' type='hidden' class='gform_hidden' aria-invalid="false" value='' /></div></li><li id="field_1_12" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_1_12"><label class='gfield_label' for='input_1_12' >Name</label><div class='ginput_container'><input name='input_12' id='input_1_12' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_1_12'>This field is for validation purposes and should be left unchanged.</div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_1' class='gform_button button' value='Sign up' onclick='if(window["gf_submitting_1"]){return false;} if( !jQuery("#gform_1")[0].checkValidity || jQuery("#gform_1")[0].checkValidity()){window["gf_submitting_1"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_1"]){return false;} if( !jQuery("#gform_1")[0].checkValidity || jQuery("#gform_1")[0].checkValidity()){window["gf_submitting_1"]=true;} jQuery("#gform_1").trigger("submit",[true]); }' /> <input type='hidden' class='gform_hidden' name='is_submit_1' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='1' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_1' value='WyJbXSIsIjU1MGM3MDVmNDUwOTYxNmQyYTU0NTkwMjUzZjU2NGI1Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_1' id='gform_target_page_number_1' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_1' id='gform_source_page_number_1' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_4" name="ak_js" value="125"/><script>document.getElementById( "ak_js_4" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div>
Facebook icon Twitter icon Instagram icon Pinterest icon Google+ icon YouTube icon LinkedIn icon Contact icon