This course provides an introduction to structural modeling in the context of empirical industrial organization.

The course is meant to be useful and interesting both to students who would like to do research in empirical industrial organization and to students who would like to use a structural model to answer questions in fields such as labor economics, public economics, health economics, development economics, marketing, and finance.


aEconometric foundation

  1. Identification
  2.  Maximum likelihood and generalized method of moments
  3. The new way of doing empirical work: workflows, Github, replicability

b.    Important building blocks in empirical industrial organization

  1. Modeling demand: The multinomial logit model
  2. Computation: Solving for equilibrium prices in a static context
  3.  Computation: Solving single-agent dynamic models
  • Finite horizon: backward recursion
  • Infinite horizon: value function iteration

c.    A selection of recent methodological advances in empirical industrial organization

  1. Modeling dynamic demand: Hendel and Nevo
  2. Dynamic games: Bajari, Benkard and Levin; Ryan
  3. Empirical models of search
Learning outcomes

After participating, students will be able to formulate a simple structural model, solve it numerically, simulate data from it, and use the data to estimate the model parameters.

Attendance requirements

Students are expected to attend all sessions

Teaching/learning method(s)

Learning is by example. There are two types of examples. First, simple examples for which we look at code. Second, selected important contributions to the field.

All teaching takes place during the first week of May (2 to 6 May 2022).

We will use the interactive sessions to:

· Discuss in detail how to actually do things in Matlab (also students with no prior knowledge of Matlab will be able to follow)

· Discuss selected important contributions

· Work on the individual assignment (students are free to use other software for this, such as Python or R)--working on it in class gives students the time for it and the opportunity to ask questions when they arise

The interactive lectures are complemented by videos providing detailed additional explanations.


For each student, the starting point for the individual assignment is his or her own research agenda. We will try to find a simple structural model that relates to that. The goal is to write down a model, solve it numerically, simulate data from the model, and estimate the parameters. At a later stage, the student can then use the model together with real data and turn his solution of the assignment into an empirical paper.

Students create a Github repository that contains the code and a pdf document describing the model and a discussion of the results.

The grade is based on:

1. The quality of the code (40%)

2. The paper (60%)

Recommended previous knowledge and skills

Knowledge in microeconomics and econometrics. Prior experience with Stata and either Matlab, R, or Python is useful, but not required.


Finally a remark related to statistical software. Empirically, most of the empirical papers published in journals of the American Economic Association use Stata (a bit less than 80%). Almost all other papers use Matlab (a bit less than 20%). See here for interesting statistics. At the same time, R, Python and Julia (among others) are on the rise.

Stata is great for many things, but not so much for most structural work. In the interactive sessions, we will look at Matlab code. Students who have never used Matlab will still be able to follow. The course can be seen as an opportunity to learn some Matlab. However, students do not have to do that and do not have to use Matlab to complete the individual assignment.









09:00-12:00 D4.2.008 Besprechungsraum (32)


- the multinomial logit model


- profit maximization and pricing in a static context


- equilibrium

09:00-13:00 D4.2.008 Besprechungsraum (32)


- dynamic demand (Hendel and Nevo)


- work on individual assignments

09:00-14:30 EA.5.044 Seminarraum (30)


- dynamic competition (BBL and Ryan)


- work on individual assignments

09:00-10:45 D5.1.002 Seminarraum (30)


- empirical models of search


- work on individual assignments

13:00-18:00 D5.1.003 Seminarraum (30)


- Introduction and overview


- Econometric foundation

13:00-17:00 D4.2.008 Besprechungsraum (32)


- solving dynamic models with a finite horizon


- solving dynamic models with infinite horizon



Last edited: 2022-03-23