By Cedric Dussud, Cofounder of

Photo by Joanna Kosinska / Unsplash

Our friend Benn Stancil recently wrote a great post about templates — his term for sharable, pre-built dashboards and reports. Do yourself a favor and read it.

The basic idea is that shared, reusable analyses for data have been a pipe dream for years and aren’t yet on their way:

Even though our data is the same, and our companies are the same, there’s no one-click way to spin out an entire suite of dashboards

Templates do seem inevitable: the concept of reusable code is something software developers have relied on for literally decades. It’s fundamental to how all software is built. The data community has been borrowing best practices from the software world since the beginning, from version control in Git to staging environments to testing. But we still can’t use their single most powerful technique.

Each time an analyst switches jobs they have to rebuild the same metrics from scratch. Even if they’ve done it (lots of times) before, the data is so different that the SQL needs to be fully rewritten. Software engineers would just call a function like monthly_recurring_revenue(data) and move on with their lives.

At this point it’s literally easier to set up a data warehouse and populate it from scratch than it is to get a single metric into production.

We’ve been using templates in production at Narrator for three years — we’ll walk through why they’re not common yet and how they could be used more broadly.

Why don’t we have reusable dashboards or analyses?

The problem with templates are that they require some consistency. The reason an analyst has to rebuild a monthly recurring revenue metric at a new company is because the data is structured differently, and even if it wasn’t (maybe both are exclusively using Shopify), the business might interpret revenue slightly differently.

Benn points out that templates rely on these two core assumptions

  1. everyone’s data is mostly the same
  2. everyone’s business problems are mostly the same

Obviously we don’t live in that world. But even though source data can be wildly different, they fundamentally use similar concepts.

A data model for templates

Even though no one’s source data is the same, there’s no reason we can’t build consistent data models from them. Benn suggests this approach in his post

A better method—which is similar to the one taken by Narrator—may be to invert this: ask for meaning, and…

Continue reading: