Skip to content

fideguch/pm_data_analysis

Repository files navigation

pm-data-analysis

Product Vision

JTBD: PM がデータ(CSV/JSON/画像)を渡すだけで、バイアス検出・信頼度スコア付きの分析レポートを得る

Field Definition
Target User データ分析を日常業務にしたい PM / テックリード
Core Value 自律ルーティング + 知識蓄積 — プロジェクト文脈を学習し、分析の質が回を重ねるごとに向上
Scope 6 Capability (聴取→取込→仮説→実行→洞察→再現), AARRR, バイアス7種, confidence scoring
Non-Goals ダッシュボード構築, PII処理, DB直接接続, リアルタイムストリーミング分析

Suite内の位置づけ: my_pm_tools → Sprint データ → **pm-data-analysis**。実行結果をデータに基づく意思決定に変換するレイヤー。


CSVを渡すだけで、GAFA水準の信頼度付き分析レポートを自動生成する Claude Code スキル。

特徴

  • 自律ルーティング: 固定フローなし。蓄積された知識とユーザーの入力から何をすべきか自動判断
  • プロジェクト知識の蓄積: analysis/ ディレクトリに事業コンテキスト・KPI・過去の分析結果を蓄積。2回目以降はヒアリング不要
  • 信頼度スコア: 全ての示唆に High/Medium/Low の信頼度を付与(4軸12点ルーブリックで定量化)。Low の場合は追加データを要求
  • バイアス自動検出: 7種のバイアスを結果提示前に自動チェック(詳細は下記)
  • GAFA品質の出力: エグゼクティブサマリー、So What / Now What、Guardrail Check、Limitations セクション
  • 再現性: 全分析にコード/クエリを自動保存。自然言語検索と差分比較付き再実行

使い方

データ分析して
この CSV を分析して
前回の分析の続き
A/Bテストの結果を検証して
過去の分析結果を検索
同じ分析を最新データで再実行

6つの Capability

Capability 内容 自動呼び出し条件
1. ヒアリング + コンテキスト構築 事業理解、KPI定義、メトリクスツリー、AARRR マッピング context.md が未作成の場合のみ
2. データ取り込み + 品質チェック CSV/画像/JSON/MCP からデータ取得、品質検証(6項目) データが添付された場合
3. 仮説生成 + 分析方針 分析計画、信頼度事前見積もり、ガードレール指標、因果推論判定 「何を分析すべきか」を探している場合
4. 分析実行 Python統計分析、SQL、バイアスチェック(7種)、分解プロトコル データと目的が揃った場合
5. 信頼度付き示唆 エグゼクティブサマリー、So What / Now What、Guardrail Check、Limitations 分析完了後、常に実行
6. 再現性 — 保存・検索・再実行 コード/クエリの自動保存、自然言語検索、差分比較付き再実行 分析完了後(自動)、または「前回の分析」「再実行」

自律ルーティング

固定フローを順番に実行しない。蓄積された知識とユーザーの入力に基づき、何をすべきかを自律的に判断する。

判定ルール

# 条件 アクション
1 analysis/context.md あり + 具体的リクエスト ヒアリングスキップ、即実行
2 analysis/context.md なし 初回ヒアリング実行 (Capability 1)
3 analysis/context.md が古い(鮮度閾値超過) 警告: "Context last updated [date]. Review before analysis?"
4 データ添付あり 品質チェック + 分析開始(目的不明なら1つだけ確認)
5 過去の分析が存在 参照: "Last time [X] showed [Y]. Continue or new analysis?"
6 低信頼度の示唆が過去にあり 自動提案: "We can improve [X] with additional data: [list]"
7 analysis/history/index.md に10件超 トレンド表示: "Most common type: [X]. Declining confidence in [Y]?"

コンテキスト鮮度閾値

Business Stage 警告閾値
Pre-PMF 7日
Growth 14日
Scale / Mature 30日

全分析の必須要件

分析出力の前に必ず以下を実行:

  • Decision Statement: "この分析はどの意思決定に使われるか?" — 回答なしでは分析を拒否
  • Bias Checklist: 結果提示前に自動実行(7種)
  • Confidence Score: 全ての示唆に High/Medium/Low を証拠付きで付与

リソースのオンデマンド読み込み

コンテキストウィンドウを節約するため、参照ファイルは必要時のみ読み込む:

ファイル 読み込みタイミング
references/statistical_tests.md 統計テストの選択・実行時のみ
references/analysis_patterns.md 分析パターンの適用時のみ
templates/context.md 初回 analysis/context.md 生成時のみ
templates/analysis_report.md 最終レポート生成時のみ

スキル起動時に全参照ファイルを事前読み込みしない。


対応データ形式

形式 方法
CSV / TSV Read ツールで読み込み + pandas で統計処理
JSON / JSONL 構造解析 + フラット化(5階層超のネストは不完全になる場合あり)
画像(ダッシュボードスクショ) マルチモーダル読み込み → 数値抽出(OCR精度に依存)
データベース DuckDB MCP(CSV に SQL)、BigQuery MCP
GA4 / Google Ads 対応 MCP 経由
手動入力 対話でヒアリング → 構造化

信頼度スコア(4軸12点ルーブリック)

全ての示唆に対し、4軸で定量評価:

High (3pt) Medium (2pt) Low (1pt)
統計的有意性 p < 0.01 p < 0.05 p >= 0.05 or 未検証
効果量 Cohen's d >= 0.5 0.2-0.5 < 0.2 or 不明
サンプルサイズ N >= 推奨値 N = 推奨の50-100% N < 推奨の50%
データ品質 欠損 < 5%, 問題なし 欠損 5-15% or 軽微な問題 欠損 > 15% or 重大な問題

合計: 10-12pt = High, 7-9pt = Medium, <= 6pt = Low

ステークホルダー向けの平易な表現:

  • High (10-12pt): 「この結論は信頼できます。複数のデータポイントが収束しています。」
  • Medium (7-9pt): 「方向性はおそらく正しいですが、規模は不確実です。」
  • Low (<=6pt): 「これは探索に値する仮説であり、行動の根拠にはなりません。」

記述的分析(統計テストなし)の場合: サンプルサイズ + データ品質の2軸のみ(最大6pt)で評価。


バイアス自動検出チェックリスト(7種)

全分析の結果提示前に自動実行:

# バイアス チェック内容
1 Simpson's Paradox 集約値がトップセグメント別でも成立するか
2 Survivorship Bias データセットから離脱/失敗ユーザーが除外されていないか
3 Regression to Mean 最近の極端な値がきっかけか(z > 2 → 警告)
4 Selection Bias サンプルが母集団を代表しているか
5 Novelty Effect A/Bテストで Week 1 と Week 2+ の効果が異なるか
6 Instrumentation Bias 最近のロギング/トラッキング/SDK変更があったか
7 Seasonality 同等の時期を比較しているか(平日 vs 平日など)

バイアス検出時: 出力に注記し、信頼度スコアを調整。


ガードレール指標(ビジネスモデル別デフォルト)

分析計画ごとにガードレール指標を定義。ユーザー未指定の場合はモデル別デフォルトを提案:

ビジネスモデル ガードレール 1 ガードレール 2
SaaS Churn rate NPS/CSAT
EC Cart abandonment rate Average order value
Marketplace Supplier churn Time to first transaction
Ads CTR CPC

分析パターンライブラリ

Capability 4 で使用可能な分析パターン(詳細は references/analysis_patterns.md):

パターン 概要
ファネル分析 ステージ別コンバージョン率、ドロップオフ可視化
コホート分析 リテンションテーブル、ヒートマップ、LTV予測
A/Bテスト検証 検出力分析、有意差検定、効果量、ノベルティチェック
セグメント比較 統計的差異検定、分布の可視化
成長会計 (Growth Accounting) New + Retained + Resurrected - Churned, Quick Ratio
分解プロトコル (Disaggregation) 異常検出時の再帰的ドリルダウン(セグメント→時間→プロダクト→地域)
トレンド分析 移動平均、STL分解、異常値検出

分解プロトコル

異常検出時(ベースラインから10%超の変化)に自動発動:

  1. セグメント別分割 → どのセグメントが変化を牽引?
  2. 時間別分割 → いつ変化が始まった?
  3. プロダクト/機能別分割 → どの領域が影響?
  4. 地域/プラットフォーム別分割 → ローカルかグローバルか? → 根本原因が特定されるまで再帰的に継続

因果推論デシジョンツリー

因果関係の主張が必要な場合の判定フロー:

ランダム化可能?
  → Yes: A/Bテスト(ゴールドスタンダード)
  → No: 明確な閾値/カットオフあり?
    → Yes: 回帰不連続デザイン (RDD)
    → No: 前後 + 処置/対照あり?
      → Yes: 差分の差分法 (DID)
      → No: 比較可能なグループあり?
        → Yes: 傾向スコアマッチング
        → No: 相関のみとして報告。信頼度を格下げ。

4段階分析成熟度

各示唆にレベルを付与:

レベル 意味 質問
Descriptive 何が起きたか What happened?
Diagnostic なぜ起きたか Why did it happen?
Predictive 何が起きるか What will happen?
Prescriptive どうすべきか What should we do?

知識蓄積の仕組み

analysis/ ディレクトリ構造

analysis/
├── context.md              ← 事業コンテキスト(初回生成、以降自動更新)
├── kpi_definitions.md      ← KPI定義 + メトリクスツリー + AARRR
├── data_catalog.md         ← 利用可能データソース一覧
└── history/                ← 過去の分析レポート(再現コード付き)
    ├── index.md            ← 検索可能なインデックス(自動更新)
    └── YYYY-MM-DD_type.md  ← 各レポート + Reproduction セクション

context.md の主要セクション

テンプレートは templates/context.md:

  • Business: model, stage, industry, revenue
  • Product: name, users, core value
  • KPIs: north star, primary, secondary(input/output 分類付き)
  • Tenets: 指標が競合する場合の優先順位(例: "retention > activation")
  • Data Sources: 接続済み MCP, CSV エクスポート元
  • Analysis History: 過去分析の1行サマリー(信頼度付き)
  • Experimentation Velocity: 月次の分析数、実験数、勝率

自動更新ルール

分析セッション完了後、自動的に:

  • analysis/history/ に日付付きレポートを追記
  • context.md の Analysis History に1行サマリーを追加
  • 新規発見のデータソースを data_catalog.md に追加
  • 新データ分析時に KPI 値を更新
  • Experimentation Velocity カウンターをインクリメント

知識蓄積による効率化

回数 ヒアリング 使える情報
1回目 フル(5-10分) ゼロから
2回目 差分のみ(1-2分) 前回コンテキスト + 過去結果
3回目以降 ほぼゼロ 全蓄積知識を活用

再現性 (Capability 6)

自動保存

全分析で ## Reproduction セクションを自動生成:

  • Environment: Python バージョン、ライブラリバージョン
  • Code: コピペで再実行可能な完全なコード
  • SQL Queries: 使用した SQL クエリ
  • Parameters: 使用パラメータと根拠
  • Re-run Instructions: データ準備から実行までの手順

history/index.md(自動管理)

| Date       | Type    | Decision           | Key Finding              | Confidence | Tags                |
| ---------- | ------- | ------------------ | ------------------------ | ---------- | ------------------- |
| 2026-03-15 | cohort  | Retention strategy | D30 retention -8% mobile | High       | retention, mobile   |
| 2026-03-20 | ab_test | Ship feature X?    | +12% activation          | High       | ab_test, activation |

自然言語検索

「前回リテンションの分析あった?」「activation に関する過去の結果」などの自然言語クエリで過去分析を検索。index.md の Type, Decision, Key Finding, Tags カラムに対してマッチング。

差分比較付き再実行

「同じ分析を最新データで」の場合:

  1. 過去レポートの Reproduction セクションを読み込み
  2. データ可用性を確認(同一データ / 更新データ / データ不在)
  3. 差分を表示: "Original: [X]. Current: [Y]. Delta: [Z]"
  4. 有意な変化を検出した場合 → 分解プロトコルを自動発動

GAFA品質の分析要素

企業 取り入れた要素
Google 4段階分析成熟度(記述→診断→予測→処方)、因果推論デシジョンツリー
Meta AARRRライフサイクル、メトリクスツリー、成長会計、行動コホート
Amazon 意思決定文の強制、テネッツ、インプット/アウトプット指標、分解プロトコル
Apple エグゼクティブサマリー、平易な信頼度表現、チャート選択ガイド

信頼度事前見積もり (Capability 3)

分析実行前に達成可能な信頼度を推定:

ファクター 評価
サンプルサイズ Sufficient / Marginal / Insufficient
時間期間 Sufficient / Marginal / Insufficient
交絡因子 Controllable / Partial / Difficult
データ品質 Good / Acceptable / Problematic
因果関係 Possible / Correlation only / Unknown

Low の場合: 「信頼できる結論は困難です。追加データが必要: [list]」 → ユーザーに確認。


エラーハンドリング(8つの障害モード)

障害 検出方法 復旧手順
CSV パースエラー 不正行、エンコーディング問題 UTF-8/Shift-JIS 自動検出、最初のエラー行を表示、修正依頼
サンプルサイズ不足 N < 30 警告 + 集約または長期間データの提案
MCP 接続失敗 タイムアウトまたは認証エラー CSV エクスポートにフォールバック、最後の成功クエリをキャッシュ
コンテキスト陳腐化 context.md > 鮮度閾値 ユーザーに更新を促す + 前回からの変更点を表示
指標の競合 North star 改善だがガードレール悪化 競合をフラグ + テネッツに基づくトレードオフ分析
KPI 定義不在 kpi_definitions.md なし context.md のビジネスモデルからデフォルトを生成
画像抽出エラー OCR/視覚的解釈が不確実 ユーザーに抽出値の確認を依頼 + 不確実性を注記
大規模ファイルタイムアウト CSV 10万行超 サンプリング戦略またはチャンク分析を推奨

エラーメッセージ形式

全エラーに3つの要素を含める:

  1. 何が起きたか: 障害の明確な説明
  2. なぜ重要か: 分析と信頼度への影響
  3. 次に何をすべきか: ユーザーが実行可能な具体的な復旧手順

スキル委任

特定の分析タイプは専門スキルに委任:

分析タイプ 委任先スキル 方法
ファネル詳細分析 funnel-analysis パターンを内部適用
A/Bテスト設計 cro-methodology ICE スコアリング + テストパターン
SaaS 指標 pm-saas-revenue-growth-metrics 計算式 + ベンチマーク
ビジネス健全性 pm-business-health-diagnostic 4次元診断
市場規模算定 pm-tam-sam-som-calculator TAM/SAM/SOM 計算

既知の制限事項

データ形式の制約

  • CSV: UTF-8/Shift_JIS 自動検出。10万行超は処理時間が増加(推奨: サンプリングまたは分割)
  • 画像: グラフ/チャート画像は視覚的解釈のみ(OCR 精度に依存、数値の正確性は保証しない)
  • JSON: ネストが5階層を超える場合、フラット化が不完全になる場合あり
  • Excel: .xlsx は直接パース不可。CSV エクスポートが必要

統計分析の注意事項

  • サンプルサイズ < 30 の場合、統計的有意性テストの信頼性が低下
  • バイアス検出は既知パターン(7種)のみ対応
  • 因果推論は相関分析に基づく示唆のみ提供(実験デザインの代替にはならない)
  • 時系列予測は過去パターンの外挿であり、構造変化には対応不可

信頼度スコアの制約

  • スコアは4軸12点マトリクスで算出(主観的要素を含む)
  • 異なるセッション間でのスコア比較は非推奨(コンテキストが異なるため)

知識蓄積の制約

  • analysis/context.md はプロジェクト単位。複数プロジェクト間の知識共有は非対応
  • 知識の自動期限切れなし(古い知識が誤解を招く可能性あり。定期的な見直しを推奨)
  • MCP データソースの可用性はプロジェクト設定に依存

非対応シナリオ

  • リアルタイムストリーミングデータの分析
  • 機械学習モデルのトレーニングと推論
  • データベースへの直接接続(CSV/JSON エクスポートが必要)
  • PII(個人識別情報)を含むデータの匿名化処理

Prerequisites

  • Claude Code CLI
  • Python 3.11+
pip install pandas scipy statsmodels matplotlib seaborn

Optional (MCP connections)

  • DuckDB MCP — CSV に直接 SQL を実行
  • GA4 MCP — Google Analytics 4 データ取得
  • BigQuery MCP — 大規模データ分析

Installation

# Clone and symlink
git clone git@github.com:fideguch/pm_data_analysis.git ~/pm_data_analysis
ln -s ~/pm_data_analysis ~/.claude/skills/pm-data-analysis

# Verify
ls ~/.claude/skills/pm-data-analysis/SKILL.md

Setup time: ~5 min

When to Use

  • CSV/スプレッドシートのデータを統計的に分析したい
  • A/Bテストの結果を検証したい(有意差あるのか?)
  • KPIの異常値の原因を特定したい
  • 仮説を立ててからデータで検証したい
  • 過去の分析を検索・再実行したい

When NOT to Use

  • 広告データの分析 → pm-ad-analysis を使用
  • ファネル分析の詳細 → funnel-analysis を使用
  • ダッシュボードの構築 → BIツールを使用
  • PII を含むデータの匿名化処理
  • リアルタイムストリーミングデータの分析

PM Tool Suite

このスキルは5つのPMツールスイートの一部です:

requirements_designer → speckit-bridge → my_pm_tools
                              ↕
                  ▶ pm-data-analysis ◀ ← pm_ad_analysis

License

MIT

About

CSV・JSON・画像データを自律ルーティングで分析し、信頼度スコア付きインサイトを生成するClaude Codeスキル / Claude Code skill for autonomous data analysis with confidence-scored insights from CSV, JSON, and image sources

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors