Signature
D_H = 1 / (1 + alpha * t)
| Inputs | Definition | Unit |
|---|---|---|
alpha | Parameter that sets how quickly impatience declines with delay; a larger value discounts more steeply | per period, in the same time unit as t, above zero |
t | Delay of the outcome measured from the moment of choice | periods, such as months or years, zero or above |
D_H | Weight placed on an outcome t periods ahead under the simple hyperbola, relative to the same outcome now | none, a proportion of the value now |
|---|
Function
Hyperbolic discount weight function with impatience that declines with delay
Maps a delay t, counted from the moment of choice, and the parameters of a chosen non-constant discount function to the weight placed on an outcome t periods ahead and to the per-period discount rate that the weights imply. Under the constant-rate factor of the Discount Rate page (HE-FM-DR-001), and in the stream totals of the Discounting page (HE-FN-DISC-001 and its formulas), the rate between two adjacent periods is the same at every delay, whereas the forms here let it fall as the delay grows. The package gives the simple hyperbola and its per-period rate, the generalised hyperbola of Loewenstein and Prelec, the quasi-hyperbolic beta-delta form, and a check for a preference reversal between a smaller-sooner and a larger-later outcome. Notation follows the Hyperbolic Discounting article.
Computational function
Computational function for a yearly stream weighted by the simple hyperbola against constant-rate discounting
Takes a level yearly amount, the number of periods and one parameter used both as the hyperbolic alpha and as the constant rate, and returns the sum of the simple hyperbolic weights, the sum of the constant-rate factors, the two weighted totals and their ratio. It builds one weight for each period, because the hyperbolic sum has no simple closed form, and so shows how much more weight the hyperbola gives to later periods than HE-FM-DISC-001 does at the same first-period rate. The inputs therefore differ from the formula's variables, which describe one delay.
Inputs and outputs:
qis the amount in each period, counted at the end of the period, for example QALYs.Tis the number of periods, a whole number above zero.alphais the hyperbolic parameter and also the constant rate, zero or above.S_HandS_Eare the sums of the hyperbolic weights and of the constant-rate factors.Q_HandQ_Eare the weighted totals in the unit ofq.ratioisQ_Hdivided byQ_E.Assumption: The calculation is descriptive, showing how an individual with simple hyperbolic preferences would weigh the stream. A reference-case evaluation for NICE uses the constant 3.5% a year of PMG36 section 4.5.1, which is the
Q_Ecolumn. Both sums count the first amount one period ahead.Worked example (Article's 0.8 QALYs a year for 30 years with alpha of 0.035): The hyperbolic total is about 16.20 QALYs against 14.71 under constant discounting at 3.5%, the HE-FM-DISC-001 value, about 10% more (computed here for illustration).
q = 0.8; T = 30; alpha = 0.035; S_H = 20.255833; S_E = 18.392045; Q_H = 16.204666; Q_E = 14.713636; ratio = 1.101337Worked example (Twelve months of 1 unit with alpha of 0.4 a month): At the steep monthly parameter of the article's smoker, a year of monthly gains is worth about 4.01 units under the hyperbola against 2.46 under the constant rate (computed here for illustration).
q = 1; T = 12; alpha = 0.4; S_H = 4.012697; S_E = 2.455904; Q_H = 4.012697; Q_E = 2.455904; ratio = 1.633898Worked example (Zero parameter returns the undiscounted total): With alpha = 0 every weight is 1, so both totals equal q times T, a limiting case that checks the implementation.
q = 0.8; T = 30; alpha = 0; S_H = 30; S_E = 30; Q_H = 24; Q_E = 24; ratio = 1Excel:
=YearlyAmount*SUM(1/(1+HypAlpha*SEQUENCE(Years)))/(YearlyAmount*SUM((1+HypAlpha)^-SEQUENCE(Years)))Returns the ratio from named cells; the numerator alone isQ_Hand the denominator aloneQ_E. SEQUENCE needs Excel 365 or Excel 2021.R:
hyp_stream <- function(q, years, alpha) { t <- 1:years; s_h <- sum(1/(1+alpha*t)); s_e <- sum((1+alpha)^-t); c(S_H = s_h, S_E = s_e, Q_H = q*s_h, Q_E = q*s_e, ratio = s_h/s_e) }Returns a named vector and works at alpha = 0.Python:
def hyp_stream(q, years, alpha): s_h = sum(1/(1+alpha*t) for t in range(1, years+1)); s_e = sum((1+alpha)**-t for t in range(1, years+1)); return s_h, s_e, q*s_h, q*s_e, s_h/s_ePlain Python with no imports, returning a tuple in the order of the outputs.Test (Hyperbolic total never below the constant-rate total): Each hyperbolic weight is at least the constant-rate factor for whole periods, so the ratio is 1 or more. The expected result is TRUE. Excel check
=SUM(1/(1+HypAlpha*SEQUENCE(Years)))>=SUM((1+HypAlpha)^-SEQUENCE(Years))-1E-12Test (Constant-rate sum matches Excel PV): The sum of the constant-rate factors equals the end-of-period annuity of HE-FM-DISC-001. The expected result is TRUE. Excel check
=ABS(SUM((1+HypAlpha)^-SEQUENCE(Years))-PV(HypAlpha,Years,-1))<1E-9Common error (Reading the hyperbolic total as a reference-case result): Reporting 16.20 QALYs in place of 14.71 would raise the discounted gain by about 10% through a weighting that NICE does not use for the reference case; the hyperbolic total belongs in a description of how individuals value the stream.
Source: Frederick S, Loewenstein G, O'Donoghue T. Time discounting and time preference: a critical review. Journal of Economic Literature. 2002;40(2) 351-401. Page 360 and footnote 13 for the simple hyperbola D(t) = 1/(1 + alpha t). National Institute for Health and Care Excellence. NICE technology appraisal and highly specialised technologies guidance, the manual (PMG36). Chapter 4, economic evaluation. Published 31 January 2022, last updated 13 October 2026. Section 4.5.1 for the constant 3.5% rate of the reference case.
S_H = sum_(t=1)^T [1 / (1 + alpha * t)]; S_E = sum_(t=1)^T [(1 + alpha)^(-t)]; Q_H = q * S_H; Q_E = q * S_E; ratio = Q_H / Q_E
Try this function
Implementations
Excel
Simple hyperbolic discount factor from named cells
With the parameter in HypAlpha and the delay in Delay, the cell returns the weight. The second formula fills a column of weights for the delays 0, 1, 2 and onwards in Excel 365 or Excel 2021.
=1/(1+HypAlpha*Delay); =1/(1+HypAlpha*(SEQUENCE(Periods)-1))
Assumptions
Simple hyperbolic weight measured from the moment of choice
The weight depends only on the delay counted from the person's present, so it is re-anchored as time passes and an outcome two months away today is one month away next month. Frederick and colleagues report that Strotz recognised that any discount function other than the exponential gives time-inconsistent preferences, and the re-anchoring is where that inconsistency arises.
Hyperbolic parameter and delay in one time unit
The product alpha t has no unit, so alpha per month is used with t in months. Moving to years multiplies alpha by 12, because the product for a given calendar delay must stay the same.
Simple hyperbola as a descriptive model of individual choice
The form describes how individuals weigh delayed outcomes. For the NICE reference case, section 4.5.1 of PMG36 discounts costs and health effects at a constant 3.5% a year, and Attema and colleagues note that almost all guidelines prescribe constant rates, so the hyperbola informs behavioural parameters such as uptake or adherence, not the reference-case rate.
Worked examples
Simple hyperbolic weight one month ahead with alpha of 0.4
The article's illustrative smoker, with alpha = 0.4 a month, places a weight of about 0.714 on an outcome one month away, 1 divided by 1.4.
alpha = 0.4; t = 1; D_H = 0.7143
Simple hyperbolic weight two months ahead with alpha of 0.4
Two months ahead the same smoker's weight is about 0.556, 1 divided by 1.8, as in the article's worked example.
alpha = 0.4; t = 2; D_H = 0.5556
Simple hyperbolic weight ten years ahead against the constant-rate factor
With alpha = 0.035 a year an outcome ten years ahead keeps a weight of about 0.741, against about 0.709 under constant discounting at 3.5% a year (computed here for illustration), although both forms give 0.966 one year ahead.
alpha = 0.035; t = 10; D_H = 0.7407
Simple hyperbolic weight at zero delay
An outcome now keeps its full value whatever alpha is, a limiting case that checks an implementation.
alpha = 0.4; t = 0; D_H = 1
Common errors
Hyperbolic parameter applied as a compounding rate
Writing 1/(1 + alpha)^t in place of 1/(1 + alpha t) turns the hyperbola into the constant-rate factor. With alpha = 0.4 the weight two periods ahead becomes 0.5102 instead of 0.5556 (computed here for illustration), and the declining rate that produces preference reversals disappears.
Monthly hyperbolic parameter used with a delay in years
With alpha = 0.4 a month an outcome one year ahead has a weight of 1 divided by 5.8, about 0.172. Entering t = 1 with the monthly alpha gives 0.714, more than four times too high (computed here for illustration).
Sources
Simple hyperbola proposed by Herrnstein and Mazur as listed by Frederick and colleagues
Frederick S, Loewenstein G, O'Donoghue T. Time discounting and time preference: a critical review. Journal of Economic Literature. 2002;40(2) 351-401. Section 4.1 on hyperbolic discounting, page 360 and footnote 13, which lists the hyperbolic forms proposed, including D(t) = 1/(1 + alpha t) suggested by Herrnstein (1981) and Mazur (1987), and states that a hyperbolic form fitted to such data fits better than the exponential form.
Constant and hyperbolic discount models compared for economic evaluation
Attema AE, Brouwer WBF, Claxton K. Discounting in economic evaluations. PharmacoEconomics. 2018;36(7) 745-758. Section on discount models, which gives the constant model with the factor 1/(1 + D)^t, describes hyperbolic discounting as explaining individual behaviour better but leading to inconsistencies over time, and states that almost all guidelines prescribe constant discount rates.
NICE constant reference-case rate set against hyperbolic weights
National Institute for Health and Care Excellence. NICE technology appraisal and highly specialised technologies guidance, the manual (PMG36). Chapter 4, economic evaluation. Published 31 January 2022, last updated 13 October 2026. Section 4.5.1, for the reference case costs and health effects should be discounted at the same rate of 3.5% per year.
Canonical Identity
Stable URI · Machine-readable · Resolvable · CC BY 4.0
