How to grow product with KPIs
Part 1 of 2
Recently, I’ve been working on improving the prioritization process in the Cards and Payment methods team in TransferWise. Despite being a relatively small team, we impact our customer’s experience in numerous ways and affect multiple metrics.
To give you a better sense of this: we’ve looked at more than ten different metrics in more than ten cross-sections to measure the impact of our launches in the last year. That gives 10x10, or, 100 sub-metrics. Naturally, we can’t focus on all of them. From experience we know it’s worth finding the 1 or 2 areas of highest impact and focussing on them. Otherwise, the risk of spreading yourself thin is too high.
Searching for most the impactful areas requires comparison of the different potential areas with their own different metrics. It often proves tricky — try, for example, to answer these questions:
- What’s better: improving conversion by 0.5% or decreasing customer contact rate by 10%?
- Is 3x faster money settlement from a card processor worth 2x higher transaction fees?
To prioritize known goals and find missing areas of impact I started using KPI maps where I organized all potential areas of impact (with corresponding metrics) in the form of a tree. Each area was represented as a branch, with its subgoals being sub-branches. This area in turn is a sub-area of a bigger one which it impacts. At the root of the tree, I’ve placed my team’s core goal. Note, this approach applies not only to separate product teams but for companies as a whole too.
A well-structured KPI tree has no (or only minimal) overlaps between branches, and all the branches added together cover all possible areas the team could impact, making the map exhaustive. Strategic consultant companies often use a similar approach with issue trees.
Being exhaustive has another great side effect — it allows you to spot new potential areas of impact. With hundreds of metrics to measure, it’s entirely possible that we’ve missed something important. But if you have a tree you can focus on each particular branch and consider if you’ve mapped all the possible sub-branches, and have not missed anything.
So how to build a KPI tree? I’m using the following method:
- Brainstorm areas of impact. List all areas of impact (goals) of your team and the metrics for them. Metrics and goals go together. For example, you can have the goal “Increase number of transactions” and its metric is “number of transactions.” KPIs in the list can be: number of transactions, average transaction volume, conversion rate, contact rate, cancellation rate, fraud rate, churn rate, number of users, LTV, etc.
- Connect the known goals. For each goal, there is a bigger one to which it contributes. You can find it by asking “Why?”. You’ll get to your team’s core goal if you ask “Why?” many times. Here are a few possible goal chains:
- Greater average volume of transactions -> Greater average transaction margin -> Faster growth
- Better conversion rate -> More new users -> More active users -> More transactions -> Faster growth
- Lower customer support contact rate -> Lower support costs -> Lower transactions costs -> Greater average margin from transaction -> Faster growth
- Lower fraud rate -> Lower fraud costs -> Lower transactions costs -> Greater average margin from transaction -> Faster growth
- Less churned customers -> More active customers -> More transactions -> Faster growth,
- LTV -> More value from customers -> Faster growth
When you connect all goals starting from the core, you will get a tree-like structure with your team’s core KPI at the root and all known areas of impact on the branches. To draw mind maps, I’m using MindNode on Mac or Mindmup on Google apps.
- Go in depth and fill the gaps. Fill the gaps by asking “How?” for each goal. Think — what subgoals have you missed?
Sometimes it helps to think about an area of impact as a process. Let’s say you want to bring in more new customers. Think of the process your customer is going through before making their first payment: hear about your product -> visit the landing page -> register -> make their first purchase. Improving each step of this process is a sub-goal with its own metric (conversion rate).
Another way to split the goal into smaller ones is to use customer segments. Total number of new clients = number of new UK customers + number of new US customers, etc. Naturally, improving performance in any market will lead to overall improvement.
- Remove overlaps. The branches should be mutually exclusive. To achieve this, look at the branches and try to remove/change overlapping areas from the tree. For instance, I don’t have net promoter score (NPS) on my team’s KPI map since all the other branches impact the customer’s NPS anyway. I also don’t have LTV, since it’s defined by a combination of churn, transaction frequency, and profit margin. This step is the hardest; it requires a lot of creativity and attention.
Note, you can build multiple valid KPI trees for the same product. For example, you can split new customers using process framework or by segments as I showed before; it’ll give two completely different maps. Both will be correct. It’s up to you to choose which tree is suits your team more.
I’m using KPI maps for multiple reasons:
- Prioritization. Each branch of the map has a relationship with the parent. In the best case, there is a math formula that connects the branches. For instance: funnel conversion is a product of conversions on each step of the funnel, the total number of customers is a sum of clients in each segment, profits is incomes minus costs. These relationships simplify comparison of potential projects lying on remote branches; you just need to work back to the first common goal/metric and compare the impact of two projects on it. Even if you can’t (or don’t want to) measure every single branch, you can just think through the relationships and estimate the impact.
- Brainstorming and gathering improvement ideas. The further you go asking the “How?” questions, the more specific areas of impacts are getting, the more sensitive metrics you select. On end branches, you can put specific projects and product ideas you have.
- Organization of the team. With the growth of the team people will start to focus on specific parts of the product, and sub-teams will emerge. The challenge at this stage is to divide areas of responsibilities properly, so there are no overlaps, and all areas of responsibilities of the parent team are covered. You can organize sub-teams or particular people around branches of the KPI map.
- Growth prediction. Knowing simple mathematical relationships and KPI values on each branch makes project impact estimation easy. The mathematical connections allow you to build simple models in spreadsheets to see the development of the product in a dynamic way.
Creation of a KPI map is not a one-time effort for me, but a process. It never ends, I, along with my team, refine the structure of a tree and go deeper and deeper into the sub-branches as more and more low hanging fruit is gathered, and we need more specific areas to focus on and more sensitive metrics to measure our impact.
Building and supporting a good KPI map for the team is hard, but definitely worth the effort. I hope you’ll also find it useful and this method will help to bring more great products into the world.
UPD: In the second part of the post you can find the most common KPI tree template and practical example of using KPI trees for prioritization.