The Ultimate Guide to Pricing your SaaS Startup with Data

Unless you find an alternative business model to monetize a totally free SaaS product, you’ll have to attach a price tag to it.

In this blog post, we’re not going to talk about different business models, seat-based VS usage volume pricing, or subscription VS pay-as-you-go. We’ll focus solely on how to identify your initial price tag; regardless of how that price tag is charged and what product or service it is attached to.

The (literal) Billion dollar question then is: how much should our SaaS product costs?

This is the wrong question to ask. Your pricing should change over time to reflect new features, align better with your product value, serve new customer segments, etc.

So the actual Billion dollar question is: how much should our SaaS product costs to begin with?

As someone with a technical background, I initially struggled to appreciate that pricing isn’t a problem that data and engineering methods can solve alone. Pricing a product actually involves a lot more psychology and art than science and is one of the most challenging problems my co-founders and I have attempted to solve when launching Uizard, an easy-to-use design tool for non-designers.

You could of course start charging at whatever arbitrary price you deem adequate and adjust along the way. However, in our team, we like to back every key decision with data and settling with an initial price tag for our product was no exception.

In this blog post, I’ll highlight a pretty neat data-driven approach that we used at Uizard to identify the initial price for our SaaS monthly subscription plans. It’s far from perfect but it allows a startup to make a data-backed estimate to start with. In my humble opinion, this is much better than a guesstimate.

We’ll walk through the core 4 steps of our method:

  1. Van Westendorp is your friend
  2. Segment, segment, segment, and segment
  3. Benchmark expected value VS actual value
  4. Brace for impact, test, optimize, and iterate

1. Van Westendorp is your friend

The most important part of this method is a tool called: the Van Westendorp’s Price Sensitivity Analysis (or sometimes called the Van Westendorp’s Price Sensitivity Meter) which was developed in in 1976 by Dutch economist Peter van Westendorp.

Before you can use this mathematical tool, you need to collect data from your customers / early sign-ups / prospects / beta members by simply asking them 4 questions (the labels in parentheses are for later references):

  • At what price would you consider the product to be so expensive that you would not consider buying it? (Too expensive)
  • At what price would you consider the product starting to get expensive, so that it is not out of the question, but you would have to give some thought to buying it? (Expensive)
  • At what price would you consider the product to be priced so low that you would feel the quality couldn’t be very good? (Too cheap)
  • At what price would you consider the product to be a bargain — a great buy for the money? (Cheap)

You can ask these questions during the direct calls and interviews that you have with your customers or shoot a survey. At Uizard, we’ve done a mix of both through direct Zoom calls, a TypeForm survey, and by centralizing all the data in one good old Google Sheet.

As with every data-driven solution, you need to collect enough answers for the insights to be statistically significant. What’s “enough” obviously depends on your business but 250 answers should provide a solid benchmark.

To illustrate the method described in this section through examples, we’ll use a fake dummy toy dataset of 1000 answers.

Example for a few price buckets for the question Cheap. First column: Price buckets you set-up yourself. Second column: the number of answers in each price bucket. Third column: the cumulative count (from 0 for Expensive and Too Expensive and inverse cumulative count from your total for Cheap and Too cheap: 1000 being the total number of answers for this dataset). Fourth column: the percentage rate (this is what you plot).

First of all, you’ll need to clean your data to ensure that you get valid results from your analysis. For example, a data point where the dollar amount for “Cheap price” is higher than “Expensive price” is obviously not valid. Once your data is clean, you need to group and count the answers that fits into predefined price buckets, and compute the percentage of cumulative answers fitting in each of them (as detailed in the table on the left).

Once you’ve computed the rates for all four questions, you can plot the results and you should get a chart that looks like the one in the image below. The colors and labels correspond to the answers to the different questions listed earlier.

Raw plot for the Van Westendorp price sensitivity analysis for our toy dataset.

Now you are ready to extract some insights!

As shown on the figure above, the optimal price point in our toy dataset is roughly $23.35 and the acceptable price range is [$20.6, $27.5].

Example for a few price buckets to compute the price elasticity of demand using the answers to the question Too expensive. You simply need to compute the inverse cumulative count and the percentage of answers in each price bucket: please note that for our toy dataset, we have a total of 1000 answers.

More interestingly, we can also compute the inverse cumulative count for the answers to the question Too expensive to get an estimate of the price elasticity of demand. The price elasticity is a measure of the change in the purchasing likelihood of a product in relation to a change in its price. In other words, it helps answer: How many customers are we likely to lose if we increase the price by $N?

Price elasticity of demand plot for our toy dataset.

By plotting the price elasticity rate, you should get a graph similar to the one in the figure above. What this tells us is pretty interesting: the price becomes inelastic between $35 and $45 (and above $50 but we will ignore this here). In other words, according to this toy dataset, about 50% of your customers don’t think that your product is too expensive if it costs $35; and 45% don’t think that your product is too expensive if it costs $45. In theory, that means that if you increase your price by $10, you are expected to lose only 5% of your customers. By pricing your product at $45 instead of $35, you are therefore expected to lose 5% of your customers while your revenue can potentially increase by 28.5%.

We can combine the two insights we just discovered to set up our initial pricing. That is, the optimal price point (i.e. $23.35) as an entry point price and the higher end of the price elasticity plateau (i.e. $45) as a premium price. This could work, but we can do better, so let’s see what we can do to refine our estimates.

2. Segment, segment, segment, and segment

We’ve considered all answers equally the same and we’ve completely ignored personas or different levels of customer engagement. We could definitely get running with our raw pricing estimates but it would be pretty suboptimal.

It’s fair to assume that very different pricing dynamics could emerge if we filter out answers from customers not being very active, or based on the type of company they are working at, or whether they use your product individually or as a team, etc.

The only way to find out is to segment!

Segmenting the answers to the Van Westendorp questions can lead to very different pricing estimates for each segment (e.g. significantly higher optimal price point for a given segment, no price elasticity for another segment, etc.)

Because you made sure to store the email addresses of the respondents to your Van Westendorp questions, you can merge their answers with the information you already have about them. This allows you to segment the answers based on whatever criteria makes sense to your business and generate Van Westendorp plots for each of them. In turns, this enables you to figure out if there are significant pricing differences between segments:

  • Is there a significant price difference between people spending 2 hours per day in our product VS 30 minutes per week? (segment based on how active respondents are in your product)
  • Are sales people willing to pay more than marketing teams for our product? (segment based on job title)
  • Are people working in Enterprise willing to pay more than people working in startups? (segment based on size / type of company)
  • Is there a significant price difference between customers in North America VS South East Asia? (segment based on geography)
  • Are young adults willing to pay more than teenagers for our product? (segment based on demographics)
  • etc.

In our case, our product Uizard is an online collaborative design tool for non-designers. We enable startup founders, product managers, and business analysts to easily design mobile apps and websites mockups. For us, segmenting the answers to the Van Westendorp questions on job titles and team size led to the most significant findings.

This is going to sound a lot like a startup cliché but it’s overly important: if you don’t have any information on your customer personas and profiles, then stop reading this blog post, forget about pricing for now, and go speak with your customers / early sign-ups / prospects / beta members NOW!

As pointed out by Patrick Campbell, CEO of ProfitWell in this great read:

If you don’t know who your key roles/segments are, there’s no way in hell you’ll set up an efficient growth flywheel, let alone an optimized pricing strategy.

3. Benchmark expected value VS actual value

Before we launched Uizard publicly in the wild world, we ran an invite-only private Beta. When people signed-up on our landing page, their email address would land on a waiting list and we would invite batches of people on a weekly basis.

For some batches of invites, we would ask people to fill up our Van Westendorp pricing survey twice: once before they could get access to Uizard and once after they used it for 2 weeks.

This allowed us to check if the expected value people thought our product would deliver was aligned with the perceived value after using our product by watching out for significant difference between the results of the Van Westendorp’s price sensitivity analysis.

A significant gap between the perceived price (i.e. before using the product) and the actual price (i.e. after using the product) would shed light on problems you need to solve. For example:

  • If the perceived price is significantly higher that the actual price, you are either over-promising in your marketing materials or your product is not creating enough value.
  • If the perceived price is significantly lower that the actual price, you might want to improve your marketing materials as you are probably not communicating the value of your product properly and missing out on potential customers.

4. Brace for impact, test, optimize, and iterate

The method described in this blog post has been key to help us make an educated estimate for our initial pricing. It is business-agnostic and can help you figure out pricing for your own SaaS startup regardless of whether you want to charge seat-based subscriptions, usage-based invoices, one-off payments, or whatever other model you come up with.

At the end of the day, it’s important to remember that the only real pricing validation is customers paying you actual money for your product. Sooner rather than later, you’ll need to take a leap and see if customers actually convert.

Your first price is going to be wrong no matter what. The method described in this blog post is only going to help you mitigate the amount of wrongness! 😉

Keep in mind that your pricing will have to change over time. Pricing is utterly complicated, mission critical, too often under-optimized, and is driven by a lot more variables than just the amount of dollars it represents.

As pointed out by Kyle Poyar, Partner at OpenView to introduce his amazing list of resources that I highly recommend:

Nailing your SaaS pricing strategy requires more than just picking the optimal price and forgetting about it. Pricing must be continuously monitored to ensure you’re effectively landing, expanding and retaining your customer base.

Thanks for reading and good luck!

If you are a product-obsessed founder constantly optimizing your product user experience, try out Uizard for free. We make it super easy for you to design mobile apps and website mockups to visualize and test new ideas with your teams and your customers.

To discuss this content in more details, I’ll host an AMA session on Clubhouse next week on Wednesday the 21st at 10am PT. Join the conversation!
Or shoot your question on Twitter to

Co-Founder & CEO | building design and dev tools using machine learning | Forbes 30u30

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store