データの問題ではなく「言葉」の問題。定義を合わせることが先。

結論

「売上」の定義が違う問題は、セマンティックレイヤーで解決できる。

よくある問題

営業部の「売上」

売上 = 受注金額

「契約が決まった」時点で売上としてカウント。

経理部の「売上」

売上 = 入金確認済み金額

「お金が入った」時点で売上としてカウント。

結果

営業部「今月の売上は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万です」
社長「どちらも正しいですね」

まとめ

データの問題ではなく「言葉」の問題。

定義を合わせることが、データ活用の第一歩です。