The Five-Revenues Problem

Why every team building its own KPI is the symptom the semantic layer cures.

0/1 done

Overview

Symptoms before solutions

Before reaching for a tool, recognise the disease. The five-revenues problem is the canonical anti-pattern:

  1. Finance pulls revenue from gl_journals net of refunds and VAT.
  2. Sales pulls it from crm_opportunities gross of refunds.
  3. Marketing pulls it from attribution_pipeline after channel allocation.
  4. Product pulls it from events.purchase excluding subscription renewals.
  5. The CEO pulls it from a board-deck spreadsheet that averages all four.

All five are correct under their own definition. None match. Every quarter someone spends a week reconciling them, discovers one of the five is also wrong, and ships a fix that breaks two dashboards downstream.

The fix is not 'agree on a number'

Meetings to 'pick the canonical number' fail because the next new dashboard re-forks the definition the moment it ships. The fix is structural: there is exactly one place where revenue is defined as code, and every consumer must go through it. That place is the semantic layer.

Five photocopies of one recipe

Five teams measuring revenue with their own SQL is five people in the same kitchen each baking the 'house bread' from a different photocopy of the recipe. Each loaf is delicious; none match. The fix isn't a tasting session — it is to throw out the photocopies, pin one master recipe to the wall, and require every baker to read from that one sheet. That sheet is the metric definition. The kitchen rule that you can only bake from the wall sheet is the semantic layer.

Reflect

Pick a single KPI in your company. Ask three different stakeholders to define it in writing without coordinating. If you get three different answers, you have just demonstrated the problem this track exists to fix.

  • Which KPI in your org would produce the most divergent answers if three stakeholders defined it independently?
  • What does it cost — in hours, trust, missed insights — to keep the divergence?

Reading in progress · 0 of 1 activity done