Explanation
Background material for interpreting results and understanding the package’s small-sample stance.
Background material for interpreting results and understanding the package’s small-sample stance.
marketbayesmeta produces review artefacts, not automatic decisions.
A completed run is not automatically reportable. Check:
run_status.reportablereadiness.csvdiagnostics.csvprior_diagnostics.csvanalysis_report.mdfuture_true_effect_summary.csv describes the latent true effect for a comparable future
study. It excludes measurement error and is not a prediction for the next observed study
estimate.
ppc.csv is an in-sample study-level posterior predictive check. It is useful for
spotting studies that look out of line with the fitted model, but it is not leave-one-out
validation and should not be interpreted as out-of-sample accuracy.
Recommended reporting should distinguish:
The current internal release candidate is 0.3.0.
0.3.0 is suitable for supervised Data Science analyst workflows where outputs are
reviewed before reporting. It is not intended for unattended production reporting.
Validated locally on June 3, 2026 using the repository virtual environment:
PATH=.venv/bin:$PATH make check: passedPATH=.venv/bin:$PATH make check-statistical: passedPATH=.venv/bin:$PATH python runme.py examples/config.yaml: completedThe synthetic example completed with diagnostics passed, readiness directional, and
run_status.reportable false, as expected for the small-K example.
Yes. The default model is a Bayesian normal-normal random-effects meta-analysis in PyMC. Random effects are a sensible default for comparable marketing measurement studies because campaigns, markets, periods, execution, and measurement designs often differ.
Do not pool studies just because they share a broad label such as “sales uplift” or “awareness”. Pool only when the estimand, scale, population, measurement window, and study design are comparable enough for a pooled effect to mean something.
MMM, PA2, ROI, CPA, CPO, and iROAS should usually be triangulated rather than pooled unless harmonised explicitly upstream.
There is no universal threshold. With two studies, random-effects meta-analysis is usually not recommended. With three to five studies, the pooled estimate can be useful but should be treated as directional and prior-sensitive.
By default, config runs require at least three comparable rows for an exploratory
directional run and at least four for ready.
Priors should come from defensible external information and explicit scale calibration, not from tuning the model until the result looks convenient.
Defaults are scale-aware:
log_relative: mu_sd=1.0, tau_scale=0.5percentage_point: mu_sd=10.0, tau_scale=5.0For serious reporting, set and justify priors in YAML and run prior sensitivity.
LOO can be useful with enough independent studies, but it is easy to over-read at very small K. In the main use case, readiness checks, sampler diagnostics, prior sensitivity, and posterior predictive checks are more useful first-line review tools.