Customer discovery is the process of speaking to people to understand their problems so that you can uncover opportunities to improve your product.
The term traces its roots back to Steve Blank and Bob Dorf. They wrote a book called ‘The four steps to the epiphany’ that explains how to apply the scientific method to building startups.
Customer discovery was the first of the four steps. The idea was to stop thinking about your product and “get out of the building” so that you can speak to people about their problems instead. The goal is to avoid spending loads of time building things nobody wants.
Traditionally, product work has been confused with pumping out new features. New features are fantastic but only if they’re useful.
Useful is relative.
It relies on a shared understanding of who you’re building the features for and what they’re trying to do with them. How’re you supposed to build something useful when you don’t know what the problems are?
Good discovery work answers these kinds of questions and helps teams understand what better means to the people who use their product.
When a team doesn’t share a clear understanding of the problems everyone can feel stuck. You begin wasting time building things no one uses. There’s no conviction on what to build next, and you’re constantly looking to competitors for ideas to steal.
Once people start to understand what the problems are, building useful stuff is easy. You stop worrying about whether you’re releasing features, and you’re more interested in whether or not they’re solving problems.
Customer discovery questions
The only scripted question I ask is:
Tell me about why you started using [our product]?
I do customer discovery work in the context of existing products and I only interviewing existing users.
Traditionally, discovery work is done before you build a product. There’s lots of great writing out there about that sort of discovery work. I’m going to talk about discovery in the context of improving retention and making an existing product better.
The goal of an interview is to understand the problems people are trying to solve with your product, so that you uncover opportunities to make it better as solving those problems.
The point of this opening question is to elicit a story. You want people to paint the picture of where they were before they started using your product and where they were hoping your product would get them.
If you get a one-sentence response (“I downloaded you app to get fit”) then you can follow the question with
What’s the hardest part about [X]?
X being the core problem your product helps people solve.
Most of the time you can recycle a one sentence response into the follow-up, “What’s the hardest part about getting fit?”
I’m not big on using scripts. They can be helpful. I usually have a list of fallback questions if the conversation stalls. People will only tell you a story if you demonstrate that you are genuinely interested in listening to what they have to say. Running through a list of questions doesn’t invite someone to share a story with you.
If you’re just after a bullet points to a list of question then you should send out a survey instead. Much less hassle on both ends.
Rather than relying on a script you’re listening for emotional highs and lows in the conversation. When you see someone is talking about something they care about, redirect the conversation with prompts like:
Tell me more about that.
Please say more.
And what else?
What happened after that?
I know I said that I am not big on scripts but there is one question that I like to end every conversation with:
Is there anything else I should have asked?
This is a great question because sometimes people understand what you are trying to do but you haven’t given them an opening to say what they want to say. Other times you can sense that the conversation isn’t over yet and it’s because they have questions. Worst case scenario, they just say no.
How to do an interview
I can go long stretches without doing interviews and when I jump back into them I’m always a little rusty. Now I have a little game that I play that helps me hit the ground running. I score each conversation with a simple point system. 2 negative points and 2 plus points. Easy to remember while I’m talking. Then I score the recording afterward to see if I’m improving between interviews.
-1 You pitch, you lose. If you try and push a feature or start talking about your product then the conversation becomes a sales call and stops being an interview. An interview is about the customer, not your product. The moment you start pitching a feature, people will gravitate towards telling you what you want to hear. If you have nothing to sell, people don’t know what you want to hear, so they can’t lie to you.
-1 Don’t Interrupt People You can’t interrupt people. Ever. This is where I always lose the most points. When someone stops talking, the best thing to do is count to five in your head. I’ve never made it past 3. The idea is to create a mildly uncomfortable vacuum that elicits valuable follow-up information. Conversely, when people are talking and you have an important question. Make a note of it so that you remember to come back to it later.
+1 Talk Specifics Hypotheticals are toxic shiny objects. They sound great and mean nothing. People are terrible at predicting their own behaviour. Instead, you can only talk about specifics that have happened in the past. It’s much harder for people to lie about specifics. When you start talking about what someone might do, people want to tell you the *correct* answer. Regardless of how true it is. It’s not that people want to lie to you, it’s just what we do in polite conversation. It’s the path of least resistance. Every time you shut down a vague, hypothetical statement and redirect it to something specific in the past you get a point.
+1 Summarise And Then Ask When you can’t interrupt people, it can be hard to get a wandering conversation back on track. One way to do this is to summarise the important bits of what people said when they stop talking. This re-aligns the conversation to what’s important to you. It also helps them reflect on what they said, and clarifies any misunderstandings.
Every time you summarise what someone says before proceeding, you get a point.
Finding people to speak to
You don’t need to speak to lots of people, nor do you need to speak to them all at once. Two or three people a week is more than enough to start with.
Recent customer support wins are always a good place to start. You don’t need a complicated reason to reach out to people that have just had a great experience with customer support. Explain that you want to improve the product and you’d like to better understand how they use it. Clarifying that it will be a short call always helps.
In addition to following up on past interactions, you can begin closing out successful interactions by asking if they’d be open to schedule a quick conversation with the product team to improve the product.
The success rate on converting support calls is usually pretty high. The problem is that you don’t control who gets in touch or how often. Eventually, you will need to be able to pick who and you talk to people.
When I don’t have a specific question and I’m just listening for opportunities to improve the product then I look at last month’s activity and plot out the number of times each person performed our core action. You’ll end up with a bar chart of how many people performed how many actions.
Those who did it once or twice will be on one end, your superusers live on the other end. Filter out anyone who signed up less than a month ago and then reach out to 10 or 20 people in the top and bottom 5%.
What I’m trying to understand is the differences in the way that people on either end of this spectrum think about and use the product. Speaking to 5-6 people from each group is usually enough to get a sense of the key points of contrast in the spectrum of usage on your product.
One final approach I’ve had success with is doing in-product surveys. NPS scores and those little satisfaction ratings that show up in the corner of people’s screens. You can end a quick survey like this with a request to schedule a call.
💸 I cannot talk about the customer interview process without referring to Rob Fitzpatrick. His book is the single most useful resource I have ever read on the matter. The Mom Test. It’s a short book, just read it, you can thank me later.
💸 If you don’t have time to read Rob’s book he’s also put together a fantastic Udemy course that covers all the important bits.
Aim to speak to people who stop using your product so that you can understand what happened. Why did they decide to cancel their subscription?
The easiest way to get started is to reach out to the people who churn out of your billing system. It’s important to know if they couldn’t use the product, if they didn’t like it, or if you’re just dealing with happy churn. The only problem with contacting people who have decided to stop using your product is that the response rate can be pretty low.
I’ve found that reaching out to people before they stop using your product has a much higher success rate. On way to estimate when someone will stop using your product is to track markers of disengagement.
Measures of engagement are unique to each product. You can spend a lot time getting this right but I wouldn’t over think it to begin with. You just need to think about your product’s core action. If you’re a bookmarking app, a good measure of engagement would be whether or not someone bookmarked something that week.
If people don’t bookmark anything for 2 or 3 weeks in a row that’s a strong marker of disengagement and would be an excellent time to reach out.
You can only realistically speak to 2-3 people a week so there’s no need to automate anything when you start. Manually build a list of users that meet this criteria and use the contact list for a few weeks and then repeat.
You have four types of loops: Viral loops, content loops, paid loops and sales loops.
Viral loops are based on people sharing your product. Content loops are either content marketing or involve packaging user generated content for search engines. Paid loops and sales loops involve buying ads or hiring sales reps and then reinvesting a portion of the profits to hire more reps or buy more ads.
So how is content marketing, buying ads and hiring sales reps a loop? Isn’t that just conventional marketing?
The key here is that something is only loop if you can reinvest the output into the top of the funnel in a repeatable way.
The emphasis being on ‘in a repeatable way’. If I spend a week working on content for our product, it may well bring in a bunch of new users. The problem is that we can’t use any profit from the work to hire another me. If I’m working on content then I can’t work on anything else.
If we hire an agency or commission someone to write the content and it results in a bunch of new signups then we can use a portion of the profits to hire them to do the same thing again. I’m free to work on more important stuff and the process pays for itself and some.
It’s important that the profits used to pay for the loop come from that particular loop though. In the ads example, we invest a bunch of money into ads, people buy subscription and then we reinvest a portion of the profits into new ads. What we cannot do is allocate a portion of our month’s overall profits into ads. Us just spending x amount on ads every months, is not a paid loop. It’s only a loop if the profits from a specific campaign are high enough to fund the next round of ads.
This way we build up a menu of different acquisition loops that we can treat like levers that can be turned on and off. The better the loop performs the more we invest in it. Once it stops performing we can stop investing in it.Sometimes it make more to invest in certain loops and not in others, depending on seasonality or how saturated the channel is, etc.
All loops and tactics decay over time, so we’re never going to find one killer loops that we rely on forever. For example, ads might be great to start with but once we exhaust our target audience we will start advertising to less and less ideal customers, and the ROI diminishes fast. So the idea is to lean into the best loops we have but constantly explore new opportunities so that we have options when the tides change.
Thinking about growth strategically helps build a shared framework for making decisions. If we have lots of things we can build prioritisation becomes hard.
This is the big picture for Chirr app at the moment. It outlines the loops and linear channel we have in place and options we can explore.
With a big picture in place, now we can look at each piece of work on our backlog and ask which loop it’s helping optimise and how it fits it to this bigger picture.
Instead of just attacking the backlog ticket by ticket I propose a three step sequence for getting things going:
Optimise our existing loops first This means breaking each loop down into its individual steps and measure the conversion at each stage. Then thinking about how we can speed it loop up or optimise conversion at a step.
Then add new loops Once we have done our best to optimise our existing loops we can start to add new loops. Loops are expensive and take time and involve building new features, promoting them, and maintaining them.
Finally, invest in linear channels Once we have 2-3 powerful loops running then we can invest in linear, non-compounding source of traffic to feed the loops. Our main one at the moment in SEO but we could also focus on getting press, going to events, setting up partnerships (like webinars or guest posts collaborations, or using our product for their course, etc) etc.
The goal is not to have loads of loops, the goals is to have 2-3 powerful loops. We don’t want to rely on a single loop because the rules of channel might change and we don’t want to be over dependant. We also don’t want too many loops with loads of moving parts that are a hassle to maintain. So we optimise our existing loops and then start testing new loops and we settle on the fewest number of loops that give us the highest return.
You have four types of loops: Viral loops, content loops, paid loops and sales loops.
Organic virality could be word of mouth or when people share our product online because they enjoy the experience. People tweeting our our placeholder text would be an example of an organic viral loop.
Then there’s viral loops that result from natural usage. We have the ability to share a draft of thread. If someone shares a link they are looping other people into the product just by using it to do what it normally.
Finally you have incentivised loops. We could incentive people inviting others to the platform, either with a free trial or with access to new beta features. I think exploring invites will make more sense when we add team features.
The idea with a viral loop is that the more frequent the trigger the more powerful the loop. Inviting people on sign up happens once whereas sharing drafts could happen multiple times a week.
Products can have user generated content, like a social media platforms, or company generated content, like a news outlet.
Content can then be shared by the user or by the company. An example of user-generated, user-shared loop would be Vimeo. People create video content for their platform then they also go out and embed the content on websites. On the other hand, an example of user generated content where the company shares it would be Quora. Users answer question and then the company packages the answers up to get indexed by search engines.
User generated content ideas we could try for Chirr app could include:
Indexing most popular threads in our system and then quote retweeting them each week. Our twitter account then becomes a source of great threads, people read the, some of them sign up for Chirr, and a percentage of them create new threads for us to retweet.
We could also create SEO pages for pages that contain thread of threads around key terms. For example, if there’s an SEO opportunity for ‘how to negotiate a better salary’ we could search for all the best threads that offer excellent advice on the topic and organise them on a chirr app page that we optimise for the key term.
In addition to user generated content, you have company generated content. This is just content marketing. This only qualifies as a loop if a portion of the profits are reinvested in creating more content. If I just make content for the product it’s not a content loop. If the content drives enough subscription for us to reinvest in hiring an agency people to generate more content then its a loop that can compound over time.
An example of company generated content that relies on users sharing it would be something like the New York Times or Buzz feed. On the other hand WebMD is an example of a company creating their own content and then working to get it indexed by search engines.
Examples of content we could explore
Chirr versus competitor pages
Walkthroughs of related products
Power lists of other twitter or publishing tools
Mega guides to producing content and writing threads
Technically we could share the content and encourage users to share it would count as company shared and user shared. The difference here is really in the volume, Buzz feed and NYT produces enough content on a daily basis that they can rely on user sharing as their primary outreach method. We would take a long time to product everlasting content and we can ask people to share it but our primary method of getting it out there would be putting in the work to get it ranked by search engines.
Paid loops and just advertising. It’s only a loop when we reinvest a portion of you profits back into more advertising advertising. I definitely think we should explore this but not yet. We want to put money into advertising once we have a much clearer sense of who to target and better retention so that we’re not pouring cash into a leaky bucket.
Finally there are sales loops. Again, only a loop if we reinvest the profits into hiring new sales reps. Sales loops make much more sense for higher ticket purchases. Not ideal for us since our ticket price is below $1000. However, we could explore this if we add a team plan.
I’ve just joined Chirr app as a partner and I’m going to be leading the growth effort.
Once I start diving into the details I will get lost and it becomes hard to see the big picture. I want to start a meaningful discussion about the big picture strategy around how our product will grow
Conventional growth work focuses on building and optimising funnels. Brian Balfour offers a refreshing take on the funnel approach and focuses on building systems of compounding loops instead.
The problem with funnel based growth is that you have to constantly pour energy, time and money into the top of it. Loops offer a more sustainable approach to growth because the output feeds back into process and compounds over time.
Everything starts with your core habit loop. This is the primary reason people use a product. For chirr App this would be based on the core action of publishing threads.
Every habit has three basic components: a trigger, an action and a reward. Our trigger is that people want to publish a thread on twitter. The core action would be using Chirr app editor to publish the content and the reward is that they a thread published to twitter without any hassle.
It’s a loop because if we do the job well the next time someone wants to publish a thread on twitter they will reach for us. Optimising this core loop means making the whole experience around publishing threads as hassle free as possible.
We have two other habit loops in the product. The first is around email reports and the second is around our chrome extension. The chrome extension is great for capturing content when you are reading online and adding it to your content queue. The weekly analytics report shows yo what performed well that week and lets you reschedule your best tweets.
The goal of a habit loops is to bring people back into the product and drive sustained product usage. It’s important to start with habit loops because acquiring more users is pointless if we cant retain them.
On top of our habit loops sit our acquisition loops. An acquisition loops is designed to drive people to the product.
We only have one acquisition loop at the moment, people who tweet our default editor text. A certain number or new users discover the product each week, some of them tweet out the editor placeholder text that contains a link to the product and then new users find us through those tweets.
Then on top of our acquisition loops we have linear input. These are sources of traffic that don’t compound. Our main source of traffic is SEO but you can have other liner input like press coverage or going to conferences and events.
Our system is fairly basic at the moment. The first step is going to be to optimise our existing loops. Then I’m going to look into adding new loops to each layer. The goal isn’t to have loads of loops, the goal is to grow. Building loops can be expensive, and one or two simple loops that work well are enough for a powerful growth engine.
The ideal outcome here is a simple, shared understanding of how our product grows so that we know how each thing we decide to work on connects to the bigger picture.
At the moment, I’m trying to understand what the different use case are for a product I’m working on. This is by far the messiest part of growing a product. The tricky bit is finding the right level of abstraction.
What are we even talking about when we talk about use cases or jobs-to-be-done, or personas or any other framework for grouping people’s core motivations for using something? It’s tempting to just define your use cases by listing out your feature set.
The use case for the newsletter widget is to get more people on your newsletter. Boom! Case closed 🎯 Nope, this is lazy and unhelpful when you’re trying to figure out why people are trying to grow their news letter.
The goal is to understand what the product, or in this case the feature, means to them and how we’d even begin to frame what a ‘better’ version of the feature means for this person.
So then you swing the other way and go too broad. The use case for our product is to make people’s lives better 👼 Equally unhelpful. We are still exactly zero steps closer to understanding what ‘better’ means to this person.
The real work is way more interesting. It’s more archeological in nature, you have to gently dust off nuggets of insight from real conversations with people, look at behaviour patterns, and listen to feedback in customer support.
If you bring a sledgehammer and blast out a survey, people will just tell you what you want to hear. Surveys are great, no beef there, they’re just more useful for confirmation than exploration.
Figuring out the right questions is the messy middle where all the fun happens. Getting to the right level of abstraction is hardest bit of the process. It’s also the most crucial, without it you have no idea why people care about your product or what better means to them.
Everything I know about colour and typography came from a course I did years ago called The Better Branding Course by Caroline Kelso Zook.
Unless you know what you’re doing, stick to two typefaces:
Your display type is for your H1’s, they should look great large.
The body type must be legible at small sizes.
Pick one typeface to capture the tone you want (delicate, masculine, friendly, modern, etc). The other should provide enough variation to provide contrast between the two, but they should be similar enough that it’s not jarring.
Only if the pairing feels unfinished should you add a third typeface to bridge the gap.
This type is for your byline, the H2, this should pair well with your display. It helps if it looks good in all caps because it usually ends up on buttons and in the navigation.
Typography is subtle but it’s important to get right because most of what you see on a screen is type. Type is in the content, the navigation, it’s on buttons, in the headings, it’s everywhere.
The other thing I have learned is to stay away from pure blacks and whites. A dark grey typeface will always look better than black on white.
Leave colour till last.
Using contrast instead of colour keeps things accessible to people who are colour blind.
Designing in greyscale lets you add colour with a purpose.
The simplest strategy for an effective colour scheme is to only use one colour.
A monochromatic colour scheme gives you lots of shades within a single hue.
Single colour schemes are the hardest to mess up and the easiest to understand.
I try and keep photography and the use of graphic elements to a minimum. Not because of some minimalist ideal, but because of load times. The faster a page loads, the quicker someone can use it. When I do work with photography and images I try and follow the 7 Rules for Creating Gorgeous UI.
When designing product stuff, it’s important for elements that behave the same to look the same, or at least similar. Conversely, it’s just as important for unlike elements to appear unlike and be inconsistent. Following conventions like this prevents unnecessary confusion.
Some conventions are global. For example, most people are used to in-line links being underlined. It is rarely a good idea to break these conventions unless you have a solid reason. Other conventions are local to industries. Words, purposes, how things look and feel.
The whole point is to give people the freedom to do the things they want to do. Think of a ‘back’ button. This is a good global convention. People should always be able to “go back” on a mistake without too much hassle.
Improve on conventions that force people into unplanned interactions, confusing pathways, and surprising outcomes. A solid reason not to follow a convention is when it threatens someone’s freedom.
I like to begin design work by thinking about the things people want to do. I pull these out of thin air if I’m conceptualising something entirely new. I’ll reverse engineer them from similar products if I’m planning to build something similar.
If I’m redesigning something then my goal is to collect points of friction. The places where people butt up against what currently exist. Customer support tickets are great here, product data can help, but listening to people is by far the richest source of insight.
Once I have all my bits the next step is to figure which bits go first. Jason Fried has a lovely essay where he talks about the obvious, the easy and the possible. I am yet to discover a better set of buckets for resolving the tension in the design process.
You can’t make everything obvious. The more things that are, the less obvious they become. As a general rule of thumb the more often someone does something, the more obvious it should be.
Stuff that just needs to be possible can be tucked away. Figuring out where the easy things go is the tricky bit. Limit your options by always designing the obvious first. That way, if you mess everything up, you still have an interface that gets the job done.