Vinh Ngo
HomeAboutProjectBlogPhotoContact
Vinh Ngo
@vinn.go

AboutWho I am
→

ProjectWhat I've built
→

BlogWhat I write about
→

PhotoWhere I've been
→

ContactSay hello
→
← Blog

20 June 2025

What I Learned About Setting Up an Analytics Function

A few things I wish someone had told me before I built one.


Most analytics functions are built completely backwards. They start with tools, then dashboards, then (eventually, usually in a quarterly review) someone asks what the numbers actually mean. I've seen this more times than I can count. I did some of it myself.

Here is what I would do differently.

Building an analytics function

The First Conversation Is Never About Data

Before a single query gets written, the team needs to agree on two things: what questions the business is actually asking, and what language everyone uses to ask them. Sounds obvious. Almost nobody does it.

What are we trying to understand? Where is growth coming from, and where is it leaking? Which customers are we keeping, and which are we losing before we even notice? What does the business need to decide next quarter that it cannot decide today?

Start there. Not with dashboards.

Then get the language right, and this one is underrated. What is a "customer"? Is it a signed contract, an activated account, or first revenue? What counts as "churn"? Two departments will give you two different answers with complete confidence. Both will think the other is wrong.

Semantic on the surface, trust underneath. Conflicting numbers almost always trace back to conflicting definitions, not bad data. Write the definitions down. Get them agreed on. Make them visible to everyone.

Bad Data Is Usually a Bad Process in Disguise

You cannot build reliable analytics on top of unreliable data. A field that is 30% null is a process problem wearing a data costume.

Map your data sources. Know who owns them. Know how often they update and what breaks when they don't. And know which fields are quietly ignored by the people who work closest to them. There are always a few of those. Always.

Good governance is clear, not bureaucratic. Who can change a definition? Who signs off on a new metric? What happens when two teams pull the same number and get different results? Answer these questions before they become a crisis. Or before they become a passive-aggressive Slack thread. Same thing.

Scope Creep Is a Symptom of an Unanswered Question

Data work has infinite scope. Every dashboard can always have one more chart. Every analysis can always be cut one more way. It never ends.

Start every project with one question: "What decision will this help someone make?"

If the answer is vague, go back to the stakeholder and make it specific. Then build exactly what answers it, and nothing else. This is harder than it sounds.

The Habit of Asking Why

The most valuable thing an analytics function can do is ask why, and keep asking until the answer is actually useful.

A number goes up. Why? A metric misses target. Why? Nobody is reading the dashboard. Why? That last one is the most important question and the one people ask the least.

The analyst who asks why three times before touching SQL will always outperform the one who just starts querying. Train the instinct. Protect it.