Jeffrey Wooldridge's Avatar

Jeffrey Wooldridge

@jmwooldridge.bsky.social

Econometrics professor and author. Dogs = 2, cats >= 10.

10,809 Followers  |  202 Following  |  290 Posts  |  Joined: 21.09.2023  |  2.1532

Latest posts by jmwooldridge.bsky.social on Bluesky

Still time to sign up! Register on or before Dec 8. The group of attendees is shaping up nicely, and I'm looking forward to the online interactions.

@msuecon.bsky.social
@imbernomics.bsky.social

04.12.2025 15:46 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Preview
When to use negative binomial and Poisson regression When would one use a negative binomial regression and when would one use Poisson regression with respect to the mean and variance?

And here is a much better answer (from
@noahgreifer.bsky.social al, citing @jmwooldridge.bsky.social) than my mumbling in response to the Poisson vs negbin question.

stats.stackexchange.com/questions/65...

03.12.2025 08:59 β€” πŸ‘ 13    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0

Hi! I’m Mary and I’m on the #EconJobMarket this year.

Extreme heat doesn’t just affect students, it affects the people teaching them.

JMP 🧡:

14.11.2025 23:03 β€” πŸ‘ 51    πŸ” 19    πŸ’¬ 1    πŸ“Œ 4

I was in New Orleans recently at a conference and I tried to reach out to Big Freedia. Apparently, we're not as tight as I thought. 😬

16.11.2025 19:28 β€” πŸ‘ 11    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

The times are not currently listed on the website: 10 am to 4 pm EST on both days. After each 90 minute lecture, a 30 minute Q&A.

Hope to see you then!

16.11.2025 19:26 β€” πŸ‘ 7    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Estimate Reduced Form | Economics | Michigan State University

The next online installment of ESTIMATE: The Reduced Form is coming on Dec 11-12. I've continued to unify and expand regression-based methods to apply to exit, non-binary treatments, DDD, discrete outcomes, and more.

All proceeds to the MSU economics PhD program.

econ.msu.edu/academics/es...

16.11.2025 15:43 β€” πŸ‘ 25    πŸ” 14    πŸ’¬ 0    πŸ“Œ 3

It was on my mind because the batteries in my laser pointer died just before a presentation. πŸ˜‚

09.11.2025 20:10 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Did you find any AAA batteries?

08.11.2025 00:44 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
EJM - Econ Job Market

🚨 We are hiring! ‼️‼️

tenured track assistant or associate prof in economics at university of Melbourne @unimelb.bsky.social

welcome applications from all fields (but especially from econometrics)

econjobmarket.org/positions?sh...

16.10.2025 11:19 β€” πŸ‘ 36    πŸ” 22    πŸ’¬ 0    πŸ“Œ 1

Does it help if you call it a β€œfolder”?

13.10.2025 19:20 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I’m still trying to get students to stop sending me papers called β€œdraft.docx.”

13.10.2025 15:58 β€” πŸ‘ 14    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

So five different estimators when we use MLE weights collapse to one estimator using IPT weights. IPWRA and normalized AIPW work pretty well with MLE weights but differ from each other and the other estimators. The IPT-based estimator is hard to beat especially when the mean and PS are both wrong.

23.09.2025 18:45 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

ssc install teffects2

The syntax is essentially the same as teffects and allows MLE or IPT logit PS estimation. Where appropriate, we allow normalized or unnormalized weights (with MLE for IPW and AIPW). Preference for normalized. Standard errors account for all estimation uncertainty.

23.09.2025 18:45 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Weights for IPW and AIPW are automatically normalized. Holds for ATE and ATT. With MLE-based weights, the three estimators are all different, and the IPW and AIPW weights are not automatically normalized. We have an accompanying Stata command, teffects2.

23.09.2025 18:45 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

Thanks Paul. It’s nice to have a paper that’s both elegant (if I may say so) and practically useful. The conclusion is that using a particular covariate balancing PS estimator β€” inverse probability tilting β€” renders IPW, AIPW, and IPWRA all numerically identical with a linear conditional mean.

23.09.2025 18:45 β€” πŸ‘ 44    πŸ” 14    πŸ’¬ 1    πŸ“Œ 0

This puzzled me and seems like a kind of appropriation. Mundlak was squarely in the frequentist/FE camp.

16.09.2025 22:24 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Oh I think you know I’ve always been a barbarian.

14.09.2025 14:18 β€” πŸ‘ 11    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image Post image Post image Post image

We finished days 2-3 of our #summerschool in #healtheconomics

Packed with insights from
@jmwooldridge.bsky.social on recent DiD methods
StefanieSchurer on policy applications
@erdaltekin.bsky.social on the publication process

Plus great presentations throughoutπŸ’ͺ

#econbluesky

14.08.2025 08:02 β€” πŸ‘ 16    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

😬

08.07.2025 21:29 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Nothing casual about it. I take these things very seriously.

08.07.2025 17:58 β€” πŸ‘ 19    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

Finally, I have my Flintstones name.

08.07.2025 17:20 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

πŸ˜‚πŸ˜‚

06.07.2025 20:39 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

This inspires me to start a collection of pet rock econometricians.

06.07.2025 19:03 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
A screenshot of an R console showing code and output for an extended two-way fixed effects analysis. The code loads the `fetwfe` and `did` packages, loads the `mpdta` dataset, and transforms it into `pdata` with `attgtToFetwfeDf`, specifying outcome `lemp`, time variable `year`, unit identifier `countyreal`, treatment onset `first.treat`, and covariate `lpop`. Then it runs `etwfe(pdata, time_var="time_var", unit_var="unit_var", treatment="treatment", response="response", covs="lpop")`.

Below is the β€œExtended Two-Way Fixed Effects Results”:

* **Overall Average Treatment Effect (ATT):**
  – Estimate: –0.0452
  – Std. Error: 0.0145
  – 95 % CI: \[–0.0736, –0.0167]

* **Cohort Average Treatment Effects (CATT):**

  | Cohort | Estimated TE | SE         | 95 % CI low | 95 % CI high |
  | ------ | ------------ | ---------- | ----------- | ------------ |
  | 2004   | –0.08762696  | 0.03555885 | –0.15732102 | –0.01793290  |
  | 2006   | –0.02127833  | 0.02128938 | –0.06300475 | 0.02044809   |
  | 2007   | –0.04595453  | 0.01633327 | –0.07796715 | –0.01394190  |

* **Model Details:**
  – Units (N): 500
  – Time periods (T): 5
  – Treated cohorts (R): 3
  – Covariates (d): 1
  – Features (p): 29

A screenshot of an R console showing code and output for an extended two-way fixed effects analysis. The code loads the `fetwfe` and `did` packages, loads the `mpdta` dataset, and transforms it into `pdata` with `attgtToFetwfeDf`, specifying outcome `lemp`, time variable `year`, unit identifier `countyreal`, treatment onset `first.treat`, and covariate `lpop`. Then it runs `etwfe(pdata, time_var="time_var", unit_var="unit_var", treatment="treatment", response="response", covs="lpop")`. Below is the β€œExtended Two-Way Fixed Effects Results”: * **Overall Average Treatment Effect (ATT):** – Estimate: –0.0452 – Std. Error: 0.0145 – 95 % CI: \[–0.0736, –0.0167] * **Cohort Average Treatment Effects (CATT):** | Cohort | Estimated TE | SE | 95 % CI low | 95 % CI high | | ------ | ------------ | ---------- | ----------- | ------------ | | 2004 | –0.08762696 | 0.03555885 | –0.15732102 | –0.01793290 | | 2006 | –0.02127833 | 0.02128938 | –0.06300475 | 0.02044809 | | 2007 | –0.04595453 | 0.01633327 | –0.07796715 | –0.01394190 | * **Model Details:** – Units (N): 500 – Time periods (T): 5 – Treated cohorts (R): 3 – Covariates (d): 1 – Features (p): 29

First of all, I added an implementation of extended two-way fixed effects (@jmwooldridge.bsky.social 2021), etwfe(), with inputs and outputs aligned with fetwfe().

There's also now betwfe(), which implements a bridge-penalized (includes lasso and ridge regression) version of etwfe().

05.07.2025 20:39 β€” πŸ‘ 18    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0

πŸ‘€

04.07.2025 22:55 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

🚨 One spot just opened up for our Summer School in Health Economics!

Top-notch lectures by
@jmwooldridge.bsky.social and Stefanie Schurer, presentations, and a great social program are waiting for you.

First come, first served – apply now!

#EconBluesky #economics @healtheconall.bsky.social

04.07.2025 09:28 β€” πŸ‘ 11    πŸ” 5    πŸ’¬ 0    πŸ“Œ 0
Post image

It’s a real pleasure teaching a course with @pedrosantanna.bsky.social. Many are calling us β€œFire and Ice.”

24.06.2025 20:58 β€” πŸ‘ 63    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0

See you there! Good thinking to hang out in Athens.

20.06.2025 21:08 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
CPI Data Quality Declining - Apollo Academy To calculate CPI inflation, BLS teams collect about 90,000 price quotes every month covering 200 different item categories, and there...

To calculate CPI, BLS teams collect 90k price quotes every month covering 200 different item categories.
When data not available, BLS staff typically develop estimates for approximately 10% of cells in the CPI calculation. However, in May, share of data in the CPI that is estimated increased to 30%

20.06.2025 11:04 β€” πŸ‘ 192    πŸ” 49    πŸ’¬ 6    πŸ“Œ 6

@jmwooldridge is following 18 prominent accounts