We launched Canny almost a year ago. During that time, we reached ramen profitability. We also changed our pricing four times.

As a bootstrapped startup, we needed to monetize from the start. Not to mention, paying customers is a great signal for product-market fit. We knew pricing would be essential to get right.

But this isn’t a story about how we doubled our pricing and became an overnight success. In this post, I’ll go over each attempt, our mistakes, and what we learned.

Embrace the unknown

When you first start out, pricing is more of an art than a science. You don’t have enough customers to run A/B tests, every attempt goes out to 100%.

That’s why it was crucial for us to talk to our initial customers during these experiments. We kept a pulse on their sentiment instead of making decisions on data.

  • Are people willing to pay for what we offer?
  • Are people confused about our pricing?
  • What makes people hesitant to buy?

Attempt #1 (March 2017 – April 2017)

Pricing Attempt #1


Decided on prices
A tad better than pulling numbers out of a hat: we chose numbers based on competitor pricing and our gut.

Priced based on a value metric
For Canny, a feedback management tool, we landed on total number of users. Our thinking was: the bigger the user base, the more feedback they’d get, and the more they should pay.

Included a $2 plan
We opted for a cheap plan instead of a free plan. The idea was to avoid high support costs and weed out people who weren’t serious about using Canny.


Unmeasurable metric
There was no way for us to know the total number of users of a product. People who realized this signed up for the lowest plan.

Confusing value metric
People didn’t understand what we considered a “user”.

Lack of focus
This was our biggest problem. We made the mistake of trying to target B2B, B2C, and consumer companies. The use cases were drastically different so pricing was completely misaligned.


Our launch went quite well. It seemed like people resonated with what we were building. Still, there was a lot of confusion around pricing.

On the other hand, we got messages about increasing our prices

As we got more input, we were able to identify patterns that started shaping our target audiences.

The $2/mo plan was a bust. We expected way more people to opt-in. We ended up wasting time chasing people for what ended up being only $24/year.


The more you narrow down your target audience, the better you can position your plans. When someone looks at your pricing page, they should understand which plan, if any, is for them.

You can always expand your audience after you have a better understanding of the market.

Attempt #2 (May 2017 – July 2017)

Pricing Attempt #2

We talked to many potential customers in attempt #1. That’s how we were able to hone in on our ideal customer and their use case.


Chopped the $2 plan and added a custom plan
The $2 plan made us look cheap. The custom plan adds flexibility and anchors us higher.

Lowered our user limits
We learned in attempt #1 that Canny was less valuable for consumer companies. So we cut them out.

Added new limits
We thought more limits would encourage people to upgrade.


Unmeasurable metric
We were still charging based on total users without being able to know how many users they have.

Ineffective plan names
Your plan names should guide the customer into the right bucket. These names didn’t mean anything to our target customer.

We intended for the extra limits to push people into higher plans. They ended up pushing people away altogether.


The lower user limits worked! While the plans were more complex, we started seeing more B2B and B2C companies sign up and convert.

That said, over 70% of teams signed up for the lowest plan because of our confusing “end user” limit. We knew we still had to nail the right value metric.


Keep things simple. From the features available to the design of your pricing page. Customers shouldn’t need to spend time calculating what they might need. Avoid putting them in an analytical mindset.

Intermission: The Survey

A few months after launch, we reached 50 paying customers. After reading countless blog posts about pricing, we tried to use data to inform attempt #3.


Ran a survey using the Van Westendorp method
If you’re not familiar, this survey consists of four questions:

  • At what price would you think Canny to be so expensive that you would not consider buying it? (Too expensive)
  • At what price would you think Canny to be so cheap that you would question the quality? (Too cheap)
  • At what price would you think Canny is starting to get expensive, but you would still consider it? (Expensive/High Side)
  • At what price would you think Canny to be a bargain—a great buy for the money? (Cheap/Good Value)

Analyzed the results (21 responses)
Which ideally looks something like:

But here was ours:


Too few data points
There was too much randomness, making our results unreliable.

Irrelevant sources = irrelevant data
Half the data points were from people not in our target audience.


While the responses were interesting, the survey itself was a waste of time.


We can see how a survey like this would be helpful further down the line. Back when we ran it, we couldn’t collect enough relevant data points for this to be conclusive. You’ll learn more by actually changing your pricing and talking to users at this stage.

Attempt #3 (August 2017)

Pricing Attempt #3


Cut down to a single plan
We eliminated confusion about which plan to choose.

Large price increase
We wanted to stress test willingness to pay.

Cut down to a single measurable metric
No more complexity with several different limits.

Introduced scaling pricing
We liked the idea of starting somewhere and growing with usage.


Our scaling metric is hard to predict, causing anxiety for potential customers.

High starting price cut growth
We cut out early-stage customers who couldn’t afford this price point.


We didn’t have to look at Google Analytics to know that signups plummeted. Definitely due to higher prices and anxiety over scaling prices.

But the companies that did sign up were bigger and more qualified. There were teams willing to pay the price and scale with usage! This attempt confirmed that we made the right decision by going after B2B and B2C companies.


In hindsight, this was an overdramatic and impatient change. But it worked out. Don’t be afraid to make drastic changes. Attempt #2 was too timid and gave us lukewarm feelings around success.

While you’re making big changes, take care of your existing customers. If you’re raising prices, grandfather them to their current plan. If you’re lowering prices, give them some alternative options.

Attempt #4 (September 2017 – Present)

With three attempts under our belt, we felt confident going into attempt #4.


Brought back multiple plans
We created plans for each of our further developed buyer personas.

Tweaked numbers for a more generous scaling metric
We reduced anxiety by scaling slower and showing a slider.

Hid features under a toggle
To keep things clean, we only show the feature breakdown when you need it.


We stuck with scaling pricing even though it’s unpredictable. We know if we can pull it off, it’ll be a great way to offset churn.


If we were pushing a boulder up a hill, this felt like the peak.

  • We nailed our buyer personas and created plans for each.
  • We defeated complexity with a single measurable metric.
  • We lowered our starting pricing but kept scaling with usage.

Qualified conversions were coming in and people were rarely messaging about pricing confusion.

The best part: to this day, none of them have churned.


Your pricing will never be perfect. We’ve learned to see the tradeoffs and optimize for what’s important to our business.

For us, attempt #4 attracts customers we want and supports the revenue we need to push forward.

Why attempt #4 rocks

It definitely felt like we were making strides with each attempt but let’s see what the numbers say. Charts courtesy of our friends at ChartMogul.

More expensive plans acquire fewer customers. Makes sense.


Average Revenue Per Customer (ARPC)

What’s more exciting, is our ARPC. While we acquire fewer customers, they pay 4-5x more per month than when we launched. Our pricing changes had a direct impact on this.

Average Revenue Per Customer (ARPC)
Average Revenue Per Customer (ARPC)


Churn is a very important number to keep an eye on. Here’s what it looks like when we split our churn by pricing attempt:

Customer churn
% Rate of Customer Churn

Churn from our first two attempts is much higher. The reason: those plans attracted more startups. As a result, several customers churned because their startup was shutting down. Recently, we’ve seen bigger, more established, companies sign up. In several cases, they end up scaling and offsetting our churn:

Customer Net Churn
% Rate of Customer Net Churn

High ARPC and low churn mean high customer lifetime value (CLTV)! As we continue building Canny, keeping an eye on our CLTV will be important for optimizing our spend.

Attempt #5?

We’ve been with attempt #4 for over four months now but we know this isn’t the end. As we increase value via new features, we want to increase our pricing as well. We want to reinforce that Canny is a premium product. So much of pricing is psychological.

These are some experiments we’re considering:

Free plan
Last year, we went to this talk by Nick at ChartMogul on why they went freemium. Depending on your strategy, going freemium might be a great way to grow. For a public-facing product like ours, more customers would boost word-of-mouth growth.

Startup planWhen we started Canny, we wanted to be able to support teams of all sizes. Providing a generous startup plan would allow us to serve young companies.

We’re already testing this out by offering it as a custom plan. If you’re an early-stage startup that would like to use Canny, reach out to learn more about our special pricing.

Better trial
We started with a 30-day trial then we shortened it to 14 days. We aren’t happy with either. Instead of a time-based trial, new customers should be able to onboard at their own pace. Only pay once you start seeing value.

There is no such thing as beginner’s luck

If we started this whole process again, we’d start with a single $50/mo plan. It’s straightforward, giving no reason for confusion.

First pricing plan
Keep it simple, silly

Identify your target customer by talking to people and listening to objections, From there, price with them in mind, focusing on clarity and simplicity.

Once you have a good foundation, experiment! For us, scaling on a value metric is working well. Our customers who get the most value pay the most each month. For you, per-seat pricing could make more sense.

Pricing something you’ve put your heart into creating is tough and often emotional. Accept that your first attempt won’t be your pricing for long. Optimize to learn. If you’re in a similar boat right now, we hope this helps. Thanks for reading!