Synthetic Control (Contrôle Synthétique)
La méthode du synthetic control (contrôle synthétique, SCM) construit un contrefactuel artificiel pour une unité traitée en combinant de manière pondérée plusieurs unités non traitées, afin d’estimer ce qui se serait passé sans l’intervention, dans les cas où un seul groupe (une région, un pays, une entreprise) est affecté par le traitement.
- Catégorie
- Inférence causale / Économétrie / Évaluation de politiques
- Développé par
- Alberto Abadie, Alexis Diamond, Jens Hainmueller (2003, 2010, 2015)
- Objectif
- Estimer l’effet causal d’une intervention sur une seule unité traitée
- Principe
- Combinaison pondérée d’unités contrôle pour reproduire la trajectoire pré-traitement de l’unité traitée
- Inférence
- Tests placebo (permutation), ratios RMSPE, tests de Fisher exactes
- Citations
- Plus de 5 000 articles utilisant le SCM (Web of Science, décembre 2025)
- Outils
- Synth (R/Stata), gsynth (R), PenSCM, SparseSC (Python), CausalImpact (Google)
Le problème que résout le synthetic control
Imaginons que vous voulez évaluer l’effet d’une nouvelle loi adoptée par un seul pays, d’une politique fiscale mise en place par un seul État, ou du lancement d’un produit sur un seul marché. Vous n’avez qu’une seule unité traitée. La randomisation est impossible (on ne peut pas randomiser l’adoption d’une loi par un pays). Le propensity score matching et les méthodes par régression fonctionnent mal avec très peu d’unités. La différence en différences (DiD) nécessite l’hypothèse de tendances parallèles, souvent violée quand les unités sont hétérogènes.
Le synthetic control apporte une solution élégante. Au lieu de chercher une seule unité contrôle comparable (qui n’existe généralement pas), il construit un contrôle synthétique en combinant plusieurs unités non traitées avec des poids optimisés pour reproduire au mieux la trajectoire de l’unité traitée avant l’intervention. Ce contrôle synthétique est votre meilleur estimé de « ce qui se serait passé sans l’intervention ».
L’effet causal est alors la différence entre ce qui s’est réellement passé (la trajectoire observée de l’unité traitée après l’intervention) et le contrefactuel synthétique. Si la Californie a adopté un programme antitabac en 1988 et que le contrôle synthétique prédit ce qu’aurait été la consommation de cigarettes en Californie sans le programme, l’écart entre les deux courbes est l’effet causal estimé du programme.
Comment fonctionne le SCM
Structure des données
Le SCM requiert des données de panel : plusieurs unités (pays, régions, entreprises) observées sur plusieurs périodes temporelles. Une seule unité (ou un petit nombre) reçoit le traitement à un moment donné. Les autres restent non traitées pendant toute la période et constituent le « donor pool » (pool de donneurs) à partir duquel le contrôle synthétique est construit.
Optimisation des poids
Le SCM attribue des poids non négatifs aux unités du donor pool, avec une somme égale à 1 (convex hull). Ces poids sont optimisés pour minimiser l’écart entre l’unité traitée et le contrôle synthétique sur les résultats pré-traitement et éventuellement sur des covariables prédictives. Formellement, le problème d’optimisation cherche les poids w* qui minimisent une mesure de distance entre les caractéristiques pré-traitement de l’unité traitée et celles du contrôle synthétique pondéré.
La contrainte de convexité (poids entre 0 et 1, somme = 1) évite l’extrapolation : le contrôle synthétique est toujours une interpolation entre les unités observées, pas une projection au-delà des données. C’est une propriété de sécurité importante.
Estimation de l’effet
Une fois les poids estimés sur la période pré-traitement, le contrôle synthétique est projeté sur la période post-traitement. L’effet causal pour chaque période post-traitement t est :
τₜ = Y₁ₜ(observé) – Ŷ₁ₜ(synthétique)
Où Y₁ₜ est le résultat observé pour l’unité traitée et Ŷ₁ₜ est le résultat prédit par le contrôle synthétique. Visuellement, c’est l’écart entre les deux courbes après l’intervention.
Qualité de l’ajustement pré-traitement
La crédibilité de l’estimation repose entièrement sur la qualité de l’ajustement pré-traitement. Si le contrôle synthétique ne reproduit pas bien la trajectoire de l’unité traitée avant l’intervention, il n’y a aucune raison de croire qu’il représente un bon contrefactuel après l’intervention. Le RMSPE pré-traitement (Root Mean Square Prediction Error) quantifie cette qualité.
Inférence statistique
L’inférence statistique avec le SCM est un défi actif de recherche. Avec une seule unité traitée, les tests statistiques classiques (basés sur la loi des grands nombres) ne s’appliquent pas directement. Les méthodes d’inférence spécifiques au SCM :
Tests placebo (permutation)
La méthode standard proposée par Abadie et al. Appliquez le SCM à chaque unité du donor pool comme si elle avait été traitée (placebo). Comparez l’effet estimé sur l’unité réellement traitée aux effets placebo. Si l’effet réel est sensiblement plus grand que les effets placebo, c’est un signal de significativité. On peut dériver une p-value comme la proportion d’effets placebo au moins aussi grands que l’effet réel.
Tests in-space placebo. Permutent l’unité traitée parmi les unités contrôle. Si seulement 1 unité sur 20 montre un effet aussi grand, la p-value approximative est 1/20 = 0,05.
Tests in-time placebo. Appliquent le SCM avec une fausse date d’intervention dans la période pré-traitement. Si un effet apparaît alors qu’aucune intervention n’a eu lieu, la méthodologie est suspecte.
Ratio RMSPE
Le ratio RMSPE post/pré est une mesure normalisée de l’effet : il compare l’écart post-traitement (le « signal ») à l’écart pré-traitement (le « bruit »). Un ratio élevé pour l’unité traitée, comparé aux ratios placebo, renforce la confiance dans l’effet causal. Cette normalisation gère le fait que les effets placebo peuvent aussi avoir un mauvais fit pré-traitement.
Leave-one-out
Retirez tour à tour chaque unité du donor pool et recalculez le contrôle synthétique. Si l’estimation change drastiquement quand une seule unité est retirée, le résultat est fragile (il dépend d’un seul donneur). La stabilité des résultats à travers les itérations leave-one-out renforce la robustesse.
Extensions et variantes
Generalized Synthetic Control (GSC)
Le GSC (Xu, 2017) unifie le SCM et les modèles à effets fixes interactifs (IFE) dans un cadre unique. Il estime des facteurs latents communs à partir des données du groupe contrôle, puis projette ces facteurs sur les unités traitées. L’avantage : il gère les cas avec plusieurs unités traitées, relaxe l’hypothèse de tendances parallèles du DiD, et inclut une procédure de cross-validation pour sélectionner automatiquement le nombre de facteurs. Implémenté dans le package R gsynth.
DiD + Synthetic Control (doublement robuste)
Des travaux récents (2025) proposent des cadres qui combinent les forces du DiD et du SCM dans un estimateur doublement robuste : l’estimation est valide soit sous l’hypothèse de tendances parallèles (DiD), soit sous l’hypothèse de contrôle synthétique, pas nécessairement les deux. Cela évite le choix conventionnel entre les deux méthodes et renforce la crédibilité des estimations.
Augmented SCM
L’Augmented SCM (Ben-Michael et al., 2021) relaxe la contrainte de convexité du SCM classique et corrige le biais quand le fit pré-traitement est imparfait. Il combine le SCM avec une régression outcome pour obtenir un estimateur débiaisé avec des intervalles de confiance valides.
Matrix Completion
Athey et al. (2021) formulent le problème de contrefactuel comme un problème de complétion de matrice : les résultats post-traitement des unités traitées sont des entrées manquantes dans une matrice (unités × temps) qu’on impute à partir des entrées observées. Cette approche unifie le SCM et les modèles à facteurs dans un cadre algébrique.
CausalImpact (Google)
CausalImpact est un package R/Python développé par Google qui implémente une variante bayésienne du contrôle synthétique pour les séries temporelles. Très utilisé en marketing digital pour estimer l’impact incrémental d’une campagne ou d’un événement sur une métrique (trafic web, ventes, conversions). Il combine des séries de contrôle avec un modèle structurel bayésien de séries temporelles et produit des intervalles de crédibilité et une probabilité postérieure d’un effet causal.
Applications concrètes
Évaluation de politiques publiques
C’est l’application historique du SCM. L’étude fondatrice d’Abadie et al. (2010) a estimé l’effet du programme antitabac de Proposition 99 en Californie (1988) en construisant une Californie synthétique à partir d’autres États américains. D’autres applications emblématiques : l’effet de la réunification allemande sur le PIB de l’Allemagne de l’Ouest, l’impact des dividendes du Alaska Permanent Fund sur les résidents (paiements annuels de 1 000 à 3 800 $ en dollars 2026), l’évaluation de lois « stand your ground » sur les taux d’homicide.
Économie et commerce
Le SCM est utilisé pour évaluer l’effet de politiques économiques, d’accords commerciaux, de sanctions et de réformes fiscales. Une étude récente a appliqué le SCM pour évaluer si la croissance économique du Brésil sous Lula (2003-2010) était due à ses politiques ou aux conditions mondiales favorables (boom des matières premières). Le contrôle synthétique a suggéré que la performance brésilienne était largement attribuable aux circonstances externes.
Santé publique et épidémiologie
Le SCM évalue l’effet d’interventions de santé publique au niveau régional ou national : lois sur le tabac, politiques de vaccination, programmes de réduction des risques. Les interrupted time series (ITS) sont souvent renforcées par un contrôle synthétique pour gérer le biais d’histoire (événements confondants simultanés). Les extensions bayésiennes et fonctionnelles récentes (GSC-FPCA) permettent d’appliquer le SCM à des données biomédicales longitudinales irrégulièrement espacées.
Marketing digital et mesure incrémentale
CausalImpact de Google est largement utilisé pour mesurer l’impact causal de campagnes marketing, de lancements de fonctionnalités ou d’événements sur les métriques business. Vous lancez une campagne TV dans une région ? Construisez un contrôle synthétique à partir de régions non exposées pour estimer l’effet incrémental sur les ventes ou le trafic web.
Tech et produit
Quand un A/B test n’est pas possible (déploiement d’une fonctionnalité au niveau d’un pays entier, changement d’infrastructure), le synthetic control offre une alternative crédible. Comparez la métrique du pays traité à un contrôle synthétique construit à partir de pays similaires non affectés.
Hypothèses et conditions de validité
Pas d’anticipation. L’intervention ne doit pas affecter les résultats avant la date officielle de traitement. Si les unités ajustent leur comportement en prévision de l’intervention, la période pré-traitement est contaminée.
Pas de spillover. Le traitement de l’unité traitée ne doit pas affecter les unités du donor pool (pas d’effets de contagion). Si la politique d’un État influence ses voisins, le contrôle synthétique est biaisé.
Convex hull. L’unité traitée doit être « à l’intérieur » de l’enveloppe convexe formée par les unités contrôle. Si aucune combinaison pondérée des contrôles ne peut approcher l’unité traitée, le SCM ne peut pas produire un contrefactuel crédible.
Pas d’événements confondants post-traitement. Aucun événement majeur ne doit affecter l’unité traitée (ou les contrôles) après l’intervention de manière asymétrique. C’est une hypothèse difficile à vérifier sur de longues périodes post-traitement.
Outils et librairies
| Outil | Langage | Spécialité |
|---|---|---|
| Synth | R / Stata | Implémentation originale d’Abadie et al., package de référence |
| gsynth | R | Generalized SCM (GSC) avec facteurs interactifs et cross-validation |
| CausalImpact | R / Python | Contrôle synthétique bayésien pour séries temporelles (Google) |
| SparseSC | Python | SCM avec régularisation pour les cas haute dimension |
| PenSCM | R | SCM pénalisé pour les cas avec beaucoup de contrôles |
| augsynth | R | Augmented SCM (Ben-Michael et al.), SCM débiaisé avec IC |
| fect | R | Fixed Effects Counterfactual Estimators, unifie DiD/SCM/IFE |
Pour le marketing digital et les séries temporelles, CausalImpact est le point d’entrée recommandé : simple d’utilisation et il produit des intervalles de crédibilité bayésiens. Pour l’évaluation de politiques publiques avec des données de panel, Synth (original) ou gsynth (extension généralisée) sont les standards.
SCM vs DiD : quand utiliser quoi ?
| Critère | DiD | Synthetic Control |
|---|---|---|
| Nombre d’unités traitées | Peut être grand | Optimisé pour une seule (ou quelques) unités traitées |
| Hypothèse clé | Tendances parallèles | Convex hull + bon fit pré-traitement |
| Choix du contrôle | Toutes les unités non traitées (poids implicites) | Combinaison pondérée optimisée (poids explicites) |
| Transparence | Moindre (les contrôles contribuent également) | Forte (les poids sont visibles, on sait qui compose le synthétique) |
| Inférence | Standard (tests t, clustering) | Tests placebo (permutation), non standard |
| Données agrégées | Problématique (peu d’unités pour le clustering) | Conçu pour ce cas |
Verdict : le SCM excelle quand vous avez une seule unité traitée avec des données de panel, ce qui est fréquent en évaluation de politiques (un pays, un État, une région). Le DiD est préférable quand vous avez plusieurs unités traitées et que l’hypothèse de tendances parallèles est plausible. Le GSC et les méthodes doublement robustes récentes réduisent la nécessité de choisir entre les deux.
Pièges courants
Surinterpréter un bon fit pré-traitement. Un fit parfait obtenu avec des unités sans rapport ne constitue pas un contrefactuel crédible. La qualité du donor pool (unités comparables structurellement) est aussi importante que le RMSPE.
Ignorer la sensibilité au choix des covariables. La sélection de covariables différentes et de catégories de référence différentes produit des poids légèrement différents et donc des estimations différentes. Rapportez plusieurs spécifications pour montrer la robustesse (ou la fragilité) des résultats.
Négliger l’inférence. Un écart entre la courbe traitée et le synthétique ne suffit pas : il faut le comparer aux effets placebo pour juger de sa significativité. Sans tests placebo, l’estimation n’a pas de valeur inférentielle.
Oublier les événements confondants. Un événement post-traitement qui affecte l’unité traitée mais pas les contrôles (récession locale, catastrophe naturelle) biaise l’estimation. Documentez et discutez les événements confondants potentiels.
Dépendance à un seul donneur. Si un contrôle reçoit un poids de 0,85 dans le synthétique, vous ne faites essentiellement qu’une comparaison 1 vs 1. Le test leave-one-out révèle cette fragilité.
Questions fréquentes sur le synthetic control
Quelle est la différence entre le synthetic control et la différence en différences (DiD) ?
Le DiD compare l’évolution d’un groupe traité et d’un groupe contrôle avant/après intervention, sous l’hypothèse que les deux auraient évolué en parallèle sans le traitement. Le SCM construit un contrôle artificiel à partir d’une combinaison pondérée de plusieurs unités, optimisée pour reproduire la trajectoire pré-traitement. Le SCM est conçu pour le cas d’une seule unité traitée avec des données agrégées, là où le DiD standard fonctionne mal. Le SCM relaxe l’hypothèse de tendances parallèles en construisant un contrôle « sur mesure ». Les deux peuvent être combinés dans des estimateurs doublement robustes qui sont valides sous l’une ou l’autre hypothèse.
Combien de périodes pré-traitement faut-il pour un bon synthetic control ?
Plus il y en a, mieux c’est. La théorie montre que le biais du SCM diminue quand le nombre de périodes pré-traitement augmente (relativement aux chocs transitoires). En pratique, un minimum de 10-15 périodes pré-traitement est souvent recommandé pour obtenir un fit stable et permettre des tests placebo in-time (fausse date d’intervention dans la période pré-traitement). Si vous n’avez que 3-4 périodes, la crédibilité du contrefactuel est limitée, et des méthodes alternatives (DiD, ITS) peuvent être préférables.
Le synthetic control fonctionne-t-il avec plusieurs unités traitées ?
Le SCM original est conçu pour une seule unité traitée. Pour plusieurs unités traitées, le Generalized Synthetic Control (GSC, package gsynth) est l’extension recommandée. Il estime des facteurs latents communs et peut gérer un nombre arbitraire d’unités traitées. La méthode de matrix completion (Athey et al.) et les approches doublement robustes DiD+SC traitent aussi ce cas. Ne faites pas simplement la moyenne des SCM individuels sans ajustement formel.
Comment utiliser CausalImpact de Google en pratique ?
CausalImpact est idéal pour mesurer l’impact d’un événement sur une série temporelle quand vous disposez de séries de contrôle non affectées. Exemple : vous lancez une campagne TV dans une ville. Utilisez les ventes des villes non exposées comme contrôles. CausalImpact construit automatiquement un contrôle synthétique bayésien et produit un intervalle de crédibilité pour l’effet causal. Il est accessible via le package R CausalImpact ou la librairie Python tfcausalimpact. L’interface est simple : fournissez la série traitée et les séries contrôle, indiquez la date d’intervention, et le package fait le reste.
Quelles sont les limites principales du synthetic control ?
Cinq limites principales. Premièrement, la contrainte de convex hull empêche l’extrapolation : si l’unité traitée est très différente de tous les contrôles, le SCM ne peut pas construire un contrefactuel crédible. Deuxièmement, les méthodes d’inférence (tests placebo) ne sont pas aussi matures que les tests classiques et restent un sujet de recherche actif. Troisièmement, le SCM ne gère pas les confondeurs non observés variant dans le temps (events confondants post-traitement). Quatrièmement, les résultats peuvent être sensibles au choix des covariables et du donor pool. Cinquièmement, avec peu de périodes pré-traitement, la qualité du fit et la crédibilité du contrefactuel sont limitées.