Advanced Quantitative Methods in Marketing
Fall 2008, Empirical Half
This course is built on the idea
that "you don't understand it until you code it."
1. Course Schedule
Week 0: Optional preliminary session. Numerical
optimization in matlab, and good coding habits.
Week 1: Overview, Introduction, and Review: Simulation,
Drawing Random Numbers, GMM & MSM, interpreting parameter estimates,
endogeneity, heterogeneity, limited v. full information approaches to
estimation, aggregate v. individual level estimation.
Coding Assignment 1: Multinomial
Probit
MATLAB: y.mat
ASCII: y
Week 2: Heterogeneity. Kamakura and Russell (1989), Petrin
(2002), Ackerberg (2001), Bajari, Fox, Kim and Ryan (2007).
Coding Assignment 2: Bajari et al.
(2007). Prepared by TK Kim and Dinakar Jayarajan.
ASCII: rcl
Week 3: Endogeneity. Keane (2006), Berry (1994), Berry,
Levinson and Pakes (1995), Nevo (2000), Petrin and Train (2006), Chintagunta,
Dube, and Goh (2006)
Coding assignment 3: Berry (1994), BLP (1995),
Petrin and Train (2006). Prepared by Abhishek Borah and Yi Zhu,
MATLAB: data_mnl
MATLAB: data_rcl
Week 4: Bayesian Estimation of Random Coefficients Logit
Models. Yang, Chen and Allenby (2003), Jiang, Manchanda, and Rossi (2008), Chen
and Yang (2007), Musalem, Bradlow, and Raju (2008).
Coding assignment: none.
Week 5: MPEC approach to estimation. Su and Judd (2008),
Dube, Fox and Su (2008).
Coding assignment: use AMPL and NEOS to recover the
parameters from data_rcl using the MPEC approach. Compare your coding time and
computation time.
Week 6: Weibull model for count data. Bradlow, Fader,
Adrian, and McShane (2008).
Coding assignment: Bradlow et al
(2008). Prepared by Linli Xu.
MATLAB: data.mat
ASCII: data
Week 7: Matching. Becker (1973), Roth and Sotomayor (1990),
Fox (2008), Yang (2006).
Coding assignment: Fox
(2008). Under preparation by Minha Hwang and Bobby Zhou.
ASCII: match.txt, buyer_char.txt,
target_char.txt
2.
Student Deliverables.
Each student will prepare a paper. This preparation requires three steps:
1) Write down the essential model in a set of equations and identify a set of
critical parameters. Write a brief document (Word or LaTEX) and send it to the
instructor for approval. The deadline to send this is five days prior to the
class in which we will discuss that paper.
2) Write matlab code to generate simulated data from this model, based on a set
of distributional assumptions and known parameters. Write matlab code to
recover the known parameters you used to generate the simulated data. Send both
sets of code to the instructor for approval. The deadline to send this is two
days prior to the class in which we will discuss the paper.
Note, there is no requirement for the student to present the paper in
class.
The second set of deliverables will be weekly coding assignments. The purpose
of these assignments will be to recover the known parameters that generated
that week's simulated data. Students may work individually or in pairs to
recover those parameters. The due date for each assignment is the following
week's class. You will turn in your parameter guesses and your code. (TIP: do
not wait until the last minute. Your code will need time to converge. The smart
thing would be to start working each week immediately after the assignment is made.)
Many authors provide estimation code on their personal websites. Students may
use this code in any manner they see fit.
Students may use any programming language they wish. Having said this, the use
of matlab is strongly encouraged, for three reasons. 1) There is a positive
network externality of using matlab within the structural modeling community.
2) The instructor is most familiar with matlab and can provide maximally
helpful feedback on matlab code. 3) Graduate school is pretty much your last chance
to develop bilingual programming skills; there are strong lock-in effects in
this market. 4) While other packages may run faster than Matlab, Matlab
compares favorably when you write efficient (vectorized) code and, more
importantly, has very good documentation. Human time is more valuable than CPU
time.
These coding assignments will likely take significant amounts of time outside
class. Therefore you are not required to develop an empirical research
proposal, you are not required to present your paper in class, and you are not
required to read the associated material prior to class. You are free and
encouraged to do any or all of these things according to your interests and
needs, but they are not required and will not be assumed.