mcpField
A
abtesting-stats

abtesting-stats

github.com/alphaonedevデータ・データベース45 回インストール
リポジトリ

abtesting-stats について

abtesting-statsは、統計検定とベイズ手法でA/Bテストの結果を分析します。十分なサンプル数がある数値データを対象とし、CLIとAPIの両方で利用できます。

主な機能

  1. 01t検定とカイ二乗検定の実行
  2. 02Mann-Whitney U検定の実行
  3. 03p値と信頼区間の計算
  4. 04多重比較の補正
  5. 05ベイズA/Bテストの実行
  6. 06CSV、JSON、メモリ内データの読み込み

活用シーン

  1. 01広告バリエーション間の売上比較
  2. 02メール施策のコンバージョン率評価
  3. 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 回再試行します。

具体的な使用例

  1. 売上データに対する 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]。これは有意差があることを示します。

  2. クリック率に対するベイズ A/B テスト:メールキャンペーンをテストするには、API を使用します:
    次の内容を指定して /api/abtesting/bayesian に POST します:

    {  
      "conversions": [120, 150],  
      "trials": [1000, 1000]  
    }  
    

    これにより、バリエーション B のほうが優れている確率が 90% であることが示され、p 値を使わずに判断できます。

グラフの関係

  • 関連:abtesting-experiment(このスキル用のデータ設定を提供します)
  • 関連:stats-visualization(プロットに信頼区間などの出力を使用します)
  • 接続:abtesting cluster(共通のA/Bテストユーティリティを共有します)

コメント