Time-inconsistent preferences and the demand for commitment services

The 'rational' or exponential discounter benchmark

Consider a simple extension to the standard intertemporal optimization problem (seen in an earlier notebook from two to three periods. A time-consistent exponential discounter wishes use own-savings strategies and/or the services of a competitive financial service sector to obtain an optimally 'smooth' consumption stream from a possibly more variable income stream. Formally we can think of the consumer as using fiancial markets to exchange existing endowment income stream $\textbf{y} = (y_0,y_1,y_2)$ for a preferred smoothed consumption stream $\textbf{c}= (c_0, c_1, c_2)$.

The consumer optimization problem is to choose $\textbf{c}$ to solve:

$$\max_{c_0,c_1,c_2} u(c_0) + \delta u(c_1) + \delta^2 u(c_2)$$$$ s.t. c_0 + \frac{c_1}{1+r} + \frac{c_2}{1+r} = y_0 + \frac{y_1}{1+r} + \frac{y_2}{1+r}$$

where $\delta$ is the consumer's own personal psychic discount factor and $r$ is the financial sector's opportunity cost of funds.

Suppose the financial market is competitive. Banks compete to offer consumption contract $c^*=(c_0^*,c_1^*,c_2^*)$ in exchange for the consumer's original more volatile income stream $\textbf{y}$ of equal monetary present value.

Setting this problem up as a Lagrangean leads to:

$$ u(c_0) + \delta u(c_1) + \delta^2 u(c_2) - \lambda \left [ Ey - c_0 - \frac{c_1}{1+r} - \frac{c_2}{1+r} \right ]$$

The first-order necessary conditions for an interior optimum are:

$$u'(c_0^*) = \lambda$$$$\delta u'(c_1^*) = \lambda \frac{1}{(1+r)}$$$$\delta^2 u'(c_0^*) = \lambda \frac{1}{(1+r)^2}$$

If the consumer's discount factor $\delta$ just happens to stand in this relationship to the bank's opportunity cost of funds $r$:

$$\delta = \frac{1}{1+r}$$

the first order conditions collapse down to:

$$u'(c_0^*) = u'(c_1^*) =u'(c_2^*) = \lambda$$

and the consumer will aim to keep consumption constant across periods $c_0^* = c_1^* = c_2^*$

If the consumer is sufficiently patient and/or the return to saving is high enough then the consumer prefers rising consumption:

$$\delta > \frac{1}{1+r} \text{ then } c_0^* < c_1^* < c_2^* $$

and if instead the consumer is relatively impatient and/or the return to savings is they will prefer to consume more in earlier periods:

$$\delta > \frac{1}{1+r} \text{ then } c_0^* > c_1^* > c_2^* $$

The CRRA utility case

A Constant-Relative Risk Aversion (CRRA) felicity function is given by:

$$ \begin{equation} u\left(c_{t}\right)=\begin{cases} \frac{c^{1-\rho}}{1-\rho}, & \text{if } \rho>0 \text{ and } \rho \neq 1 \\ ln\left(c\right) & \text{if } \rho=1 \end{cases} \end{equation} $$

The Arrow-Pratt measure of relative risk aversion

$$R(c) =\frac{-cu''(c)}{u'(c)} = \rho$$

is a measure of the curvature of the consumers felicity function or how averse consumers are to risks. As its name implies the CRRA function has a constant measure of relative risk aversion given simply by $\rho$ that doesn't change as consumer income increases.

For a CRRA function the elasticity of intertemporal substitution $\sigma$, which measures the responsiveness of the slope of the consumption path to changes in the interest rate, is also constant and given by:

$$\sigma = \frac{1}{\rho}$$

With a CRRA felicity function the earlier derived FOC allow us to solve to find:

$$\frac{c_1^*}{c_0^*} = \frac{c_2^*}{c_1^*} = \left [\delta (1+r) \right ]^\frac{1}{\rho} $$

If we substitute these into the bank's zero profit condition we can find closed form solutions for the consumption path.

'Beta-delta' quasi-hyperbolic time-inconsistent preferences

A tractable way to model present-biased and time-inconsistent preferences is by using quasi-hyperbolic preferences. The key idea is that the consumer's preferences change from period to period. The consumer is modeled has having multiple selves.

The period 0 self wants to consume some amount in period 0 and then keep consumption smoothly balanced between periods 1 and 2 as summarized by their preferences. When period 1 arrives however the consumer's preferences change in a way that makes him/her more impatient or present biased. The new period 1 self consumer would now like to undo the optimal consumption plans laid out by her earlier period 0 self and replace it with a new consumption plan that boosts present (period 1) consumption at the expense of future (period 2) consumption. From the preference standpoint of the period 0 self this will look like an effort by the period 1 self to 'raid savings' or 'ramp up debt' at the expense of later period selves.

A'sophisticated' (quasi) hyperbolic discounter anticipates his own future self's changing preference and is likely to respond by strategically altering their original period 0 consumption plan. The period 0 self acts strategically, anticipating their own later period's optimal responses.

The demand for commitment services

Let's see this formally.The consumer's "period-0" self wants to choose consumption path $(c_0,c_1,c_2)$ to maximize:

$$u(c_0)+\beta[\delta u(c_1)+\delta^2 u(c_2)]$$

subject to the earlier described intertemporal budget constraint.

This is as before except for the fact that we've now introduced a 'present-bias' parameter $\beta$ (where $0<\beta \leq 1$) that tilts the consumer's preferences toward period zero consumption. Whenever $\beta$ is strictly less than one the consumer wants to smooth preferences in a way that tilts toward period 0 consumption but seeks to keep consumption between period 1 and 2 more balanced.

When period 1 rolls around however the consumer's preferences over remaining consumption bundles change. The period 1 self now wants to re-arrange remaining consumption to now maximize:

$$u(c_1) +\beta\delta u(c_2)$$

While the period-0 self wanted to trade off period 1 and period 2 consumption to equalize marginal utilities like this:

$$u'(c_1^*) = \delta (1+r )u'(c_2^*)$$

the new period-1 self now pefers to tradeoff like this:

$$u'(c_1^*) = \beta \delta (1+r )u'(c_2^*)$$

The $\beta$ on the right-hand side of the last equation means the period 1 consumer now values period 2 consumption less relative to period 1 consumption compared to his period 0 self. Compared to the period-0 self's plans the new period-1 consumer wants to 'raid-savings' and/or 'take out a new loan'.

Lets look again at the CRRA case under the special assumption that $\delta = \frac{1}{1+r}$ and $r=0$ (and hence $\delta = 1$. These last assumptions are without loss of generality and done only to simplify the math and spotlight the key mechanisms at work.

Let's assume also that the period zero consumer can contract with a bank and that the bank can credibly commit to not renegotiating the terms of the contract even when the consumer's period 1 self comes begging for the bank to do so.

In this case the problem is exactly as described in the earlier section. The period 0 consumer maximizes

$$u(c_0)+\beta[\delta u(c_1)+\delta^2 u(c_2)]$$

subject to the intertemporal budget constraint.

When $\delta = \frac{1}{1+r}$ the period 0 consumer would like to keep consumption between period 1 and period 2 flat. The first order conditions now reduce to:

$$c_1^* = \beta^\frac{1}{\rho} c_0^*$$$$c_2^* = c_1^*$$

Substituting these into the binding budget constraint yields:

$$c_0^* = \frac{E[y]}{1+\beta^\frac{1}{\rho}}$$ $$c_1^* = c_2^* = \beta^\frac{1}{\rho}c_0^*$$

We call this the full commitment contract.

The financial intermediary who offers such a contract is really providing two services to consumer's period 0 self: they're helping the consumer to smooth consumption between period zero and later periods and they're also helping the consumer resist his period 1 self's temptation to disrupt this optimal consumption plan.

For example suppose that consumer endowment income is such that she finds it optimum to save in period 0 and then finance constant consumption out of endowment income and savings in period 1 and 2. When period 1 rolls around the consumer's period 1 self present bias would tempt them to want to 'raid savings' and/or take out a new loan to boost period 1 consumption at the expense of period 2 consumption.

To see this formally note that under the full commitment contract the consumer enters the period with contractual claims to the remaining consumption stream $(c_1^*,c_2^*) =({\bar c}^*, {\bar c}^*)$. If they could however the period 1 self would re-contract with this bank (or another) to choose another contract $(\hat c_1, \hat c_2)$ that solves:

$$\max_{c_1, c_2} u(c_1) + \beta u(c_2)$$

subject to

$$c_1 + \frac{c_2}{1+r} \leq {\bar c}^* + \frac{{\bar c}^*}{1+r} $$

The first order conditions for this problem are

$$u'(c_1) = \beta u'(c_2)$$

which in the CRRA case requires $c_2 =\beta ^\frac{1}{\rho} c_1$

which is clearly not satisfied along the original contract which had $(c_1^*,c_2^*) =({\bar c}^*, {\bar c}^*)$

Substituting the FOC into the new period 1 budget constraint we can arrive at a solution or reaction function that states that when the period 1 self enters the period with claims ${c_1, c_2}$ they will want to renegotiate to:

$$\hat c_1 = \frac{ c_1 +c_2 }{1+\beta^\frac{1}{\rho} }$$$$\hat c_2 =\beta ^\frac{1}{\rho} \hat c_1$$

If this renegotiation takes place then the period 1's welfare would increase but at the expense of period 0's welfare, since period 0's optimal consumption plan would have been undone.

From this discussion it should be clear that the period 0 self would like to have banks compete for her business in period 0 but offer a full-commitment contract which in practice means being locked into an exclusive relationship (if the relationship were not exclusive then the period 1 self would approach a second bank in period 1 and ask them to 'buy out' and then renegotiate their contract with the first bank.

More detailed analysis

Much more detail on the analysis of contracts like this can be found in our 2016 working paper (with Karna Basu) entitled "Sticking to the Contract: Nonprofit vs For-profit Banks and Hyperbolic Discounters.” A github repository is available with code and jupyter notebooks describing some of that analysis. I draw on that here, but most of the details of the methods are in those other notebooks.

Commitment Savings products

Many economists believe that time-inconsistent preferences drive people to have to struggle with important issues of self-control that affects their ability to reach savings goals, and generates a demand for commitment services. Indeed some economiss have gone so far as to argue that these problems are ubiquitous and that one reason for the demand for microfinance services is that they provide individuals with the discipline and commitment mechanisms that can help them with these problems of self-control.

Rotating Savings and Credit Associations (ROSCAs) for example place individuals into savings groups and then create pressures and social sanctions to help individuals achieve savings goals. Iterant savings collectors may serve a similar purpose. Some have even suggested that many microcredit loans which advance loans to individuals and then put them on tight weekly repayment schedules may be popular not so much because they are releasing the individual from a binding credit constraint as because they are helping the individual 'borrow to save.' In this type of scenario the individual wants to save up to buy say a refrigerator or other household appliance but cannot find the discipline to save up for the item themselves. A microcredit loan allows them to buy the refrigerator outright and then places them on a strict repayment schedule that commits the individual to putting aside the fraction of weekly income toward the item that they might have otherwise struggled to do on their own.

In all these stories the availabiliy of commitment contracts provides additional value to the consumer, value that they may be willing to pay for.

In the following section I will illustrate some of these ideas with contracts that we will solve for and illustrate for the CRRA case. The code for much of what follows is in the Contract.py module described in greater detail in the github repo.


In [5]:
import Contract

Lets look at a competive contracting situation where $\beta = 0.8$ and $\rho = 0.5$


In [9]:
cC = Contract.Competitive(beta = 0.8)
cC.rho = 0.5

Now lets give the individual an endowment income of $(y_0,y_1,y_2) = (150, 100, 50)$


In [15]:
cC.y = [150,100,50]

The full commitment contract is:


In [21]:
cCF = cC.fcommit(); cCF


Out[21]:
array([ 131.57894737,   84.21052632,   84.21052632])

Note how this involves some saving in period 0 ($y_0=150$ and consumption $c_0=131.6$) as well as additional saving for period 2.

If for some reason period 0 self agreed to this contract (sincerely believing that it would never be renegotiated) but then suddenly to everyone's surprise period 1 self had an opportunity to renegotiate the continuation of this contract, they would renegotiate to the following contract:


In [22]:
cCR = cC.reneg(cCF); cCR


Out[22]:
array([ 131.57894737,  101.44337644,   64.92376092])

We can see here how period 1 self 'raids' the savings that the period 0 self had intended should be passed onto period 2 consumption. The period 1 self boosts period 1 consumption from 84 to 101. Rather than pass 34 units of consumption into period 2 only 20 units are now passed.

If the bank cannot credibly commit to not renegotiate the contract then the sophisticated time-inconsistent consumer will defensively alter their consumption plans to try to thwart their future self's strategic renegotiations. The period 0 consumer will insist on renegotiation proof contracts which will impose an additional constraint on the problem, namely that no bank find it profitable to renegotiate the contract. In general this will be achieved by in a sense 'surrendering' to their future self's bias tilt toward period 1 consumption.

Details in the paper and in class lecture on the shape of this constraint.

The important thing to understand is that adding any constraint to the problem can only lower consumer welfare and push us away from the full-commitment optimum.

For the present setup the renegotiation proof contract can be solved for to find:


In [31]:
cCRP = cC.reneg_proof().x; cCRP


Out[31]:
array([ 122.59354576,  108.17462856,   69.23182568])

Compare to the full commitment contract this contract involves more savings pased from from period 0 to period 1 but much less savings passed from period 1 to period 2. Total savings (period 0 plus period 1 savings) are higher when credible commitment savings devices are available compared to when not.

Replicating Ashraf, Karlan and Yin (2006) Commitment Savings paper

Ashraf, Karlan and Yin (2006) "Tying Odysseus to the Mast: Evidence from a Commitment Savings Product in the Philippines," *Quarterly Journal of Economics.

The Stata dataset and code replication files have been made available by the authors via the Harvard Dataverse here. Below we just replicate a few of the regressions. A few more sections are replicated in this notebook.


In [2]:
%matplotlib inline
import seaborn as sns
import pandas as pd
import ipystata
import statsmodels.formula.api as sm

Open the datasets

One disadvantage of proprietary software is that you often cannot open a dataset saved with a later version of the software unless you pay to upgrade the software. I'm going to load the Stata dataset into a python pandas dataframe using its read_stata method and then pass the dataset into the running Stata session (which on my home machine is Stata 11).


In [3]:
#df = pd.read_stata(r"G:\GC\Dev-II\notebooks\seedanalysis_011204_1_v12.dta")
df = pd.read_stata(r"G:\GC\Dev-II\notebooks\data\savings1.dta")

In [6]:
regVI_1 = 'balchange ~ treatment + marketing'
model = sm.ols(regVI_1, df)
fitted = model.fit(cov_type='HC1')
print(fitted.summary())


                            OLS Regression Results                            
==============================================================================
Dep. Variable:              balchange   R-squared:                       0.002
Model:                            OLS   Adj. R-squared:                  0.001
Method:                 Least Squares   F-statistic:                     2.901
Date:                Tue, 08 May 2018   Prob (F-statistic):             0.0553
Time:                        15:22:53   Log-Likelihood:                -16270.
No. Observations:                1777   AIC:                         3.255e+04
Df Residuals:                    1774   BIC:                         3.256e+04
Df Model:                           2                                         
Covariance Type:                  HC1                                         
==============================================================================
                 coef    std err          z      P>|z|      [0.025      0.975]
------------------------------------------------------------------------------
Intercept     40.6257     61.676      0.659      0.510     -80.257     161.509
treatment    234.6785    101.748      2.306      0.021      35.256     434.101
marketing    184.8506    146.982      1.258      0.209    -103.228     472.929
==============================================================================
Omnibus:                     3458.895   Durbin-Watson:                   0.051
Prob(Omnibus):                  0.000   Jarque-Bera (JB):          5716807.283
Skew:                          14.932   Prob(JB):                         0.00
Kurtosis:                     279.259   Cond. No.                         4.24
==============================================================================

Warnings:
[1] Standard Errors are heteroscedasticity robust (HC1)

In [7]:
model = sm.ols('balchange ~ treatment', df[(df.treatment ==1) | (df.marketing ==1)])
fitted = model.fit(cov_type='HC1')
print(fitted.summary())


                            OLS Regression Results                            
==============================================================================
Dep. Variable:              balchange   R-squared:                       0.000
Model:                            OLS   Adj. R-squared:                 -0.001
Method:                 Least Squares   F-statistic:                    0.1020
Date:                Tue, 08 May 2018   Prob (F-statistic):              0.750
Time:                        15:22:56   Log-Likelihood:                -12115.
No. Observations:                1308   AIC:                         2.423e+04
Df Residuals:                    1306   BIC:                         2.424e+04
Df Model:                           1                                         
Covariance Type:                  HC1                                         
==============================================================================
                 coef    std err          z      P>|z|      [0.025      0.975]
------------------------------------------------------------------------------
Intercept    225.4763    133.405      1.690      0.091     -35.992     486.944
treatment     49.8279    156.027      0.319      0.749    -255.979     355.635
==============================================================================
Omnibus:                     2498.290   Durbin-Watson:                   0.056
Prob(Omnibus):                  0.000   Jarque-Bera (JB):          3202671.430
Skew:                          14.153   Prob(JB):                         0.00
Kurtosis:                     243.756   Cond. No.                         3.11
==============================================================================

Warnings:
[1] Standard Errors are heteroscedasticity robust (HC1)