Implementing a Metrics Stack From Scratch
Consulting Chronicles #1 - How to implement SOMA for a B2B SaaS company
Hello and welcome to the latest issue of Data Patterns. If this is your first one, you’ll find all previous issues in the archive.
I have some news.
In the last couple of weeks I’ve started a consulting engagement with a B2B SaaS company. We’re implementing the SOMA metrics for them and I wanted to chronicle the journey and share with you all the details.
While the work is real, the details will be obfuscated, for obvious reasons.
SoFake is a B2B SaaS company selling a data tool that costs $150/mo per seat. Since they’re just starting out, their main focus is sales.
SoFake has a sales team of 4 account executives (AEs) who are constantly booking meetings, showing demos to potential clients and closing deals. SoFake has almost no analytics in place so this is a greenfield project for us.
Stage 1 - Activity Shopping
The purpose of this stage is to discover what metrics the client wants to implement
We had our first meeting with the CFO to discuss what metrics they wanted to implement, and they chose two groups:
Pipeline metrics
Account executive (AE) productivity
You can see the metrics we presented below. This is only a subset of the 450+ B2B SaaS metrics available in SOMA. (Click on the image to get the full version)
The first 8 metrics count the number of opportunities the sales team is working with (including same period opportunities, slipped or pulled in early opportunities, etc) while the next few sum up the dollar amount associated with each.
You don’t have to be a seasoned professional to realize quite quickly that the accuracy of these metrics depends almost entirely on a consistent sales process. If some AEs for example input the deal value in thousands of dollars and the others in single dollars, the whole thing falls apart.
Another thing you might notice is that most metrics don’t have an expression. In SOMA we call them “atomic metrics.” These metrics are entirely dependent on raw data (business activities as we’ll soon discover). The ones that do have an expression are called “composite metrics”
Now that we have agreed on a list of metrics, the next step is to look at the metrics business activities so we can map it to raw data. SOMA provides this as well.
It looks like we’ll need data from the CRM system. SoFake uses HubSpot but there are a few others. The activities are abstract enough to apply to any CRM, as you can see.
After a little investigation, we found the necessary tables in HubSpot:
deals
deals_history
companies
emails
meetings
notes
owners
owners_teams
tasks
Important note:
There are 4 pipeline metrics (slipped deals, pulled-in deals, slipped pipeline, pulled-in pipeline) that require history tracking of pipeline table attributes close_date
and amount
. The best way to get this is by enabling history tracking in the CRM system. If that’s not possible, it needs to be handled via ETL which is not fun.
Stage 2 - Activity Mapping
The purpose of this stage is to map activities to raw data so we can calculate the atomic metrics. There’s no code or data modeling yet, this exercise can be done in a spreadsheet.
Here’s an example of what we put together:
The deals
table SoFake has the following attributes we need:
amount
stage
createdate
closedata
lastmodifieddate
The deal_type
is missing since SoFake doesn’t have muli-tier pricing set up yet, but SOMA tells us this is possible and we can make a recommendation when needed.
The deals_history
table already has historical tracking set up for the fields we care about
amount
closedate
The emails
and calls
tables have the necessary fields to track AE productivity such as emails sent, calls placed, etc.
The meetings
table tells us about demos booked and finally the owners
and owners_teams
will be useful when SoFake grows enough to separate their sales teams.
So where do we stand so far?
We have identified the data we need, so the next step is modeling this data, writing the queries to calculate the metrics and delivering the necessary reports. I will write about that in the next issue.
Until then.
So much fluff on LinkedIn and substack. This is quality stuff, thanks Ergest.