---
description: Compare average of Target when Condition is YES vs NO
---

# Compare Groups (A/B Test)

> Usage: `/compare-groups <condition_col> <target_col> [days=90]`
> Example: `/compare-groups has_magnesium sleep 90`

1. Run Comparison
// turbo
```python
import sys
from health.analytics.engine import HealthAnalyst

# Default Args
condition = sys.argv[1] if len(sys.argv) > 1 else 'has_magnesium'
target = sys.argv[2] if len(sys.argv) > 2 else 'sleep'
days = int(sys.argv[3]) if len(sys.argv) > 3 else 90

print(f"⚖️ Comparing Groups: {condition} (YES vs NO) -> {target} over {days} days...")

try:
    analyst = HealthAnalyst()
    result = analyst.compare_groups(condition, target, days=days)
    
    if "error" in result:
        print(f"❌ Error: {result['error']}")
    else:
        diff_pct = result['difference_pct']
        verdict = result['verdict']
        
        print("\n=== Result ===")
        print(f"With {condition}: {result['avg_with_condition']:.2f} (n={result['sample_with']})")
        print(f"Without {condition}: {result['avg_without_condition']:.2f} (n={result['sample_without']})")
        print(f"Difference: {diff_pct:+.1f}%")
        print(f"Verdict: {condition} seems to make {target} *{verdict}*")
        
except Exception as e:
    print(f"❌ Failed: {e}")
```
