Econometrics, Quantitative Economics, Data Science

Archive for the ‘Uncategorized’ Category


Cemmap masterclass, June 3-4, 2024

These lectures will introduce the optimal transport (OT) toolbox, with two applications in econometrics. The first one will pertain to the estimation of matching models. We start by introducing the discrete OT problem and its entropic regularization, and inverse OT, as well as its estimation using generalized linear models. The second application will deal with quantile methods. The one-dimensional OT problem will be discussed as well as its connections with the notions of quantile and rank is then covered. Connection with quantile regression will be discussed and the ‘vector quantile regression’ problem will then be introduced.

Part I Introduction (3h)
S1. Monge-Kantorovich duality (1h30)

S2. Computational optimal transport (1h30)

Part II OT and matching models (3h)
S3. Matching with Transferable Utility and random utility (1h30)

S4. Estimation of matching models (1h30)

Part III OT and quantiles (2h)
S5. 1D optimal transport and quantiles (1h)

S5. Connection with quantile regression (1h)

Applied microeconometrics, Spring 2024

Applied microeconometrics

PhD Course, NYU Economics

Spring 2024

Alfred Galichon

This course will revisit some classical topics in microeconometrics (such as random utility models, dynamic discrete choice, demand estimation, matching models, and bundle choice problems) though the lenses of machine learning and state-of-the-art optimization methods. An important part of the course is dedicated to gaining familiarity with computational libraries such as scikit-learn, pytorch, openAI gym, chatGPT, gurobi, and others.

Lectures are delivered under a mix of in-person and online format. The language used is Python. Students not familiar with Python should contact the instructor to be provided a crash course before the start of classes.

Part 1. Random utility models meet Machine learning

Poisson regression and logistic regression as generalized Linear Models, Lasso and Elastic Net, Min-Max Regret. Computation using Scikit-learn and TensorFlow.


  • L1: Tue 1/30, 1145am-145pm (19W4, 802 and zoom)
  • L2: Thu 2/1, 1pm-3pm (19W4, 802 and zoom)
  • L3: Tue 2/6, 1145am-145pm (zoom)
  • L4: Thu 2/15, 1pm-3pm (zoom)


  • An Introduction to Statistical Learning with applications in Python with by James, Witten, Hastie, Tibshirani and Taylor
  • The Elements of Statistical Learning by Hastie, Tibshirani, and Friedman.
  • Generalized Linear Models by McCullagh and Nelder.


Part 2. Dynamic discrete choice models meet Reinforcement Learning
Rust, Markov Decision Processes, Multi-armed bandits, Q-Learning. Computation using OpenAI Gym and Stable Baselines.


  • L5: Thu 2/29, 1pm-3pm (zoom)
  • L6: Thu 3/7, 1pm-3pm (zoom)
  • L7: Wed 3/13, 330pm-530pm (19W4, 802 and zoom)
  • L8: Thu Mar 3/14, 1pm-3pm (19W4, 802 and zoom)


  • Rust, J. (1987). Optimal Replacement of GMC Bus Engines: An Empirical Model of Harold Zurcher. Econometrica.
  • Dynamic Programming and Optimal Control by Dimitri P. Bertsekas.
  • Reinforcement Learning: An Introduction by Richard S. Sutton and Andrew G. Barto.


Part 3. Characteristics models meet Deep Learning and Optimal Transport
Pure characteristics model, random coefficient logit model, Power diagrams, matching models.
Simulation (Probit, GHK), stochastic GD. Computation using pyopt package, pyBLP, pyTorch.


  • L9: Tue 4/2, 1145am-145pm (zoom)
  • L10: Tue 4/9, 1145am-145pm (zoom)
  • L11: Tue 4/16, 1145am-145pm (19W4, 802 and zoom)
  • L12: Thu 4/18, 1pm-3pm (19W4, 802 and zoom)


  • Deep Learning by Aaron Courville, Ian Goodfellow, and Yoshua Bengio.
  • Train, K. (2009). Discrete Choice Methods with Simulation.
  • Galichon, A. (2016). Optimal Transport Methods in Economics.


* automotive pricing

* marriage market:

Part 4. Recent advances on Bundle choice
Bundle choice, assortment problem, one-to-many matching, gross substitutes, greedy algorithm 


  • L13: Tue 4/23, 1145am-145pm (zoom)
  • L14: Thu 4/25, 1pm-3pm (zoom) 
  • L15: Thu 5/2, 1pm-3pm (zoom)


New Perspectives on Substitutes

New Perspectives on Substitutes

Paris, June 2-3, 2023

Organizers: Alfred Galichon (New York University and Sciences Po) and Larry Samuelson (Yale University)

Substitutability has found itself at the core of modern economic modeling for two reasons.  First, it arises naturally in classes of models such as one-to-one matching, discrete choice, hedonic models, and many others.  Second, it leads to successful numerical methods, such as the greedy algorithm in the discrete case, and the Jacobi algorithm related ones in the continuous case.  Leading experts in the field will gather to make a link between discrete and continuous models and to explore recent theoretical developments and economic applications.

Abstracts can be found here.

Papers can be found here.

Slides can be found here.

The workshop is accessible to the public but registration is mandatory by emailing

Friday June 2, 2023

Location: Sciences Po (27 rue Saint Guillaume, room AS)

1230pm-130pm: luncheon buffet (room AS)

Session 1

130pm-215pm: Renato Paes Leme: “Gross Substitutes: Representation and Approximation”

215pm-300pm: Xin Chen / Menglong Li: “S-Convexity and Gross Substitutability”

300pm-330pm: break

Session 2

330pm-415pm: Alexander Teytelboym: TBA

415pm-500pm: Jonathan Weinstein: “Direct Complementarity”

5pm-530pm: break

Session 3

530pm-615pm: Lucas Vernet: “Monotone Comparative Statics for Equilibrium Problems”

615-700pm: Ravi Jagadeesan: “Understanding Demand Types and Discrete Convexity”

700pm-730pm: dinner (invitation only): Chez Francoise, Aérogare des Invalides, 75007 Paris

Saturday June 3, 2023

Location: NYU Paris (57 boulevard Saint-Germain, 75005 Paris)

Session 4

0915am-10am: Faruk Gul: “Efficient Allocation of Indivisible Goods in Pseudo Markets with Constraints”

1000am-1045am: Pawel Dziewulski: “It’s all about parallelograms: comparative statics in quasilinear settings”

1045am-1115am: break

Session 5

1115am-1200pm: Elizabeth Baldwin: “Implementing Walrasian Equilibrium: The Language of Product-Mix Auctions”

1200pm-1245pm: Maxime Sylvestre: “Monotone comparative statics for submodular functions, with an application to aggregated deferred acceptance”

1245pm-130pm: Wolfgang Pesendorfer: “Lindahl Equilibrium as a Collective Choice Rule”

130pm lunch (invitation only): Les Papilles, 30 rue Gay Lussac, 75005 Paris


Lecture series

Two lectures on matching models for family economics

Invited lectures given at the University of Toronto, April 1 and April 8, 2022


The first lecture will cover transferable utility (TU) matching models with logit heterogeneity following the seminal paper by Choo and Siow (JPE 2006), its extension and parametric estimation following Galichon and Salanié (Restud 2022).
The second lecture will discuss the interplay between models of matching and collective models as depicted in Browning and Chiappori’s (Cambridge, 2014) monograph, and how models of imperfectly transferable utility (ITU) and logit or more general heterogeneity are needed to address this new class of problems, as is done in Galichon, Kominers and Weber (JPE, 2019).


April 1 and April 8, 10am-12pm Eastern time, online.

Course material

The lecture slides are available from the following github repository.


These lectures are based on:
[GS] Galichon and Salanie (2022). Cupids invisible hands: Social Surplus and Identification in Matching Models. Review of Economic Studies.
[GKW] Galichon, Kominers and Weber (2019). Costly Concessions: An Empirical Framework for Matching with Imperfectly Transferable Utility (2019). Journal of Political Economy.
[MEC-OPTIM] Galichon (2022). `math+econ+code’ masterclass on optimal transport and economic applications.
[MEC-EQUIL] Galichon (2022). `math+econ+code’ masterclass on equilibrium transport and matching models in economics.


Lecture 1: Matching models with transferable utility:
Matching models as an optimization problem / regularized optimal transport / generalized linear models
Lecture 2: Matching models with imperfectly transferable / nontransferable utility:
Matching models as an equilibrium problem with substitutes

Seattle 2022

Lecture series

Gross substitutes, optimal transport and matching models

Optimal Transport Summer School, the University of Washington, Seattle, June 19-July 1, 2022


Gross substitutes is a fundamental property in mathematics, economics and computation, almost as important as convexity. It is at the heart of optimal transport theory — although this is often underrecognized — and understanding the connection key to understanding the extension of optimal transport to other models of matching.



Course material

The lecture slides are available before each lecture from the following github repository.


These lectures will be loosely based on my math+econ+code lectures:
A. Galichon, ‘math+econ+code’ masterclass on equilibrium transport and matching models in economics. June 2021. Available here.


Lecture 1. Introduction to gross substitutes
M-matrices and M-maps, nonlinear Perron-Froebenius theory, convergence of Jacobi algorithm. A toy hedonic model.

Lecture 2. Models of matching with transfers
Problem formulation, regularized and unregularized case. IPFP and its convergence. Existence and uniqueness of an equilibrium. Lattice structure.
Lecture 3. Models of matching without transfers
Gale and Shapley’s stable matchings. Adachi’s formulation. Kelso-Craford. Hatfield-Milgrom.


Kidney transplant hackaton

a math+econ+code event

When? TBA

Who? participation to this math+econ+code event is open to the public upon request.

What? Kidney transplant problems provide a very interesting real-life examples of dynamic matching problems. A large academic literature exists on the topic, both in economics and in operations research. Because the problem is a difficult problem computationally speaking, a number of algorithms exist out there to try to approximate the best solution. This hackaton will put you in the shoes of the transplant agency: at each period, you will receive the state of your population, which is made of your existing population of patients, plus new patients and minus deceased ones (simulated by our platform). Your role will be write the algorithm that matches donors and receivers, given the constraints on the way transplants can be done (state of the patient, compatibility between donor and receiver, length of transplant chains, etc.)

Each player plays in parallel and is evaluated by a score, which will reflect the state of their population of patients. The game is played over a very large number of periods. The player with the highest final score has come up with the best algorithm and wins the hackaton.

What is required? In order to participate, you need to be familiar with Python programming. Your only input is the matching function that assigns donors to receivers — a function whose length can be less than a hundred lines but can be more depending on your design. All the interfacing is done by the platform.

Interested? contact us at