name: running-causalpy-experiments description: Fit, summarize, plot, and interpret a chosen CausalPy experiment. Use after the causal method has been selected, including when configuring PyMC/sklearn models and scale-aware custom priors.
Running CausalPy Experiments
Use this skill when the CausalPy experiment class is already known or has just been selected by choosing-causalpy-methods. This skill is for execution: preparing data, instantiating the experiment, choosing a model backend, setting sane priors, inspecting outputs, plotting, and communicating results.
Workflow
- Load and validate a pandas
DataFramewith the data layout required by the chosen experiment. - Choose a backend: PyMC models for posterior uncertainty and priors, or sklearn-compatible regressors where the experiment supports OLS/sklearn.
- Configure the model before construction. For PyMC, set
sample_kwargsand scale-awarepriorswhen predictors or outcomes are not standardized. - Instantiate the experiment. CausalPy experiments fit during initialization.
- Inspect outputs with
summary(),effect_summary(),print_coefficients(), andplot()only where the chosen experiment supports them. - Run relevant sensitivity checks through
cp.Pipeline,cp.EstimateEffect, andcp.SensitivityAnalysiswhen robustness matters.
Model And Prior Guardrails
- Do not blindly accept diffuse default priors when predictors and outcomes are on very different scales. Either standardize the modeling variables or pass scale-aware priors to the PyMC model.
- For
cp.pymc_models.LinearRegression, configure priors forbetaand the observation noise insidey_hat. - For synthetic-control weight models, priors control donor-weight regularization and outcome noise; see
WeightedSumFitter,SoftmaxWeightedSumFitter, andSyntheticDifferenceInDifferencesWeightFitter. - For
PropensityScore, standardize continuous confounders or use coefficient priors that imply plausible log-odds shifts. - For
InstrumentalVariableRegression, priors are passed at the experiment level throughpriors=...and should reflect the scale of both the treatment-stage and outcome-stage regressions. - Always check posterior diagnostics, prior predictive plausibility when available, coefficient magnitudes, counterfactual fit in the pre-period, and whether effect summaries are stable under reasonable prior alternatives.
Common Output Methods
experiment.summary(): Prints a method-specific summary where implemented.experiment.effect_summary(): Returns a decision-ready structured effect summary where implemented.experiment.plot(): Visualizes fitted values, counterfactuals, effects, or diagnostics where implemented.experiment.print_coefficients(): Shows model coefficients for model-backed experiments.result = cp.Pipeline(...).run(): Runs estimation, sensitivity checks, and report generation as a reproducible workflow.
Important Exceptions
InversePropensityWeighting.plot()is intentionally a stub. Useplot_ate()andplot_balance_ecdf()instead.InversePropensityWeighting.effect_summary()is not implemented. Inspect ATE draws, overlap, balance, and weight stability instead.InstrumentalVariable.plot(),summary(), andeffect_summary()are not implemented, so inspect model outputs and first-stage/second-stage diagnostics directly.PanelRegression.effect_summary()is not implemented because panel fixed-effects models report coefficient-level estimates rather than time-window impacts. Usesummary(),print_coefficients(), andplot()orplot_coefficients().
References
- Scale-aware custom priors
- Difference-in-Differences
- Interrupted Time Series
- Piecewise Interrupted Time Series
- Synthetic Control
- Synthetic Difference-in-Differences
- Panel Regression
- PrePostNEGD
- Regression Discontinuity
- Regression Kink
- Staggered Difference-in-Differences
- Instrumental Variable
- Inverse Propensity Weighting