English

BA Metrics: Time-to-Insight, Decision Impact, Stakeholder NPS

Most BAs can't answer "what did your work change last quarter?" without hand-waving. They reach for the ticket count. Forty-seven dashboards shipped. Twelve hundred queries run. The numbers sound like work, but nobody in the room thinks they're answers, including the BA saying them. The head of analytics is nodding politely. The VP of data is checking Slack. You can feel the seat getting smaller.

This is the part of the Business Analyst job nobody trains you on. You spend three years learning SQL, dashboard design, stakeholder interviews, and zero hours on how to measure your own work. Then a downturn comes, the CFO asks the VP of data which roles are load-bearing, and "we're busy" turns into "we're cut."

Below is the measurement system I'd hand a BA IC reporting up to a head of analytics or VP data, the week before their next QBR. Five metrics, real target ranges, and the diagnostics that turn a defensive slide into an offensive one. None of these are vanity. All of them are pullable next week.

Why Most BAs Don't Measure Their Own Work

Three real reasons, in order of how often I hear them.

The team is the instrument. A BA's output is judgment applied to data. Measuring it feels recursive, like asking a thermometer how warm it is. So nobody does it, and the thermometer gets quietly removed from the wall.

Leadership never asked. Finance gets measured because the CFO measures finance. Sales gets measured because the comp plan does it for free. Analytics gets measured by whoever shows up with a measurement system, and historically that's been nobody. The default state is no metric, which is also the default path to "we don't really know what they do."

Every metric feels gameable. Time-to-insight? I'll just push back the start timestamp. Dashboard usage? I'll send the link in three Slack channels. NPS? I'll only survey the people who like me. All true. All also true of every metric in every other function. Sales reps sandbag forecasts. Marketers cherry-pick attribution. The answer isn't "no metrics," it's "metrics + a culture that doesn't reward gaming."

The dodge underneath all three is "we're busy" as the de facto KPI. Busy is what dies first in a budget review. Busy is the metric of teams that don't have one.

The Five Metrics

Pick these because they triangulate. Speed (time-to-insight), quality (decision impact), reach (dashboard usage), relationship (stakeholder NPS), and operational health (backlog age). Drop any one of them and someone can argue you're optimizing for the wrong thing. Together they're hard to game without obviously gaming them.

1. Time-to-Insight

Median elapsed time from a request being opened to the answer being in the stakeholder's hands. Not "delivered to staging." Not "PR merged." In their hands, with the read receipt or the Slack message or the dashboard link clicked.

Target range. Median under 4 business days for standard asks. Median under 1 business day for tier-1 exec asks (CEO, CFO, head of product). If your median is 9 days, your stakeholders have already routed around you to whichever ops person makes Sheets faster.

How to instrument. Two timestamps in Jira or Linear: ticket created, ticket marked "delivered to stakeholder." That's it. Don't try to measure "ticket closed" because tickets close on a Tuesday cleanup, not when the work landed. If you don't have a request system at all, that's metric zero. Go set one up before reading further.

Failure mode. Reps and managers will start "delivering" tickets that aren't actually done so the timestamp looks good. Counter-move: tie this metric to stakeholder NPS, because a fake delivery shows up in the NPS comments within a quarter.

2. Decision Impact

Percentage of delivered analyses that a stakeholder can name a decision against, 30 days later. This is the metric most BAs flinch at, because it's the one that exposes how much of the work was theater.

Target range. 60% or better. The first time you run it, you'll come in around 25-40%. That's normal. It's also the most important number on the slide, because the gap between what you ship and what gets used is where your seat lives.

How to instrument. Quarterly, take a sample of 20-30 delivered analyses from the last 90 days. For each, ping the stakeholder with a 3-question audit:

  1. Do you remember this analysis? (yes / no)
  2. If yes, did it change something you did, kill an option you were considering, or confirm a bet you wanted to make? (changed / killed / confirmed / none)
  3. If "none," was it useful anyway, or noise? (useful / noise)

Score: count "changed," "killed," and "confirmed" as decision-impact wins. "Useful" is a soft win. "None / noise" and "don't remember" are losses. Divide wins by total to get the percentage.

Failure mode. You'll only audit your favorite stakeholders. Counter-move: the audit list comes from the request system, not from your gut. Random sample, even if it stings.

3. Dashboard Usage

Weekly active viewers divided by total provisioned viewers, per dashboard. Provisioned means "people you gave the link to" or "people in the entitled group." Active means "loaded the dashboard at least once in the last 7 days."

Target range. 40% or better for any dashboard you'd call "core." Under 10% for 60 consecutive days, the dashboard gets archived. No exceptions, including the one your VP commissioned and forgot about.

How to instrument. Most BI tools (Looker, Tableau, Metabase, Mode, Hex) expose this in their admin panel or via an audit log. If yours doesn't, log dashboard loads to a usage table yourself with a server-side hit. A Saturday afternoon of work, max.

Failure mode. "Provisioned" creep. You give 200 people access to a dashboard 6 used and your denominator destroys the ratio. Counter-move: define "provisioned" as the entitled group at dashboard creation time, not whoever inherited access through a SSO group later. And run a quarterly access cleanup.

4. Stakeholder NPS

A 1-question survey to the 8-15 humans you actually serve, run quarterly: "How likely are you to recommend working with the analytics team to a peer, on a scale of 0-10?" Plus one open-ended follow-up: "What's the one thing we should change?"

Target range. +30 or better (NPS = % promoters minus % detractors, where 9-10 is a promoter, 0-6 is a detractor, 7-8 is passive). Under 0 means your stakeholders would rather use Sheets. Above +50 means you're either great or surveying only your friends.

How to instrument. Google Form, Typeform, whatever. Send it on the first Monday of the new quarter, close it Friday. Read every open-ended comment yourself. Don't delegate the read to your manager. The comments are the actual data, and they don't translate.

The first time I ran a stakeholder NPS I scored a +12 and it stung. One PM had written "fast but I don't trust the numbers." That comment changed how I built reconciliation checks for a year. The score was less useful than the sentence underneath it, which is the rule with NPS.

Failure mode. Sample bias. You only survey people you ship to weekly, and miss the exec who hasn't asked for anything in 90 days because she gave up on you. Counter-move: the sample is "people who have an open or closed request in the last 6 months," not "people I ship to." If a stakeholder has gone quiet, that's information, and the survey is how you find out.

5. Ad-Hoc Backlog Age

Median age of currently-open ad-hoc requests, in business days.

Target range. Under 14 days. Anything over 45 days is a death-by-a-thousand-cuts signal. Those tickets aren't getting done, but they're not getting closed either, and every stakeholder with one in there is quietly losing trust in the team.

How to instrument. A view in Jira or Linear filtering on status != closed and content type = ad-hoc. Sort by age. Pull the median weekly.

Failure mode. Mass-closing stale tickets the day before the metric snapshot. Counter-move: track "tickets aged >45 days, closed without delivery" as a side metric. If it spikes, you're cleaning the closet, not the work.

The "High Usage but Low Decision Impact" Diagnostic

Now the metrics start working together. A dashboard with 200 weekly active viewers and zero named decisions in the impact audit isn't a successful dashboard. It's wallpaper. Pretty wallpaper. Expensive wallpaper. Still wallpaper.

The diagnostic looks like this. Three signals, all required:

  1. Dashboard usage is high (>40% weekly active).
  2. Decision impact for analyses tied to that dashboard is low (<20% of the audit sample names a decision).
  3. The business KPI it's tracking is flat or moving in the wrong direction.

When all three are true, you've built a status-check artifact, not a decision-support artifact. People look at it the way people look at a weather app, to feel informed rather than to act. The board KPI is flat, the dashboard is busy, nothing changes.

Three moves to fix it, in order of how aggressive you want to be:

  • Kill the dashboard, replace with a monthly memo. A 1-page memo forces interpretation. A dashboard lets people decide it means whatever they hoped it meant.
  • Instrument a decision question into the dashboard itself. Top of the page: "If this metric drops below X this week, we will Y." Suddenly the dashboard has teeth, and someone owns the Y.
  • Move it from a dashboard to a Slack alert. Static dashboards are pull. Alerts are push. Push only fires when something needs a decision, which is the only time looking at the data matters.

The diagnostic also runs in reverse. Low usage + high decision impact = a dashboard one or two execs use to make real calls. Don't kill that one. Even if the usage ratio is 4%, those 4 people are the entire reason the dashboard exists.

The QBR Slide Pattern

One slide. Five numbers, last quarter vs this quarter, plus three named decisions analytics moved. No vanity charts. No Sankeys. No "data maturity journey" diagrams. The exec audience has 90 seconds of attention for your function and you're going to spend 60 of them on a chart of how SQL queries grew, which is unrecoverable.

Here's the format I run. Title at the top: "Analytics Q[N] Outcomes."

Metric Q[N-1] Q[N] Target Trend
Median time-to-insight (standard asks) 6.2 days 3.8 days <4 days
Decision impact (% with named decision at 30d) 41% 58% 60%
Core dashboard usage (median WAV%) 28% 44% 40%
Stakeholder NPS +18 +34 +30
Ad-hoc backlog age (median days) 22 11 <14

Below the table, three bullets. Heading: "Decisions analytics moved this quarter."

  • "Killed the EU expansion bet (Apr 14). Pricing-tier analysis showed sub-€2M TAM at our current ICP."
  • "Re-pointed the SDR territory model (Mar 3). Coverage analysis surfaced 31% wasted capacity in TX/CA."
  • "Approved the support self-serve build (Mar 22). Ticket-deflection sim projected 18% savings, 8mo payback."

Date, the call, the analysis. That's the slide. The entire slide. The CFO can read it in 20 seconds, the VP of data has a defense she can quote upward, and the BA team has a bar they're going to clear next quarter or have a hard conversation about why not.

What's not on the slide: dashboard count, query volume, "lines of SQL written," tickets closed, #data-help Slack reactions, hours of training delivered, dbt models added, schema redesigns shipped. Every one of those is a vanity metric.

Vanity-Metric Traps

Each of these gets pitched as a metric somewhere. Each one rewards the wrong behavior.

Dashboard count. Correlates with sprawl, not value. A team that ships 80 dashboards a year almost always has a usage problem on 60 of them. If the metric goes up, the work goes down.

Query volume. Correlates with inefficiency. A BA running 1,200 queries this month is either bad at SQL or didn't materialize a model that should've been materialized. Volume up means cost up, not insight up.

Lines of SQL. Inverse correlation with skill. The senior BA writes 40-line queries that the junior writes as 400 lines. Rewarding line count is rewarding the junior.

Tickets closed. Two failure modes. One, you close stale tickets to inflate the number. Two, you bias toward easy tickets because they close faster, which means the hard requests rot in the backlog.

Slack reactions on #data-help. Selection bias to the extreme. You only get reactions on the answers people are already excited about, which biases your sample toward popular work, which is the opposite of impact.

The pattern across all five: each one measures activity. None of them measure outcome. The five real metrics measure outcome, which is why they're harder, slower, and the only ones that survive a budget review.

What to Do This Month

Don't roll all five at once. You'll game them, your stakeholders will distrust the rollout, and the QBR slide won't have enough quarters of trend data to mean anything.

Instead, pick two:

  1. Time-to-insight. Cheapest to instrument (two timestamps), highest signal in the first 30 days, hardest to argue with.
  2. Stakeholder NPS. One email, 8-15 humans, qualitative comments that change how you work for a year. The +12 sting is worth more than 18 months of dashboard counts.

Run those two for a quarter. At the end of that quarter, add decision impact (the audit takes ~3 hours of stakeholder time, plan for it). The next quarter, layer in dashboard usage. The one after that, ad-hoc backlog age. By the end of two quarters you've got a working measurement system, three QBR slides of trend data, and a defensible answer to "what did your work change."

The throughline is this. If you don't pick the metric, somebody else will, and they'll pick "headcount divided by budget" because that's the metric they already use for everything else. The Business Analyst who measures their own work first is the one who's still in the seat at the next downturn. Everybody else is busy.

Learn More