data-analyst について
SQL、ダッシュボード、業務指標を扱うデータ分析担当者向けのビジネスインテリジェンススキルです。クエリ最適化、KPI定義、可視化、行動分析を通じて、データを意思決定に役立てます。
主な機能
- 01ダッシュボード設計とレポート
- 02複雑なSQLクエリの作成
- 03クエリのパフォーマンス最適化
- 04KPIの定義と標準化
- 05コホート、ファネル、継続率分析
活用シーン
- 01営業実績ダッシュボードの作成
- 02登録ファネルの離脱箇所の特定
- 03個別の業務課題への回答
- 04定期レポートの自動化
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill data-analystインストール後、Claude Code で/data-analystを入力して読み込まれたか確認します。
詳細
データアナリスト
目的
SQL、ダッシュボード設計、指標に基づくインサイトを専門とする、ビジネスインテリジェンスとデータ分析の専門知識を提供します。クエリの最適化、KPIの定義、説得力のあるビジュアライゼーションを通じて、生データを実行可能なビジネスインテリジェンスへと変換します。
使用する場面
- ダッシュボードの作成や最適化(Tableau、Power BI、Looker、Superset)
- データ抽出や分析のための複雑なSQLクエリの作成
- ビジネスKPI(Churn、ARR、MAU、Conversion)の定義と標準化
- 特定のビジネス上の質問に答えるためのアドホック分析
- ユーザー行動の分析(コホート、ファネル、リテンション)
- レポート作成ワークフローの自動化
主な機能
ビジネスインテリジェンス
- BIツールでのインタラクティブなダッシュボードの設計と構築
- 自動レポート作成パイプラインとデータ更新スケジュールの作成
- ビジネスユーザー向けセルフサービス分析機能の導入
- KPIフレームワークと指標の定義の策定
SQLとデータ抽出
- ウィンドウ関数、CTE、高度な結合を使った複雑なクエリの作成
- 大規模データセットに対するクエリパフォーマンスの最適化
- 再利用可能なビューとマテリアライズドテーブルの作成
- 複数のデータソースからのデータ抽出の実装
データビジュアライゼーション
- データストーリーに応じた適切なグラフ種類の選択
- 明快で直感的なダッシュボードレイアウトの設計
- 配色と視覚的な階層構造の実装
- データ探索用のインタラクティブなビジュアライゼーションの作成
ビジネスインサイト
- データ分析の結果を実行可能なビジネス上の提案に変換
- コホート分析、ファネル分析、リテンション分析の実施
- トレンド分析と予測の実施
- 技術的な知識を持たない関係者への分析結果の伝達
3. 主なワークフロー
ワークフロー 1:ダッシュボードの設計と実装
目標: 経営陣向けに「営業実績」ダッシュボードを作成します。
手順:
-
要件の収集
- 対象者: 営業担当副社長、地域マネージャー。
- 回答する質問: 「目標を達成できているか?」「どの地域が遅れているか?」「トップ営業担当者は誰か?」
- 主要指標: 総売上、ノルマ達成率、前年比成長率、パイプラインカバレッジ。
-
データの準備(SQL)
WITH sales_data AS ( SELECT r.region_name, s.sales_rep_name, DATE_TRUNC('month', o.order_date) as sales_month, SUM(o.amount) as revenue, COUNT(DISTINCT o.order_id) as deal_count FROM orders o JOIN sales_reps s ON o.rep_id = s.id JOIN regions r ON s.region_id = r.id WHERE o.status = 'closed_won' AND o.order_date >= DATE_TRUNC('year', CURRENT_DATE) GROUP BY 1, 2, 3 ), quotas AS ( SELECT sales_rep_name, month, quota_amount FROM sales_quotas WHERE year = EXTRACT(YEAR FROM CURRENT_DATE) ) SELECT s.*, q.quota_amount, (s.revenue / NULLIF(q.quota_amount, 0)) as attainment_pct FROM sales_data s LEFT JOIN quotas q ON s.sales_rep_name = q.sales_rep_name AND s.sales_month = q.month; -
ビジュアライゼーションの設計(概念)
- 上部(KPIカード): 総売上と目標、前年比成長率。
- トレンド(折れ線グラフ): 月次売上とノルマの推移。
- 内訳(棒グラフ): 地域別のノルマ達成率(降順)。
- 詳細(テーブル): 上位10名の営業担当者(売上、商談件数、成約率)。
-
実装とインタラクティブ機能
- 「地域」と「期間」のフィルターを追加します。
- 地域別の棒グラフから営業担当者の詳細リストにドリルスルーできるように設定します。
- 前月比の変化を表示するツールチップを追加します。
-
品質チェック
- 数値をソースシステム(CRM)と照合します。
- パフォーマンスを確認します(読み込み時間 < 5s)。
- フィルターの連動を検証します。
ワークフロー 3:ファネル分析(コンバージョン)
目標: 登録フローのボトルネックを特定します。
手順:
-
ステップを定義する
- ランディングページの表示
- 登録ボタンのクリック
- フォームの送信
- メールの確認
-
SQL 分析
SELECT COUNT(DISTINCT CASE WHEN step = 'landing_view' THEN user_session_id END) as step_1_landing, COUNT(DISTINCT CASE WHEN step = 'signup_click' THEN user_session_id END) as step_2_click, COUNT(DISTINCT CASE WHEN step = 'form_submit' THEN user_session_id END) as step_3_submit, COUNT(DISTINCT CASE WHEN step = 'email_confirm' THEN user_session_id END) as step_4_confirm FROM web_events WHERE event_date >= DATEADD('day', -30, CURRENT_DATE); -
コンバージョン率を計算する
- ステップ 1 から 2: (ステップ 2 / ステップ 1) * 100
- ステップ 2 から 3: (ステップ 3 / ステップ 2) * 100
- ステップ 3 から 4: (ステップ 4 / ステップ 3) * 100
- 全体: (ステップ 4 / ステップ 1) * 100
-
インサイトを生成する
- 「クリックから送信までの離脱率は 60% です。これは高い値です。フォームの使いにくさや入力検証エラーが原因の可能性があります。」
- 推奨事項: 「フォームの項目を簡素化するか、ソーシャルログインを追加してください。」
ワークフロー 5:埋め込み分析(製品への統合)
目標: ユーザーが確認できるよう、SaaS 製品内に「顧客の利用状況」ダッシュボードを埋め込みます。
手順:
-
ダッシュボードの作成(パラメーター化)
- BI ツール(例:Looker/Superset)でダッシュボードを作成します。
- グローバルパラメーター
customer_idを追加します。 - すべてのチャートにフィルターを適用します:
WHERE organization_id = {{ customer_id }}。
-
セキュリティ(行レベルセキュリティ)
- クライアントが
customer_idを変更できないようにします。 - バックエンドで生成した署名付き URL(JWT)を使用します。
- クライアントが
-
フロントエンド統合(React)
import { EmbedDashboard } from '@superset-ui/embedded-sdk'; useEffect(() => { EmbedDashboard({ id: "dashboard_uuid", supersetDomain: "https://superset.mycompany.com", mountPoint: document.getElementById("dashboard-container"), fetchGuestToken: () => fetchGuestTokenFromBackend(), dashboardUiConfig: { hideTitle: true, hideTab: true } }); }, []); -
パフォーマンスの調整
- BI サーバーでキャッシュを有効にします(TTL は 5~15 分)。
- 基盤となるデータには、事前集計済みのテーブルを使用します。
5. 避けるべきアンチパターンと注意点
❌ アンチパターン 1:円グラフの多用
具体例:
- 15 種類のカテゴリーを円グラフで表示する。
- 似た値(例:49% と 51%)を比較するために円グラフを使う。
問題点:
- 人間は角度や面積を正確に比較するのが苦手です。
- 小さなスライスは判読できなくなります。
- 傾向を把握できません。
適切な方法:
- 比較には棒グラフを使用します。
- 円グラフやドーナツグラフは、「全体に対する割合」だけを伝える場合に限り、2~4 個の明確に異なるカテゴリー(例:モバイルとデスクトップ)に限定します。
❌ アンチパターン 2:BI ツール内の複雑なロジック
具体例:
- Tableau/Power BI で、複雑な
IF/ELSEや文字列操作ロジックを含む 50 個以上の計算フィールドを作成する。 - SQL ではなく、BI ツールのレイヤー内で結合や集計を行う。
問題点:
- パフォーマンス: ロジックをオンザフライで計算するため、ダッシュボードの読み込みが遅くなります。
- 保守性: ロジックがツール内に隠れており、バージョン管理やデバッグが困難です。
- 再利用性: ほかのツールや分析担当者がロジックを再利用できません。
適切な方法:
- ロジックを上流のデータベース/SQL レイヤーに移します。
- 計算フィールドをすべて事前計算した、クリーンなビューまたはテーブル(
mart_sales)を作成します。 - BI ツールはデータを変換するのではなく、可視化するために使用します。
❌ アンチパターン 3:指標定義の不一致
どのような状態か:
- マーケティング部門では「リード」を「メールアドレスの取得」と定義しています。
- 営業部門では「リード」を「電話での適格性確認」と定義しています。
- ダッシュボードに相反する数値が表示されます。
なぜ問題なのか:
- データへの信頼が失われます。
- 数値の照合に時間がかかります。
適切な方法:
- データディクショナリ: 定義を明確に文書化します。
- 認定済みデータセット: 指標をコード内で一度だけ定義する、ガバナンスの整ったレイヤー(例:Looker Explores、dbt Models)を使用します。
7. 品質チェックリスト
ビジュアルデザイン:
- タイトルと説明: すべてのチャートに、何を示しているかを説明する明確なタイトルとサブタイトルがあります。
- コンテキスト: 数値にコンテキストが含まれています(例:「先月比の増加率」「目標との比較」)。
- 色: 色は意図的に使用されており(例:感情の表現には赤/緑、一貫したブランドカラー)、色覚多様性にも配慮されています。
- 視覚的な煩雑さ: 不要なグリッド線、枠線、背景を削除しています(データインク比)。
データの整合性:
- 検証: ダッシュボードの合計値がソースシステムの合計値と一致しています(抜き取り確認)。
- NULL の処理:
NULL値を明示的に処理しています(フィルタリングするか、「不明」と表示)。 - フィルター: 日付フィルターがすべてのチャートで正しく機能します。
- 重複: 結合ロジックを確認し、行の増殖(重複)がないことを確認しています。
パフォーマンス:
- 読み込み時間: ダッシュボードが 5 秒未満で読み込まれます。
- クエリコスト: SQL クエリが最適化されています(パーティションを使用し、select * を避けています)。
- 抽出データ: 静的な過去データには、ライブ接続ではなく抽出データ/インポートを使用します。
使いやすさ:
- ツールチップ: ホバー時のツールチップに役立つ補足情報が表示されます。
- モバイル: 必要に応じて、モバイル/タブレットでもダッシュボードを読みやすく表示できます。
- アクション: ダッシュボードが「それで何が言えるのか?」に答え、行動につながります。
コメント
Markdown 対応