Getting started with the data-driven way for SaaS product management.
If you run a SaaS startup and wondering how to make data driven decisions, this post is for you. Over the last few days I have been working on setting up product analytics for my SaaS product — SlickPOS. This post is a compilation of my learnings and how I went about creating the dashboard that I lookup every day.
First, start with the questions
The very first SaaS product we built, just had Google Analytics and a user sign up email alert. In a few days we realized that our current setup was not going to be enough — we had a dozen unanswered questions in our minds.
Product management should be a closed-loop feedback process and knowing answers to such questions is what will make you attain the “product-market fit”. Listing down specific questions will only ensure that the rest of analytics setup is aligned to your goal. Do not start by dumping all the data into a warehouse, rather start simple with what’s needed for your initial questions.
What to track?
Once you have the first set of questions, the next part is determining what data points will be able to answer your questions. Let’s consider the question “How many active users do I have today?” — the answer to this is subjective. Some products might consider the number of users having paid subscription as active users. In the case of a freemium product like our SlickPOS, active users are the ones who have made more than “x” transactions and have been active in the the last “y” days. So depending upon the logical answer we go about capturing the required data. Best practice is to group the captured data as follows:
- User Identity — For a SaaS product most of the Key Performance Indicators (KPIs) revolve around the user. So the first part is identifying the user and grouping the metrics under each user.
- User properties — Attributes like user location, gender, user name, account type etc are best captured as user property.
- User events — These are the timeline activities you want to capture against the user. Eg — usage of a particular feature, running a report etc.
- User event properties — You can capture additional properties along with the event either for filtering or grouping. Eg — report type property for a report download event.
Occasionally we might wonder if a particular attribute needs to be a user attribute or an event attribute. If you use the attribute for finding user composition, then capture it as a user attribute — Eg: “What percentage of my users are paid users?”. If the attribute is used for representing a timeline chart then capture it as an event — Eg: “How many reports of type “z” are being downloaded this week?”
Setup the data pipeline
Now that you have defined what data points to capture, the next part is how to capture them. Broadly there are two approaches:
- Custom data warehouse — If you have the resources and expertise you could setup your own data streaming infrastructure and warehouse. The advantages are that you have full control over what can be done and the costs incurred.
- Use existing tools — I would recommend this approach to most early stage startups as it saves time and also you could possibly start with a free plan. You could checkout Mixpanel or Amplitude — a couple of products I have personally used. I also highly recommend using Google Tag Manager for capturing events from your UI. Tag Manager helps you start capturing new events from your UI and also do new integrations without requiring code changes every time. You can also use Segment if you plan to have multiple data sources and destinations.
Capture lead attribution and associate with users
For SaaS products, being able to sell remotely is a prime factor and you are likely to run digital marketing campaigns like Adwords, Facebook Ads, blog for SEO etc. While the ad platforms gives you the ability to track conversions (I would never run a campaign without conversion tracking!), you should additionally capture the lead attribution as user properties. While your immediate conversion might be signups, but which signups are getting converted into active usage? — the lead attribution user property can answer that.
An important aspect in capturing lead attribution is to use UTM tracking from day one. Cloning the LunaMetrics campaign tracking google spreadsheet is a simple and quick way to track your UTM-ized URLs. Apart from UTM, you could also capture the initial referrer domain for your users. A small challenge here would be linking anonymous users (having these these initial UTM and referrer attributes) with the signed up user — but most of the tools I have mentioned in the data pipeline take care of this problem.
Analyze the lead-to-active-user funnel.
The lead conversion funnel is probably the first funnel you’ll need. An example funnel could be like: Viewed landing page -> Signed up -> Played around a bit -> Became an active user. This funnel primarily tells you these — 1) What’s the conversion % from one step to another and where you could improvise. 2) Is there something suddenly broken in-between so that you can react fast and fix stuff.
Define and monitor health metrics frequently
Define one or more health metrics for your product and make sure that you track it daily. When I say, health metric it’s not essentially error logs, but Key Performance Indicators (KPIs) that express the usage of your product. Say in my product’s case, it’s the number of sale transactions made. For a product like Facebook it could be the number of posts created and the number of shares. You have to capture these as events and be able to query them by time intervals like hourly, daily, weekly, monthly and yearly. Your goal is to keep growing the metric and also watching out for anomalies. You will also start noticing cyclic patterns that allow your to optimize support and resources as per the usage pattern.
Come up with a feature audit
As mentioned at the start, your product analysis setup should enable you to do data driven product management. A feature audit chart can be handy here — It helps you identify the important modules in your product — you should be focusing more on the most used features and probably even consider depreciating rarely used features if their maintenance cost is not justified. You can record feature usage as both user properties (like isFeatureXyzEnabled) and events (for plotting feature usage frequency).
Track events that can trigger potential sales
Now that you know how your marketing campaigns are doing, how many active users you have, how actively the product is being used and what features your customers use the most — you have to make sure you get maximum buck from every potential customer. This involves listening for user events and triggering your sales team to capitalize sales opportunities. To give an example, in our product we send an email alert to customers when their SMS credits is low. In addition to this customer email, we also alert our sales team to follow up with the customer and make him buy more credits. This makes sure we don’t loose out the opportunity to up-sell even if the customer missed his email.
Of course there are more metrics you can add to your product analytics dashboard. I haven’t talked about revenue metrics, customer life time value, customer segmentation etc. Probably, will save those for another post later, but the ones mentioned above should get you started. All said and done, do remember there is no substitute for talking directly to the customer, so always keep the conversations going!