Simulating the Solow Growth Model

How does an economy well-approximated by the Solow growth model—one that has a constant labor-force growth rate n and labor-efficiency growth rate g; a constant savings-investment share of production s and capital deprecation rate δ; and a constant elasticity θ of production Y with respect to the economy's capital intensity κ, where capital intensity is defined as κ = K/Y, the quotient of the economy's capital stock K and its production level Y—behave? What does it do? How are you—if you are a student—to understand it? And to use it?

Standard explanations often focus on graphs like:


which are often unhelpful.

With this class I would like—if I can get it working—to take another tack. If you have a Berkeley CalNet account, click on this link: If you have access to another Jupyter notebook server, go to In either case, then open the file: lecture-support-solow-2020-01-23.ipynb. You should then have, open, my Solow Growth Model Simulator. Click in the second code cell—the one whose first line is—"# SET PARAMETERS, INITIAL CONDITIONS, AND SCENARIO LENGTH IN THIS CELL". You can now edit the text in this code cell. Do so in order to either accept defaults or change the variable assignment statements (those with no "#" in the first column and an "=" sign in them to set values for the model parameter in the lines:

  • n = 0.01 # the labor-force L proportional growth rate
  • g = 0.02 # the labor-efficiency E proportional growth rate
  • s = 0.12 # the share of production Y that is saved and invested
  • δ = 0.03 # the capital depreciation rate
  • θ = 1.09 # the elasticity of production Y with respect to capital intensity κ

Then click lower down and edit in order to accept default or choose alternative starting values L_0, E_0, and κ_0 for the initial values as of time 0 for the labor force, labor efficiency, and capital intensity in the lines:

  • L_0 = 1
  • E_0 = 1
  • κ_0 = 8

Then click lower down again and either accept the default or choose the length of time for which the simulation will run in the lines:

  • T = 100

Then go up to the top of your environment. In the "Kernel" drop down menu click on "Restart Kernel and Run All Cells"

Then scroll down the webpage. If all has gone well you should see, interspersed among the code, ten graphs showing how each of and some combinations of the model variables behave over time.

Note what looks interesting. Then go back to the top, and change something in the second code cell. Once again, go up to the top of your environment, and in the "Kernel" drop down menu click on "Restart Kernel and Run All Cells". What has changed? What strikes you as interesting? Take notes.

Repeat until you think you have an understanding of how an economy that happened to be well-modeled by the Solow growth model would behave.

The assignment? Write 200-300 words on the simulations you carried out, why you chose the parameter values and starting conditions you did, what (if anything) you learned from this exercise, and how useful you think models and exercises like this are in understanding economic growth out there in the real world.

Lecture Notes: The Solow Growth Model

The Python code in the nbViewer displays of the notebooks that are my Solow growth model lecture notes is static: it has been executed. But the best way to understand what is going on in the Python code—in the Solow growth model—is for you to play with the code and so conduct what-if simulation experiments with the model yourself.

In the last cell of each notebook there is a datahub link, something like: If you have a Berkeley CalNet id, clicking on that link should send you to a Jupyter Notebook server authenticated by your CalNet account in which you can edit and play with the Python code—and thus with the model descriptions and simulations—to gain a deeper and better kind of knowledge. I strongly encourage you to do so.

If you do not have access to a Berkeley CalNet id but do have access to some other Jupyter environment, you can download the notebooks from GitHub via URLs like:

(Confused because I speak of θ, the elasticity of production Y with respect to capital intensity κ, rather than of α, the elasticity of production Y with respect to the capital stock K? If you work with α, you will find that you have lots of α/(1-α) and (1-α) terms in your equations. If you work with θ, you just have θ and 1+θ terms. Moreover, you focus on the variable that is capital intensity κ, which converges to the intuitive and easily-remembered value of κ* = s/(n+g+δ). By contrast, work with α and you find yourself trying to remember things about something you cannot directly measure: "capital per effective worker" k, with k* = (s/(n+g+δ))^(1/(1-α)), and with no easy dynamic closed-form equation for the evolution of k over time. I could go on, but won't...)

#berkeley #economicgrowth #highlighted #teaching #teachinggrowth #2020-01-24

This File:
Edit This File: