1. KGIとKPIとは?
KGI(Key Goal Indicator) は最終的に達成したいゴールの達成度を示す 結果指標。
KPI(Key Performance Indicator) はKGIの達成に向けて日々・週次で追う プロセス指標 です。
「KGI=何を達成したいか」「KPI=達成のために何をどれだけ進めるか」と覚えると分かりやすいです。
KGI(Key Goal Indicator)は最終的に到達したいゴール(例: 売上, MRR, 利益, NPS)。
KPI(Key Performance Indicator)はKGIに到達するための途中経過を測る主要指標(例: セッション, CVR, 継続率)。
KGIは Lagging(結果) 指標、KPIは Leading(先行) 指標になりやすい、という位置づけを意識します。
KGI: 月間売上
├─ トラフィック × CVR × 平均注文額
│ ├─ トラフィック = SEO + 広告 + 直打ち + 再訪
│ ├─ CVR = 商品訴求 × カート投入率 × 決済成功率
│ └─ 平均注文額 = セット率 × アップセル率
KGIとKPIの違いや関係性を理解することは、効果的な目標設定と達成に向けた戦略を立てる上で重要です。
KGI(Key Goal Indicator) は最終的に達成したいゴールの達成度を示す 結果指標。
KPI(Key Performance Indicator) はKGIの達成に向けて日々・週次で追う プロセス指標 です。
「KGI=何を達成したいか」「KPI=達成のために何をどれだけ進めるか」と覚えると分かりやすいです。
組織やプロジェクトの最終成果を数値化した指標。定量で測れることが前提です。
KGIを達成するための活動・プロセスの進捗を数値化する指標。短いサイクルで測定・改善します。
KPIはKGIを達成するための手段です。KGIが「年間売上10億円」の場合、下記のように分解してKPIを設計します。
年間売上 = 訪問者数 × 成約率 × 平均単価 ├─ 訪問者数:SEO流入 + 広告流入 + SNS流入 + 再訪 ├─ 成約率:商品訴求力 × UX改善 × 決済成功率 └─ 平均単価:セット率 × アップセル率
KPIは「測りやすい数」ではなく、「KGIに効く因果」を持つものを少数精鋭で。
| 要素 | 意味 | 設計ポイント |
|---|---|---|
| Specific | 具体的 | 誰が・何を・いつまでに・どの程度を明確化 |
| Measurable | 計測可能 | 数値で測れるか、データ源はどこか |
| Achievable | 達成可能 | 現実的で、合意可能な水準か |
| Relevant | 関連性 | KGIに直接つながるか、因果が説明できるか |
| Time-bound | 期限 | 日/週/月などレビュー頻度と締切があるか |
KGI達成までの要素分解をツリー図にすることで、改善優先度や担当を割り振りやすくなります。
-- 日次CVR(購入UU / 訪問UU) CREATE VIEW kpi_daily_cvr AS SELECT DATE(event_time) AS d, COUNT(DISTINCT CASE WHEN event_name='purchase' THEN user_id END) / NULLIF(COUNT(DISTINCT CASE WHEN event_name='session_start' THEN user_id END),0) AS cvr FROM events GROUP BY 1;
KGI=最終ゴール、KPI=ゴールへ向かうプロセス。SMARTとKPIツリーで設計し、少数精鋭の指標で運用しましょう。正しく設定・運用すれば、ゴール達成の確度と速度が上がります。
製品アップデートや計測仕様は頻繁に変わるため、ダッシュボード定義の変更履歴をチームで管理しましょう(例: GitでSQL定義をレビュー)。
※単純モデル:売上 ≒ UU × セッション/UU × CVR × ARPU
Web/Appの行動計測とファネル可視化。イベント駆動 & 探索レポート。
marketingplatform.google.com
ダッシュボード可視化。GA4やBigQuery連携でKPI監視。
lookerstudio.google.com
大規模ログのDWH。SQLで指標定義を一元管理。
cloud.google.com
プロダクト分析特化。行動コホートやリテンションKPIに強い。
amplitude.com
クエリ駆動の軽量BI。ダッシュボード共有に便利。
redash.io
オープンソースBI。非エンジニアでもKPIを質問形式で探索。
www.metabase.com
-- 例: 日次CVR(購入UU / 訪問UU)
CREATE VIEW kpi_daily_cvr AS
SELECT
DATE(event_time) AS d,
COUNT(DISTINCT CASE WHEN event_name = 'purchase' THEN user_id END)
/ NULLIF(COUNT(DISTINCT CASE WHEN event_name = 'session_start' THEN user_id END),0) AS cvr
FROM events
GROUP BY 1;