👋 Hey there, hope you’re well.
🥁 🥁
It’s finally ready for launch – the GDG book I mean. Read the intro if you haven’t already.
🥁 🥁
Welcome to the final part of the series titled Modeling Meaningful Metrics.
In Part 2 of this series, I covered how to avoid confusion when working with similar-sounding metrics like Active Users and Activated Users. In Part 3, I discuss what exactly a metric is and equally importantly, what isn’t a metric.
Permanent link to this post to bookmark and read later →
There seems to be a lot of confusion regarding what qualifies as a metric and what doesn’t. I’ve seen the term ‘metric’ thrown around rather loosely, often to refer to the raw materials used to build metrics.
A metric IS a data model
A metric has dependencies on existing data points (events and properties), data models (including entities), or even other metrics – these objects are the raw materials needed to construct metrics.
I had mentioned the above in Part 1 of the series. What I didn’t mention is that in essence, every metric is also a data model – one that may or may not rely on other data models.
However, not every data model needs to be a metric.
I’ve attempted to depict the above in the figure below.
While this sounds confusing, it also underscores the importance and ubiquity of analytical data models that are often invisible to those consuming the data as events, properties, or metrics.
Models and metrics are interdependent yet distinct objects that need to be created and maintained by data teams. As a result, many startups are building products aimed at modeling and maintaining metrics, leading to a new category of tooling currently referred to as the semantic layer (data people are good at many things but naming isn’t one of them).
So, what exactly does a semantic layer do?
In simple terms, a semantic layer helps define a metric using code rather than words.
Doing so makes modeling, maintaining, and reusing metrics a streamlined process, helping avoid confusion and human error. However, the primary challenge today is that every product that aims to be the semantic layer is, in fact, a semantic layer – one of the many opinionated solutions and one that offers a set of unique building blocks to model metrics. While a semantic layer has a lot of merit, using one can result in vendor lock-in. That said, it’s early days for this new category and there’s hope for a universal standard to emerge in the near future. I won’t be going into more detail but wanted to touch upon the semantic layer to highlight the importance of modeling meaningful metrics.
An event is NOT a metric
PageViewed is an event; website_views_count is a metric that’s created by counting the number of times the PageViewed event takes place across all website pages. And website_visitor_count is created by counting the number of unique visitors that performed the PageViewed event.
I wanted to point this out since I’ve heard people use the terms event and metric interchangeably and it makes me uncomfortable because both serve different purposes and both are important to get right.
I must also highlight that the process of tracking an event is completely different from the process of creating a metric. Depending on an organization’s data maturity and team structure, the two activities are carried out by different people on the data team or different teams altogether (Engineering tracks events and Data creates metrics).
A property is NOT a metric
Here’s a quick refresher on the three types of properties: