# How can I solve for total money spent if I use a non-constant MPC?

## Background

Today in my macroeconomics class my teacher taught us three concepts.

The first is very simple: consumption $c$ is a linear function of national income $y$. Mathematically, $$c = My + b$$

We will call $M$ the marginal propensity to consume, and refer to it accordingly as MPC. MPC can also be thought of as the fraction of income that is spent rather than saved. So MPC is going to be some number less or equal to one but greater than or equal to zero ($0 \leq M \leq 1$).

The second concept we learned is also quite simple. As income $y$ increases, MPC decreases.

The third concept is a little bit more complicated. Let Person 1 has $5$ dollars. Let MPC be universally constant and equal to $\frac{3}{4}$. Now, since MPC $= \frac{3}{4}$, Person 1 spends $\frac{3}{4}$ of his or her income on Person 2. So Person 2 has an income of $\frac{3}{4} * 5 = 3.75$ dollars. Person 2 will now spend $\frac{3}{4}$ of his or her income on Person 3. And so on to infinity. I instantly recognized this as the sum of a geometric series: $$5*\sum_{n=0}^\infty\left(\frac{3}{4}\right)^{n} = 20$$ This makes sense, but only when disregarding the second concept (MPC decreases as $y$ increases). When I asked about it my teacher said that since calculus isn't a prerequisite for the class we won't go any further in depth; we'll just let MPC be a constant to simplify things in an introductory-level macroeconomics class. So I thought about the problem for a while today and realized that if we did account for MPC decreasing as y increases, or in this case, MPC increasing as $n$ increases, then we could write the total money spent as an infinite series of kind of infinite product (??). My model can be found below.

## The Main Question

I just finished Calculus III last fall so I've never formally learned anything about infinite products. I'm not even sure if these are infinite products since many of them are finite. Anyways, can the following infinite series that I came up with be solved for convergence? If so, how can I figure out the number it converges too? Long explanations will be appreciated. Keep in mind I have a very coarse knowledge of mathematics beyond Calculus III.

$$\sum_{i=0}^{\infty} \left(\prod_{n=0}^{i} \frac{n + 2}{\sqrt{n^2 + 5n + 7}}\right)$$

Perhaps it would be better if I knew how to solve the infinite product first.

Also, I came up with the function $\frac{n + 2}{\sqrt{n^2 + 5n + 7}}$ as a model of MPC because I figured MPC should start around $\frac{3}{4}$ and increase asymptotically towards $1$ as $n$ approaches $\infty$.

Does any of this make economic sense or am I missing a major concept?

• How can you be sure that money will flow in the way you specified, i.e. from people with low MPC to people with higher MPC? (or is it the other way round? didn't quite get it) What if person 10 buys stuff not from person 11, but from person 1 again? If MPC is constant, it doesn't matter, but if not, I'd guess one would need a more realistic and detailed model about who buys from whom to make it work. – ivansml Jan 22 '15 at 16:12
• To echo ivansml, order of the flows matters a great deal here. Imagine that half the people have a MPC of 0 and half of 1. As soon as the flow hits someone with with a zero there is nothing more to pass along. If there are infinitely many people of both types and it hits all the 1 people before any 0 people the multiplier is infinity. If it starts with a 0 person the multiplier is 1 (the initial shock only). – BKay Jan 22 '15 at 16:41
• Can you clarify why you designed your model this way? Are you asking how to show convergence of an infinite product? The mix of product and summation notation is a bit confusing. – 123 Jan 22 '15 at 19:34
• @ivansml I now realize that order does matter. Thanks for your input. Now I need to figure out how to model this whole thing in a better way. Bkay's answer is a very captivating approach. – user2774 Jan 23 '15 at 1:20
• Solving that product indexed from 0 to i will produce just some integer. So how does the summation notation come into play? You would be summing a single integer. Perhaps I am reading something incorrectly? – 123 Jan 23 '15 at 4:52

I don't know that the distribution you claim is wrong but it strikes me as having a couple of very undesirable features. For one, virtually the entire population all of the has >0.99 MPC, which seems very high for a distribution you think is centered around 3/4. For another, if you think that the income shocks in your model are transitory rather than permanent, my reading of the literature is that these are way too large. But that's all separate from your question about estimating things conditional on the actual MPC distribution and ordering.

Ordering from low to high MPC seems to take a strong stance on how trade works in the economy. Again, I don't know that is wrong but it doesn't strike me as true. If we think that MPC is caused by income then this is akin to saying the richest guy get the money first, spends some it at the second richest guy's store and saves the rest, he spends the spending of guy 1 at the third richest guy and so on. The economy strikes me as less neat than that and so a random ordering makes more sense to me in the absence of evidence about where high vs. low MPC people spend their money.

I tried messing around with simulations (in Python) to see how well we could approximate these random chains of consumption. In general, experimenting a few parameter values with uniform, beta, and your distribution above, distribution doesn't matter so much in determining total consumption effect. Using the geometric or arithmetic means of the MPC distribution give nice approximations of actual total consumption effect from the random chains of consumption.* On the other hand, if you order the households by MPC from high to low or low to high this makes a huge difference in the resulting total consumption effects.

* - That said, I explicitly ruled out distributions of MPC where MPC can be zero (or less). If that happens the geometric mean will be zero and the resulting approximation using the geometric mean quite poor.

# Code:

# Python 3.x code for stack exchange question
# http://economics.stackexchange.com/questions/3123/how-can-i-solve-for-total-money-spent-if-i-use-a-non-constant-mpc
import numpy as np

# Parameters
households = 5001
sims = 10000
initial_shock = 5

# Alternative marginal propensity to consume populations
MPC_vec_lin = np.linspace(0.01, 0.2, households)
MPC_vec_beta = np.random.beta(2, 5, size=households)

# THis is the function Gragas asks for
nvec = np.arange(0,households)
MPC_vec_gragas = (nvec + 2) / np.sqrt(nvec**2 + 5*nvec + 7)

MPC_vec = MPC_vec_gragas

# Calculate geometeric and arithmetic mean MPC from the population
approx_geo_mean = np.mean(np.log(MPC_vec))
approx_long_run_eqiv_MPC = np.exp(approx_geo_mean)
avg_MPC = np.mean(MPC_vec)

# Assuming that all households had the same MPC (@ geo / arithmetic level), what is the total effect?
approx_total_shock_with_geo = initial_shock / (1 - approx_long_run_eqiv_MPC)
approx_total_shock_with_mean = initial_shock / (1 - avg_MPC)

print('Initial shock size:', initial_shock)
print('Approximate total effect with geometric mean:', approx_total_shock_with_geo)
print('Approximate total effect with arithmetic mean:', approx_total_shock_with_mean)

# Simulating many possible orderings, what is the total effect for each ordering?
total_shock_vec = np.zeros(sims)
for i, item in enumerate(total_shock_vec):
MPC_vec_random_order = np.random.choice(MPC_vec, replace=False, size=households)
random_products = np.cumproduct(MPC_vec_random_order)
total_shock = np.sum(initial_shock * random_products) + initial_shock
total_shock_vec[i] = total_shock
# Compare resulting average and std. of total effect from simulations
print('Average total effect from simulations:',  np.mean(total_shock_vec))
print('Std Dev of total effect from simulations:',  np.std(total_shock_vec))

# Conclusion, mean and geomean do a very nice job of approximating the resulting total effect without knowing the
# general specific ordering. However, the worst and best total effect ordering (low to high and high to low) are
# quite different.

MPC_vec_low_to_high = MPC_vec.copy()
MPC_vec_low_to_high.sort()

MPC_vec_high_to_low = MPC_vec_low_to_high.copy()
MPC_vec_high_to_low = MPC_vec_high_to_low[::-1]

product_low_to_high = np.cumproduct(MPC_vec_low_to_high)
total_shock_low_to_high = np.sum(initial_shock * product_low_to_high) + initial_shock

product_high_to_low = np.cumproduct(MPC_vec_high_to_low)
total_shock_high_to_low = np.sum(initial_shock * product_high_to_low) + initial_shock

print('Maximum effect ordering effect size:', total_shock_high_to_low)
print('Minimum effect ordering effect size:', total_shock_low_to_high)


# Results:

Initial shock size: 5
Approximate total effect with geometric mean: 6023.35708426
Approximate total effect with arithmetic mean: 6154.37897874
Average total effect from simulations: 5999.77721767
Std Dev of total effect from simulations: 642.715838738
Maximum effect ordering effect size: 16675.8496051
Minimum effect ordering effect size: 777.157515589

• This is very interesting. I intend to major in Computer Science and Mathematics, but I also like Economics. I didn't realize how intertwined the three subjects could be, especially Computer Science and Economics. I use numpy and scipy multiple hours everyday at the company I intern at, so your code is very legible to me. – user2774 Jan 23 '15 at 1:13
• Also, in reference to your results, the difference between them and $\frac{5}{1-\left(MPC=0.75\right)} = 20$ is astonishing. I argued some more with my teacher today so I learned a lot about MPC, and it seems that there's more to it than the fundamental understanding he taught us yesterday. – user2774 Jan 23 '15 at 1:16