Comparison to Other Geo-Experiment Libraries
GeoSC is a SparseSC-based Python library for geo-experiment design, donor evaluation, and synthetic-control lift measurement. It overlaps with several other geo-experiment libraries, but it is not a drop-in replacement for all of them.
This page is a methodology-level guide, not a live feature matrix. Upstream libraries change. Before choosing a tool for a production measurement program, check the current upstream documentation, licence terms, and supported runtime surface.
Quick Positioning
| Library family | Typical counterfactual | Inference style | Main fit |
|---|---|---|---|
| GeoSC | Sparse synthetic control from individual donor geos | SparseSC CIs when available, plus donor-pool placebo diagnostics | Python-first operational workflows with explicit artifacts and donor diagnostics |
| Google geo-experiment tools, including GeoX/TBR/GBR/matched markets | Regression or matched-market designs using treatment/control aggregates or matched groups | Regression/Bayesian-style TBR uncertainty, depending on workflow | Regression-based geo experiments, matched-market design, and budget-constrained assignment |
| Meta GeoLift | Augmented synthetic control with prognostic outcome models | Conformal/placebo-style synthetic-control inference, depending on settings | End-to-end R workflow for market selection, power, GeoLift analysis, and plotting |
| General Bayesian causal-impact tools | Structural time-series or Bayesian synthetic-control model | Posterior intervals from the fitted model | Time-series impact analysis when a Bayesian model is the desired estimand |
GeoSC vs Google GeoX / TBR / GBR
Google’s geo-experiment literature and tools include time-based regression (TBR), geo-based regression (GBR), matched-market design, and related GeoX workflows. These methods are useful when the analyst wants an explicitly regression-based design and can defend the model form.
GeoSC differs in the counterfactual construction:
- Google TBR/GBR workflows model treatment outcomes from aggregate or matched control signals through a regression-style model.
- GeoSC constructs a counterfactual as a SparseSC-weighted combination of individual donor geographies.
- TBR/GBR diagnostics are naturally regression diagnostics: residual behaviour, model fit, and stability of the treatment-control relationship.
- GeoSC diagnostics emphasize donor comparability, pre-period synthetic-control fit, selected donor concentration, placebo granularity, and artifact status.
Operationally, this means GeoSC is usually more inspectable at the donor level: the analyst can review which donor geos were recommended or influential, whether the donor pool is concentrated, and whether placebo p-values are coarse. That does not make GeoSC automatically safer. If the donor pool is small, non-comparable, or exposed to spillovers, a sparse synthetic control can still be misleading.
Use Google-style TBR/GBR or matched-market tools when:
- your organization already uses the Google geo-experiment workflow;
- regression assumptions and aggregate controls are acceptable for the decision;
- assignment constraints and matched-market design are the main problem;
- you need outputs that align with existing Google measurement or Meridian calibration processes.
Use GeoSC when:
- individual donor geography diagnostics matter;
- you want a Python package and CLI with YAML-backed runs;
- you need explicit JSON/CSV artifacts for validation and audit;
- you want SparseSC interpolation rather than an aggregate regression counterfactual.
GeoSC vs Meta GeoLift
Meta GeoLift and GeoSC are closer methodologically than TBR/GBR because both are synthetic-control-oriented geo-experiment tools. The key difference is the synthetic-control variant.
Meta GeoLift is built around augmented synthetic control methods. The augmentation uses a prognostic outcome model, such as ridge regression or generalized synthetic control options, to improve the counterfactual when raw synthetic-control balance is imperfect. It also provides an end-to-end R workflow for market selection, power analysis, analysis, and plotting.
GeoSC uses SparseSC as its estimator backend. SparseSC regularizes the matching problem and uses cross-validation to select penalty settings. GeoSC wraps this with Python-native operational controls: data validation artifacts, assumption validation artifacts, donor evaluation outputs, power simulation metadata, and release-preflight checks.
The practical distinction:
- Meta GeoLift is often a better fit for teams already using the Meta R package, its design functions, and its conformal/augmented synthetic-control workflow.
- GeoSC is a better fit for Python teams that want SparseSC-based inference, explicit artifact contracts, and a CLI-oriented production workflow.
- Neither package removes the need to validate donor comparability, treatment isolation, measurement-source consistency, and estimand alignment.
GeoSC vs Bayesian Causal-Impact Tools
GeoSC is not Bayesian and does not use PyMC. It does not produce posterior credible intervals, hierarchical meta-analysis estimates, or Bayesian structural time-series decompositions.
Bayesian causal-impact tools are useful when the analysis goal is to fit an explicit Bayesian time-series or Bayesian synthetic-control model and interpret posterior uncertainty under that model. GeoSC is useful when the analysis goal is SparseSC-based geo lift with donor-level diagnostics and production artifacts.
Do not pool or directly compare posterior effects from Bayesian tools with GeoSC’s ATT unless the estimand, scaling, time window, outcome definition, and measurement source are aligned.
What GeoSC Adds Operationally
GeoSC is designed to make production readiness demonstrable:
geosc powerwritespower_analysis_results.csvwith simulation seeds, failed-run counts, failure rates, effective placebo settings, backend fields, andvalidflags.geosc donorswritesdonor_eval_results.csvanddonor_pool_quality.jsonwith quality bands, warning flags, and donor concentration diagnostics.geosc inferwritesgeolift_results.json,geolift_diagnostics.json,data_validation.json, andassumption_validation.json.- result
statusis explicit:ok,partial, orfailed. selected_weightin donor evaluation is a design-stage recommendation and concentration signal, not a fitted SparseSC donor weight.- seeded CPU power runs are reproducible; GPU behaviour can vary by backend, hardware, and numerical library.
These are engineering and auditability features. They are not evidence that a specific experiment is causally valid.
Selection Checklist
Choose the tool based on the estimand and workflow, not the package name:
- Use a regression-based tool when a regression counterfactual is the estimand you can defend.
- Use Meta GeoLift when the augmented synthetic-control workflow and R ecosystem are the desired operational surface.
- Use GeoSC when SparseSC, Python, donor-level diagnostics, and artifact validation are the desired operational surface.
- Use Bayesian causal-impact tools when posterior model uncertainty is the target output.
For any tool, treat small samples carefully. Placebo p-values are coarse when few eligible donor geos are available, and no software package can repair a non-comparable donor pool or contaminated experiment.
References
- Google Research: “A Time-Based Regression Matched Markets Approach for Designing Geo Experiments”.
- Google
GeoexperimentsResearchAPI documentation. - Meta GeoLift documentation
and
facebookincubator/GeoLift. - Ben-Michael, Feller, and Rothstein: “The Augmented Synthetic Control Method”.
- Local design note:
assets/presentations/GeoX_vs_GeoLift_comparison/main.tex.