Like many startups in the early stages, at Peruse.io we’re working on finding product market fit. In this post, we’ll share our process for finding it and the tools we use for user testing, customer development, and data analysis.

For a little background on us, Peruse.io lets you easily search through information in your documents on Box and Dropbox. You can ask questions like, “Where is that sales projection spreadsheet I edited in March?” and we’ll show you.

Our inspiration for starting this company was that finding information in our files is still essentially the same tedious process that existed twenty years ago. We launched at 2015’s Techcrunch Disrupt in New York and now have a few hundred users in our public beta.

What is product market fit?

There are a lot of different definitions for product market fit. These two resonate with us:

“Product/market fit means being in a good market with a product that can satisfy that market.” - Marc Andreessen

“When, in a survey, at least 40% of users say they would be “very disappointed” without your product or service.” - Sean Ellis

More concisely, to us it means 1) our product works as intended, and 2) our users love our product.

We started with enabling users to search for information inside of spreadsheets, which the beta group likes. However, the story doesn’t end here as we’ve received plenty of feature and integration requests. We’re currently on a mission to see which features will bring us closer to product market fit and drive adoption.

Defining product market fit

To see how people are using the product and what’s bringing them back, we track the following events in Segment. We decided to use Segment to reduce development overhead and bloat in our site code, as well as ensure consistent customer data across all of the end tools that we use. For example, a spike in event A in Google Analytics can be easily investigated by searching for the users by event A in our communication tool, Intercom.

Does it work?

We want to track a few things about the new search feature. First is the accuracy of the results, to see if the product works as intended.

To measure accuracy, we’re tracking the following events with Segment: Document SearchedSearch Rated:

analytics.track(‘Document Searched’, {
 term: ‘How much money did I make from my new single last month?’,
 type: ‘document’,
 service: ‘Box’,
 result_clicked: true
}):
analytics.track(‘Search Rated’, {
 accurate: true,
 inaccurate: false
});

The Document Searched event is fired when a user submits a new query. When the query is submitted, results will appear on the interface. The user, assessing the quality of these results, can then rate them by clicking a button:

By including a button for people to rate the accuracy of the search and adding meaningful event tracking, we can look at the ratio of inaccurate Search Ratedevents to either accurate or general Document Searched events to determine if we’ve hit our first goal: to make the product work as expected. In case people only rate bad answers, we can also evaluate the Document Searched property result_clicked, since people will likely only click through answers that look good.

Do they love us?

To measure if our users love us, a more qualitative indicator, we segment our customers to find power users and potential churners, and reach out to them for direct product feedback.

The events necessary to create segments of the power and churn-risk users are Signed Up and Account Authenticated. In addition, we can look at if they have searched any documents from the events we’re already tracking above.

analytics.track('Signed Up');
analytics.track('Account Authenticated', {
 service: 'Box'
});

We measure users at risk of churn as people who show few signs of engagement. For Peruse, we believe that there are two types of churn risk users, short-term and long-term. We define these groups respectively as people who haven’t authenticated a Box or Dropbox account within 24 hours and people who haven’t used the service (searched a document) in 14 days. Note that the time intervals were not scientifically determined, as we plan to adjust these in the future, but represent a subset of users large enough to yield an adequate number of meaningful conversations.

Conversely, we identify power users by looking at strong engagement. Based on our existing user base from two months of being in public beta, we’re defining a power user as someone who has authenticated their Dropbox or Box account and searches documents at least once every few days. Our definition of a power user is partially a convenience measure for us: we adjust the “frequency” parameter until the power user sample is large enough to generate sufficient meaningful conversations.

Further segmentation is not being done at this stage of the product (other than ad-hoc segments like users who request a specific feature). However, this is an avenue we may explore in the future to tweak engagement or kick off nurture campaigns.

Tools to help analyze product market fit

We’re using the following tools to help get to product market fit:

In order to assess product accuracy and repeat usage (a sign that users love the product), we decided to keep an eye on event data in Google Analytics. For product feedback, we use IntercomFullStory, and Inspectlet for broad site usage trends, alongside communicating with users and event tracking. We don’t need to use each service’s event API, since we can just use analytics.track once. The Segment tracking plan page can be used to select which services receive events.

Google Analytics

We’re using Google Analytics (free!) to track aggregate usage data, visitor origins, trends, and search result feedback counts

Specifically, in our search for product market fit, we are tracking aggregate trends of upvotes compared to downvotes in search result feedback counts. The benchmark for query accuracy is (number of upvotes - number of downvotes) / number of searches performed.

For the next few weeks, we’ll be keeping a close eye on this report, which measures the event Document Searched:

Document Searched is a feature introduced on June 23rd.

Intercom

Intercom is a customer communication tool: you can segment your users into smaller groups (based on their actions, location, and traits) and message them via email, in-app notifications, and live chat. They’re affordable at $50/m (the plan that we’re paying).

As stated, our definition of a “power user” is someone who has authenticated with Box or Dropbox and actively uses the service. Since “Account Authenticated” is an event that is sent when Box or Dropbox is added, it is available as a filter in Intercom. Additionally, “Active” is a user who is “last seen” within a week. With both filters, we create the segment in Intercom:

All names and sensitive information are removed.

Then we use email and in-app messaging for reaching out, with the objective to understand the user’s use case and get feature feedback, to guide future development.

For users with churn risk, we look at opposite triggers: did not authenticate and also low usage. We’ll setup a similar filter in Intercom. Similarly, we’ll email this segment of users, asking them what types of searches they would like to perform or if there are other features that are missing. This helps us prioritize product development.

Another benefit of using Intercom is seeing threaded conversations along with user events on a per user basis. This is very valuable to us in terms of seeing the user’s level of usage at a glance (and their experience in terms of answer quality by looking at how often they upvote and downvote results). Here’s how it looks like for two unique users:

User testing

To better understand user behavior we use FullStory and Inspectlet.

FullStory is a session recording tool that allows you to easily record, replay, search, and analyze each user’s actual experience with your website. These sessions give us a good sense of how users navigate our site, especially on mobile devices:

Inspectlet, a similar service, also provides “eye tracking heatmaps”, which basically is a map of where the your visitors are looking and what parts of the site they’re reading by visualizing their mouse movements (here is a study they reference that examines this correlation).

Eye tracking with Inspectlet shows that people tend to fixate more on the right side than the left. We’ll investigate whether this is something that needs to be addressed or a symptom of reading left-to-right.

Scroll tracking shows that most of the relevant information is above the fold (this page becomes longer when search results are displayed).

From the click tracking heatmap we can see that the results we show at the top tend to be more relevant for our users (for user privacy the search results are not shown on the heatmap).

Both of these tools are great for learning how users interact with our site, if our navigation is useful, and if we’re surfacing helpful results.

Next Steps

Finding product market fit is certainly not easy. However, given the proliferation of tools out there to assist in every part of the product lifecycle (13 Marketing Automation Tools$9 Marketing Stack, and How to Launch a Startup with $99), there are now many ways to become smarter about building features and minimizing the iteration time.

Segment has helped us experiment with new tools without incurring development overhead, and we’ve been very happy with Google Analytics, Intercom, FullStory, and Inspectlet so far. We know we’re not there yet, but we look forward to continuing to monitor our metrics and talk to customers as we make our way toward product market fit.