BiMA·gov

The real cost of model drift: a 2026 retrospective

2026-04-15 · BiMA·gov team

In Q1 2026 we ran an informal survey of 40 BI teams (sizes 2–18 devs).

One of the questions was: **"When was the last time your prod semantic

model drifted from dev, and how long did it take to reconcile?"**

What we got back, summarised without the spreadsheet drama:

The numbers

  • 35 of 40 teams had at least one drift incident in the last

6 months.

  • Median engineering time to reconcile per incident: 6 hours.
  • Worst outlier: 3 engineer-days, attributed to a mid-quarter

re-org during which nobody owned the model.

  • Most common root cause: direct hot-fix to prod that was never

back-ported. (47% of incidents.)

  • Second most common: dev branch "rebuilt from scratch" after a

PBIX corruption and diverged subtly from prod. (23%.)

  • Third: third-party dashboard vendor (mostly agency work)

applied a "quick change" to prod on request. (14%.)

The pattern we kept seeing

Drift is never noticed on the day it happens. It's always discovered

two to four weeks later, usually when a dashboard starts showing

numbers that don't match another dashboard. By then, the original

"quick fix" author has forgotten the context, and whoever is reconciling

has to reverse-engineer intent from two diverging TMDL files.

That reverse-engineering is the actual cost. The diff tool is trivial.

Asking "why is this different, and which one is correct?" is not.

What the best teams did differently

Two teams in the 40 reported zero drift incidents. Both had the

same two practices:

  1. Scheduled PBIP-to-PBIP drift scans running on a cadence
  2. (daily or weekly).

    1. **A policy that prod is a deployment target, not an editable
    2. environment.** Hot-fixes go through dev → review → apply like any

      other change.

      Everybody else relied on "people will remember to back-port." Which

      they don't, because it's Friday and the thing is on fire.

      What we'd recommend

      If you have prod drift:

      1. Run a drift scan, today. Even a manual one. You need to know the
      2. current-state diff before you can write a reconciliation plan.

        1. Write down each line of drift and assign an owner. No "we'll get to
        2. it later." Each line is a change request someone has to approve.

          1. Promote dev to prod as a single operation. Not 30 tweaks over a
          2. week. One reviewed, auditable, reversible apply.

            1. Automate the next drift scan. A human will not remember.
            2. BiMA·gov's drift module does this by default — scans on a schedule, emits

              a re-sync CR for each delta, requires review before apply. That's not

              why you'd hire BiMA·gov, but it's why teams who use BiMA·gov don't appear on

              the 35-of-40 side of next year's survey.

              Methodology notes

              Survey was unscientific. 40 teams, opt-in, recruited from r/PowerBI,

              r/MicrosoftFabric, and direct customer interviews. Median team size

              was 5 BI developers. Results are directional, not representative.

              We'll re-run it at 4x the sample size in Q3 2026 and publish then.

              If you want to be in the next survey cohort, email

              [email protected] with

              "drift survey 2026-Q3" in the subject line.


Try BiMA·gov free — the CLI and web UI are always free for solo use.

Try free