Two Years Ago, We Started Building a Product that Now Earns Over $500,000. Here’s How We Did it.
Editor’s note: We’ve just launched Buffer Analyze, Buffer’s Facebook and Instagram analytics tool for online consumer brands that want to make better decisions about their social media strategy and measure their results without feeling overwhelmed. Here’s the inside story of its creation:
It took seven months of development and hundreds of emails and calls to make our first $25.
But today, two years after we got started, Buffer Analyze is serving 1,000 customers and earning more than $500,000 in annual revenue.
I’m Tom, the product manager for Analyze, and this is our story of building and growing a product from scratch.
Genesis
2017: Joel’s vision for multi-product
In early 2017, the Buffer team traveled to Madrid for our 8th annual company retreat. At that time, Buffer the company was synonymous with Buffer the product: our social media publishing tool used by millions of people and tens of thousands of businesses.
It was a critical retreat for Buffer. This was where, after many extended conversations and advice-gathering sessions, our CEO and cofounder Joel shared his vision for our future in what came to be known as the “Multi-Product Vision.”
The vision was that instead of building a monolithic, do-it-all social management solution – as we were doing – we’d better serve our customers by building individual products each focused at doing one aspect of social media management really well. The result would be a platform on which our products would provide flexible, best-of-breed solutions for our target customers.
This is when we formalized our plan to create Buffer Analyze, a product for gaining deep insights, measuring & reporting, in addition to our two existing products, Publish and Reply.
Forming a lean team
As the product manager focused on analytics in Buffer, I was asked to be the showrunner for our newly-ideated Buffer Analyze.
We wanted to keep the project lean while we validated it. We started with an initial team size of five: one PM (me), one designer, and three product engineers. Later in the journey, once the product was validated, we were lucky to add a dedicated product marketer to the team to help fuel the fire.
When it became clear that we’d be continuing to work on this product for a long time, we also added an engineering manager to ensure we could continue deliver high quality code in a happy and healthy way for the long run.
Three engineers was a sweet spot for us: we were small enough to keep communication and process barriers low, but big enough to work on tasks in parallel, or ship larger features faster. Also, if one engineer was sick or took a vacation, we would still progress at a comfortable pace.
Understanding the problem & forming the vision
This whole project started with the leap-of-faith hypothesis that there were still valuable problems to solve in the world of social media analytics. This spark was enough to get the project going, but from there, we need to deeply understand the nature and current state of social analytics, and what the pain points really were.
To begin to understand the problem, I hopped on a call with a potential customer. Then another one. And another. In fact, my first few months were spent operating a full-time research program, getting on calls with as many people as would agree to it.
In the end, I probably had about 20 or 30 calls, the same number of email conversations, and a few hundred survey responses. Around call number 10, I started to see patterns of frustration, recurring challenges in workflows, and emotional responses to certain phrases like “report day.”
By the last call, a few key challenges really stood out:
- Creating a data-driven social media strategy is hard, and
- Reporting social media performance is often very tedious
With this understanding, we set out to solve these two problems with Buffer Analyze.
Designing the product: An overlapping sequence
We began product design not long after the research phase began. Many aspects of the product development cycle can happen in parallel. They should work together as an overlapping sequence: once we started our research, we wanted to get to design, and then building, and then measuring as quickly as possible.
Early on, we were cautiously confident of the problems at a high level. This gave us liberty to start designing the basics of the product while more research was ongoing: What’s a decent structure for the app? How do we want users to flow through it? What does that mean for navigation? How can we support existing Buffer users? This was plenty for our product designer and engineers to work on while the more nuanced product details emerged from research.
Ultimately, we started quickly at high level and, over time, refined the details adding more granular designs and functionality to the product.
To this day, we are researching, designing, building and measuring at once: I’m researching Feature D while Feature C is being designed, Feature B is being built, and Feature A is being measured.
Initial Traction
Launching before we were comfortable
Until you have one customer, you’re truly, deeply in the dark about what you’ve built.
In February 2018, we had a very early product. Analyze could show you some graphs of social metrics, and create simple PDF reports using those graphs.
You couldn’t add a logo or description to your reports, or add an Instagram business account. You could not get any demographic data or see link clicks for your posts. Exporting a PDF was unreliable. You couldn’t even manage your own account or subscription. And on top of this you had to be an existing, paying Buffer customer for the product to work at all.
If this sounds like an uncomfortable thing to “release”, it was.
It was crude and simple compared to existing solutions, but we absolutely needed to get people using the product at this point because we still didn’t know if we were on the right path. Research can inform your decisions, but only bona fide users will tell you if those decisions were right.
During the research phase, I got a few dozen responses to a survey I tweeted. I scoured the responses and found a few of them came from existing, paying Buffer Publish customers. Bingo!
I reached out to these customers personally and asked if they’d be willing to try an early analytics product we were working on. I had my fingers crossed too, because until you have one customer, you’re truly, deeply in the dark about what you’ve built.
My emails were individual, personal, and included a long list of caveats about the product. No point in being anything but forthright! I also offered a 50% early-access discount to make the ask a little more palatable. The price was an important part because for this to be valuable for us, they needed to pay for the product (after a 14-day trial). When customers have skin in the game, you’re guaranteed to get real feedback that you might not get from users who aren’t paying.
My first attempt at sending prospecting emails were way too long. These emails didn’t work very well:
I shortened the email to this, and got a very high response rate (~40%):
To my delight, most people I emailed were excited about the product, in spite of its long list of caveats. They didn’t care, and they wanted to try it!
Getting customer number one is a daunting feat for any new product. Happily, many Buffer customers are big advocates of the company, and those who engage with our research efforts are even more so. We are lucky to have them, and Analyze was fortunate to capitalize on those strong relationships when we needed them.
Seven months after we started development, on February 6th, 2018, we got our first customer and earned our first $25 in revenue. And it felt great.
Getting our first 100 customers
This was a crucial period of growth. Now that we had one customer, I immediately started thinking about how to acquire more. At first, I just aimed for five. Then ten. Then 100.
We had collected a few thousand emails through a product teaser landing page by this point (another testament to Buffer’s brand and customer relationships), and this felt like the best place to start searching for new customers.
I added all that were existing Buffer customers to a spreadsheet and dug into who they were: How many social profiles did they have? What kind of profiles were there? How active were they on Buffer? Were they large enterprise customers?
I ranked these users, with those “most likely to have a decent experience” at the top, and started emailing them.
I emailed the first hundred or so individually, and personally. Naturally this got the best response rate (about 40% started a trial).
I kept the emails short, pretty much only asking if they wanted more information. If so, I’d email the list of caveats (which was shrinking every couple weeks). Again, they didn’t seem bothered by this!
After the first hundred emails, my hands were cramping and I started to email groups of 25 users at a time. This dropped the conversion rate to about 25%.
It was an effective growth strategy. I sent out about a thousand emails this way and by the end of 2018, we had earned our first 100 customers and had about $5,000 in MRR.
Growth
Our first 500 customers: Time to scale
My email strategy was working well, but it didn’t scale. I was not only emailing prospects manually, but also onboarding every new user. For the first few dozen users, I even created a few reports on their behalf so they wouldn’t have an empty reports section!
It was at this point I prioritized “self-serve signups”. I thought it was the most valuable thing we could do for growth at the time, but I’d be lying if I said there wasn’t a little self-preservation in that decision.
About one year into building Analyze, self-serve signups became a reality and we started setting up better automations: More sophisticated and scalable tools for tracking trials, conversions and churn. The incredible Customer Advocacy team started to helm the support front.
We emailed invitations to all eligible people on the email lists – many thousands by this point. We started promoting Analyze in Buffer Publish.
I wanted to make sure anybody who was eligible to use Analyze (read: current, paying Buffer Publish customers), knew about the product and had easy access to sign up.
The Future
Growing to $1,000,000 in ARR and beyond
As of this writing, Buffer Analyze has 982 customers collectively paying $47,443 monthly, which translates into $569,316 in ARR.
It’s hard to calculate the exact numbers, but some quick napkin math puts our costs somewhere around $1 million per year, which primarily includes salaries and infrastructure costs.
Analyze’s revenue should match our expenses this year, right around that $1M mark, and recoup its investment to date in the next two years.
A Final Note of Gratitude
Officially the Analyze team consists of seven people, but we are part of the larger team at Buffer and would not have had this same journey without their support along the way.
The Marketing team has spent years cultivating a strong brand that allowed us to reach out to prospects who were simply excited that Analyze was a new Buffer product.
The Customer Advocacy team in particular has been an absolute lifesaver for us, and I’m deeply grateful for their support (pun!) this year.
Everybody at Buffer played a part in helping us achieve success so far, and that privilege is not lost on me.
Over to You!
I’ve certainly had an amazing time on this journey, and couldn’t be more grateful for the team I’ve been privileged to work with.
If this story triggers any thoughts or questions, please reach out to me on Twitter or leave a comment below. I’m looking forward to hearing from you!
Try Buffer for free
140,000+ small businesses like yours use Buffer to build their brand on social media every month
Get started nowRelated Articles
Nine years ago, we decided to launch a new free product alongside Buffer. We called it Pablo, and it was a huge hit in our community. Within just seven months of its launch, half a million photos were created using Pablo. Similarly, we had the initial ideas for Stories Creator and Remix many years ago now. All three of these tools have been an important part of Buffer’s story. They’ve taught us lessons and helped us connect with a wider audience. In Pablo’s case, the idea for this tool happene
If you use Buffer, you might have experienced us having more downtime than usual recently. We want to start with an apology for not sharing more transparently along the way what’s been happening. We’ve been caught up in the work and haven’t invested enough in communicating with our community, and we’re so sorry about this misstep. We know some of our customers have had a frustrating time using Buffer recently and we need to do better by you. This past August and September were the months we’ve
As part of our commitment to transparency and building in public, Buffer engineer Joe Birch shares how we’re doing this for our own GraphQL API via the use of GitHub Actions.