Causal Inference

Evaluación del impacto de la infraestructura: una guía introductoria a diferencias en diferencias con el puente Jamuna

En junio de 1998, un puente de 4.8 kilómetros sobre el río Jamuna conectó a 26 millones de bangladesíes aislados con Daca y redujo a la mitad los costos de flete. Este tutorial reconstruye desde cero, en Python, la evaluación por diferencias en diferencias de ese puente, utilizando como grupo de comparación al hinterland del Padma, una región simétrica que quedó aislada por un río cuyo propio puente no se inició sino hasta 2015. Enseña la lógica 2x2, las tendencias paralelas, los efectos fijos de dos vías, los estudios de eventos y el análisis honesto de sensibilidad sobre luces nocturnas satelitales, y luego aplica la misma maquinaria a las participaciones sectoriales del censo, los rendimientos de arroz y un placebo de bienes públicos. Los dos estimadores doblemente robustos del artículo original se reconstruyen a mano en NumPy y se ejecutan tanto en diff-diff como en pyfixest. Los 122 coeficientes publicados se auditan junto a la replicación, y se documentan por completo los defectos hallados dentro del paquete de Stata distribuido.

Control sintético espacial bayesiano en Python: la Proposición 99 de California con scspill y mlsynth

Una introducción desde cero al método de control sintético en Python, construida sobre el caso de la Proposición 99 de California y organizada en tres etapas: el símplex clásico de Abadie, Diamond y Hainmueller; una distribución previa horseshoe que permite que sean los datos, y no una restricción, los que elijan los estados donantes; y el modelo espacial bayesiano de Sakaguchi y Tagawa, que abandona el supuesto SUTVA sobre el grupo de donantes y pregunta quién más resultó tratado. Cada ecuación se deriva y se vincula con el código que la implementa, usando las librerías scspill y mlsynth. El resultado para California sobrevive a todas las relajaciones del modelo. La afirmación de que el grupo de donantes estaba limpio, no.

La escalera del control sintético en Python: una guía completa de la librería mlsynth con el caso del Brexit

Una introducción cuidadosa a mlsynth, la librería de Python que reúne toda la familia de estimadores de control sintético para una sola unidad tratada detrás de una única interfaz de configuración. Recorremos la escalera completa —diferencias en diferencias, control sintético, control sintético centrado, diferencias en diferencias sintéticas en sus tres variantes, MASC y control sintético aumentado— con una clase de mlsynth por peldaño, explicando qué hace cada opción y dónde los valores por defecto entregan silenciosamente un estimador distinto. El caso de estudio es el referéndum del Brexit de 2016 y su costo para el PIB del Reino Unido.

De diferencias en diferencias a diferencias en diferencias sintéticas: ¿cuánto le costó el Brexit al Reino Unido?

Un recorrido pedagógico por la escalera completa de estimadores de control sintético para una sola unidad tratada: diferencias en diferencias, control sintético, control sintético centrado (DSC), diferencias en diferencias sintéticas (SDID) en sus tres variantes, MASC y control sintético aumentado. Cada método se programa primero desde cero y después se ejecuta con su paquete, sobre el PIB real trimestral de 24 economías de la OCDE entre 1995 y 2020. Incluye hojas de referencia rápida en R, Stata y Python.

¿Funcionan los parques industriales? Evaluación de la política basada en lugares en Etiopía con diferencias en diferencias

¿Elevan los parques industriales la actividad económica local, y para quién? Una evaluación para principiantes con diferencias en diferencias escalonadas de los parques industriales etíopes en Python, que replica a Huang, Wang y Xu (2026) sobre datos sintéticos calibrados: TWFE y un estudio de eventos con pyfixest, los estimadores modernos de Sun-Abraham, Borusyak/Gardner y Callaway-Sant'Anna más una descomposición de Goodman-Bacon con diff-diff, DiD de sección cruzada repetida y ponderada por encuesta sobre el bienestar de los hogares y el empoderamiento de las mujeres en la DHS, y errores estándar espaciales de Conley.

¿Recuperarse mejor? Evaluación del impacto económico del tsunami de Aceh

Evalúe el impacto económico de largo plazo de un desastre natural localizado con inferencia causal en Python. Una replicación para principiantes de Heger y Neumayer (2019) sobre el tsunami de Aceh de 2004, con datos sintéticos calibrados: diferencias en diferencias dinámicas con pyfixest, un estudio de eventos con diff-diff, una respuesta a la dosis de luces nocturnas, control sintético con mlsynth y errores estándar espaciales de Conley.

El método de control sintético aumentado: un tutorial para principiantes con los recortes de impuestos de Kansas

Un tutorial introductorio y centrado en la intuición sobre el método de control sintético aumentado (ASCM) para una sola unidad tratada: la estimación del efecto de los recortes de impuestos de Kansas de 2012 sobre el PIB per cápita con el paquete augsynth, del control sintético clásico a la aumentación por ridge, con un recorrido cuidadoso por cuatro formas de hacer inferencia.

Diferencias en diferencias sintéticas (SDID) en Stata: una reevaluación de la Proposición 99 de California

Introducción y derivación del método de diferencias en diferencias sintéticas, con una aplicación a la Proposición 99 de California: se compara con las diferencias en diferencias y el control sintético originales (synth2) y se explica cómo realizar inferencia por placebo con una sola unidad tratada.

Diferencias en diferencias sintéticas con adopción escalonada (SDID) en Stata: cuotas de género y mujeres en el parlamento

Se extienden las diferencias en diferencias sintéticas al caso de adopción escalonada, en el que las unidades reciben el tratamiento en momentos distintos, y se aplican en Stata a las cuotas de género parlamentarias en 119 países: se deriva el estimador por cohorte, su agregación en el ATT global, el moderno estudio de eventos con sdid_event y la inferencia por bootstrap, jackknife y placebo.

Doble LASSO en Python: ¿reduce el aborto la delincuencia?

Versión en Python de los tutoriales de Doble LASSO en R y Stata: los mismos datos, los mismos cinco estimadores y una introducción práctica a la biblioteca DoubleML (DoubleMLPLR, DoubleMLIRM y robustez frente al estimador base entre LASSO, RandomForest y XGBoost).