データの問題ではなく「言葉」の問題。定義を合わせることが先。
結論
「売上」の定義が違う問題は、セマンティックレイヤーで解決できる。
よくある問題
営業部の「売上」
売上 = 受注金額
「契約が決まった」時点で売上としてカウント。
経理部の「売上」
売上 = 入金確認済み金額
「お金が入った」時点で売上としてカウント。
結果
営業部「今月の売上は1億円です!」
経理部「いや、8,000万円ですよ」
同じ会議で、違う数字が飛び交う。
なぜ問題なのか
問題1:意思決定がブレる
どっちの数字を信じればいいか分からない。
問題2:議論が進まない
「その売上はどっちの定義?」から始まる非効率。
問題3:ダッシュボードが信用されない
「この数字、合ってるの?」と毎回聞かれる。
解決策:セマンティックレイヤー
セマンティックレイヤーとは
「言葉」と「データ」の対応表です。
売上:
- 売上(受注ベース): SUM(order_amount)
- 売上(入金ベース): SUM(payment_amount)
同じ「売上」でも、定義を明確に区別する。
dbt metricsでの実装
metrics:
- name: revenue_ordered
label: 売上(受注ベース)
type: sum
sql: order_amount
description: 受注時点の金額。営業部KPIで使用。
- name: revenue_collected
label: 売上(入金ベース)
type: sum
sql: payment_amount
description: 入金確認済みの金額。経理部KPIで使用。
導入のステップ
Step 1:現状の定義を洗い出す
各部署が使っている「売上」の定義を全部集める。
Step 2:名前を付ける
曖昧な「売上」ではなく、明確な名前を付ける。
- 売上(受注ベース)
- 売上(入金ベース)
- 売上(計上ベース)
Step 3:ツールに実装
dbtやBIツールで、定義を実装。
Step 4:ドキュメント化
「この数字はこういう意味」を全員が見られる場所に置く。
Before/After
Before
営業「売上1億です」
経理「8,000万です」
社長「どっちが正しいの?」
After
営業「売上(受注ベース)は1億です」
経理「売上(入金ベース)は8,000万です」
社長「どちらも正しいですね」
まとめ
データの問題ではなく「言葉」の問題。
定義を合わせることが、データ活用の第一歩です。