Skip to content

CLI: A/B Test

causal-toolkit ab_test --data DATA.csv --variant VAR --outcome OUT --control A --treatment B [OPTIONS]

Options

Option Short Required Description
--data -d Yes Input CSV
--variant -v Yes Variant column name
--outcome -y Yes Outcome column name
--control Yes Control variant value
--treatment Yes Treatment variant value
--method -m No frequentist, bayesian, sequential (default: frequentist)
--type No proportion, mean (default: proportion)
--alpha No Significance level (default: 0.05)
--out -o No Output directory (default: ./ab_test)

Examples

# Frequentist proportion test
causal-toolkit ab_test -d exp.csv -v group -y converted --control A --treatment B

# Bayesian with ROPE
causal-toolkit ab_test -d exp.csv -v group -y converted --control A --treatment B \
    --method bayesian --rope-width 0.01

# Sequential testing (SPRT)
causal-toolkit ab_test -d exp.csv -v group -y converted --control A --treatment B \
    --method sequential --mde 0.05

# Continuous outcome (t-test)
causal-toolkit ab_test -d exp.csv -v group -y revenue --control A --treatment B \
    --type mean

Output

{
  "variant_a": "A",
  "variant_b": "B",
  "method": "bayesian",
  "test_type": "proportion",
  "estimate_a": 0.125,
  "estimate_b": 0.142,
  "difference": 0.017,
  "relative_difference": 0.136,
  "p_value": 0.0234,
  "ci_lower": 0.002,
  "ci_upper": 0.032,
  "confidence_level": 0.95,
  "n_a": 10000,
  "n_b": 10000,
  "prob_b_better": 0.943,
  "rope_probability": 0.087,
  "expected_loss_a": 0.0012,
  "expected_loss_b": 0.0003
}