Functions & Formulae

Each applied formula has its own function page, with a signature, implementations, and tests.

Hyperbolic discount weight function with impatience that declines with delay

D(t, theta) = w_t

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.

  • Simple hyperbolic discount factor at a delay of t periods

    D_H = 1 / (1 + alpha * t)

    Gives the weight on an outcome t periods ahead under the simple hyperbola that Frederick, Loewenstein and O'Donoghue attribute to Herrnstein and to Mazur. The weight is 1 for an outcome now and falls as the delay grows, but more slowly at long delays than the constant-rate factor 1/(1 + r)^t of HE-FM-DR-001, so distant outcomes keep more weight. The parameter alpha sets how quickly the rate of impatience declines, and the per-period rate it implies is in HE-FM-HYPD-002.

  • Per-period discount rate implied by the simple hyperbola at a delay of t periods

    rho_t = alpha / (1 + alpha * t)

    The per-period rate between delays t and t + 1 is the ratio of the two weights minus 1, D_H(t)/D_H(t + 1) minus 1, which simplifies to alpha/(1 + alpha t). It equals alpha for the first period and falls steadily as the delay grows, whereas the same calculation on the constant-rate factor of HE-FM-DR-001 returns r at every delay. A declining per-period rate is what Frederick and colleagues mean by hyperbolic discounting.

  • Generalised hyperbolic discount factor of Loewenstein and Prelec

    D_G = (1 + alpha * t)^(-beta / alpha)

    Raises 1 + alpha t to the power minus beta divided by alpha, the form that Frederick and colleagues attribute to Loewenstein and Prelec. Beta sets the overall level of discounting and alpha how far the curve departs from a constant rate. Setting beta equal to alpha returns the simple hyperbola of HE-FM-HYPD-001, and as alpha approaches zero the weight approaches exp(minus beta t), the continuous constant-rate factor (HE-FM-CONT-003 gives the continuous rate for an annual rate). The beta here is not the present-bias factor of HE-FM-HYPD-004.

  • Quasi-hyperbolic beta-delta discount weight with its short-run and long-run per-period rates

    D_Q = beta * delta^t; r_0 = (1 - beta * delta) / (beta * delta); r_L = (1 - delta) / delta

    For a delay of one period or more the weight is beta times delta to the power t, while an outcome now keeps a weight of 1, so beta is a one-off discount on everything that is not immediate. The per-period rate is r_0 between now and the next period and r_L between any two later periods, as Frederick and colleagues give them. Setting beta = 1 returns exponential discounting with the factor delta, the HE-FM-DR-001 factor with r equal to (1 minus delta)/delta, and Wang and Sloan read beta below 1 as present bias.

  • Net value of waiting for a larger-later outcome judged today and one period ahead

    M_0 = b * w_1 - a * w_0; M_1 = b * w_2 - a * w_1

    Compares a smaller-sooner amount a with a larger-later amount b that arrives one period after it, using the weights w_0, w_1 and w_2 of any discount function at delays 0, 1 and 2 seen from today. M_0 is the advantage of waiting when the choice is immediate and M_1 the advantage, judged today, of waiting when the same choice comes one period later. A negative M_0 with a positive M_1 is a preference reversal, a plan to wait that is dropped when the time comes. Under constant-rate weights M_1 equals delta times M_0, so the two share a sign and no reversal occurs.