abtesting-stats について
abtesting-statsは、統計検定とベイズ手法でA/Bテストの結果を分析します。十分なサンプル数がある数値データを対象とし、CLIとAPIの両方で利用できます。
主な機能
- 01t検定とカイ二乗検定の実行
- 02Mann-Whitney U検定の実行
- 03p値と信頼区間の計算
- 04多重比較の補正
- 05ベイズA/Bテストの実行
- 06CSV、JSON、メモリ内データの読み込み
活用シーン
- 01広告バリエーション間の売上比較
- 02メール施策のコンバージョン率評価
- 03データワークフローでの実験結果検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill abtesting-statsインストール後、Claude Code で/abtesting-statsを入力して読み込まれたか確認します。
詳細
abtesting-stats
目的
このスキルは、t 検定、カイ二乗検定、マン・ホイットニーの U 検定、p 値の計算、信頼区間(CI)、ボンフェローニ法や Benjamini-Hochberg(BH)法などの多重検定補正、ベイズ A/B テスト手法など、A/B テストの統計分析を実行します。
使用する場面
Web サイトのバリエーションなど、実験における 2 つのグループを比較し、統計的有意性を判断する場合にこのスキルを使用します。データサイエンスのワークフローでの仮説検定、A/B テスト結果の検証、ユーザー行動指標の分析に適用できます。データが数値でない場合や、サンプルサイズが小さすぎる場合(1 グループあたり 10 未満)は使用しないでください。
主な機能
- 正規分布に従うデータに対して t 検定を実施します。
- カテゴリカルデータに対してカイ二乗検定を実施します。
- ノンパラメトリックな比較にマン・ホイットニーの U 検定を実行します。
- 効果量の p 値と 95% CI を計算します。
- 多重比較に対するボンフェローニ法や、FDR 制御に対する BH 法などの補正を適用します。
- 一様分布やベータ分布などの事前分布を使用して、ベイズ A/B テストを実行します。
- CSV、JSON、またはメモリ内配列の入力データを処理します。
使用パターン
簡単に実行するには CLI 経由で呼び出し、スクリプト化されたワークフローには API 経由で統合します。データソースを必ず指定し、検定の種類を明示してください。複雑なパラメーターには JSON 設定ファイルを使用します。たとえば、データを CLI に直接パイプするか、一括処理のためにループ内で API エンドポイントを呼び出します。使用前にデータを前処理してクリーンアップします(例:NaN を削除)。
一般的なコマンド/API
OpenClaw CLI の abtesting-stats サブコマンドを使用します。認証には、環境変数として $OPENCLAW_API_KEY を設定する必要があります。
-
t 検定の CLI コマンド:
openclaw abtesting-stats run --test t-test --data-path data.csv --groups groupA groupB --alpha 0.05
2 標本 t 検定を計算し、p 値と CI を出力します。 -
カイ二乗検定の API エンドポイント:
JSON 本文を指定して/api/abtesting/statsに POST します:{ "test": "chi-squared", "data": {"category1": [10, 20], "category2": [15, 25]}, "alpha": 0.01 }レスポンスには p 値と期待度数が含まれます。
-
マン・ホイットニー検定の CLI:
openclaw abtesting-stats run --test mann-whitney --file input.json --key metric --significance 0.01
各グループの配列を含む JSON が必要です。 -
ベイズ A/B テストの API:
次の内容を指定して/api/abtesting/bayesianに POST します:{ "test": "bayesian", "conversions": [50, 60], "trials": [1000, 1000], "prior": "beta" }事後確率と信用区間を返します。
設定形式は JSON です。たとえば、config.json として保存します:
{
"test": "bonferroni",
"p_values": [0.01, 0.02, 0.05]
}
続いて、次を実行します:openclaw abtesting-stats apply-config config.json。
統合に関する注意
すべての API 呼び出しで $OPENCLAW_API_KEY を設定して統合します。Python スクリプトでは、OpenClaw SDK を使用します:
import openclaw
client = openclaw.Client(api_key=os.environ['OPENCLAW_API_KEY'])
response = client.post('/api/abtesting/stats', json={'test': 't-test', 'data': [...]})
非同期レスポンスは、レスポンス内に 'job_id' があるか確認し、/api/jobs/{job_id} をポーリングして処理します。前処理には、CSV を読み込んで JSON 形式にするなど、Pandas のようなデータツールを組み合わせます。リクエストをまとめて送信し(最大 10 件/秒)、レート制限を回避します。
エラー処理
入力を事前に検証し、無効なデータ形式(例:数値以外の入力)など、よくあるエラーを確認します。API が 401 を返す場合は、$OPENCLAW_API_KEY が設定され、有効であることを確認します。CLI の場合は、標準出力から解析エラーを確認します(例:「Error: Insufficient samples」)。コードでは try-except を使用します:
try:
result = client.post(...)
except openclaw.AuthError:
print("Authentication failed; check $OPENCLAW_API_KEY")
デバッグには、CLI の --verbose フラグ(例:openclaw abtesting-stats run --verbose ...)を使用して詳細なエラーを記録します。一時的なエラー(例:503)が発生した場合は、指数バックオフを使用して最大 3 回再試行します。
具体的な使用例
-
売上データに対する t 検定:2 つの広告バリエーション間で平均売上を比較するには、次を実行します:
openclaw abtesting-stats run --test t-test --data-path sales.csv --groups variantA variantB
sales.csv に group、sales の列があるとします。次の結果が出力されます:p-value=0.03、CI=[5.2, 10.4]。これは有意差があることを示します。 -
クリック率に対するベイズ A/B テスト:メールキャンペーンをテストするには、API を使用します:
次の内容を指定して/api/abtesting/bayesianに POST します:{ "conversions": [120, 150], "trials": [1000, 1000] }これにより、バリエーション B のほうが優れている確率が 90% であることが示され、p 値を使わずに判断できます。
グラフの関係
- 関連:abtesting-experiment(このスキル用のデータ設定を提供します)
- 関連:stats-visualization(プロットに信頼区間などの出力を使用します)
- 接続:abtesting cluster(共通のA/Bテストユーティリティを共有します)