All writing
4 min read

The best dashboard is the one nobody asks you for

Rolling out dbt to a hundred analysts taught me that the goal is not to answer questions faster. It is to stop being the bottleneck.

dbtAnalyticsTeam

For a long stretch of my career, a good week meant I closed a lot of tickets. Someone needed a number, I pulled it, they said thanks. Felt productive.

It was not productive. It was a queue with me sitting in the middle of it.

The queue problem

At one point the ad hoc request backlog was five days. Someone would ask for a cut of data on Monday and get it Friday, by which time the meeting had happened and the decision was made without it. So people stopped asking, and started guessing. That is worse than a slow answer.

The instinct is to get faster. Write queries quicker, build more dashboards, hire another engineer. That helps for a month and then the queue fills back up, because you made the service better and demand followed.

The actual fix is to take yourself out of the middle.

What that looked like in practice

At Bank of America we rolled out dbt across four lines of business. Around 200 automated tests. The visible win was data quality going from 94% to 99.6%. That number is nice and it goes on a slide.

The real win was quieter: roughly 100 analysts started building their own reports.

That only worked because of three things.

The models had obvious names. If an analyst has to ask what fct_txn_dly_v2_final means, they are back in your queue. Boring, descriptive names cost nothing and save every conversation after.

The tests were visible. People trust data they can verify. When someone can see that a table has freshness checks and uniqueness tests that passed this morning, they stop asking me whether the number is right. The test is the answer.

The lineage was readable. The question I got most was not “what is this number.” It was “where does this come from, and is it current.” Once people could see the model chain themselves, that question mostly went away.

I later built a small tool that put a natural language layer over the dbt project and its lineage graph, so someone could type “where does customer_ltv come from and is it fresh today” and get the chain, test status, and freshness back in plain English. Cut those repeat questions roughly in half again.

The part that is uncomfortable

Being the person who knows where all the data lives feels good. There is a status in it. People come to you, you have the answer, you are useful.

Giving that up is the job. The measure of a data platform is not how many questions you answer. It is how few people need to ask you.

A small test

If you want to know whether your platform works, do not look at dashboard counts or query volume. Ask an analyst to find a number they have never looked for before, and watch.

If they find it, you built something. If they open Slack and type your name, you built a queue.