Pricing is one of the hardest things for startups to get right because there is no universal and constant price optimum. As a SaaS startup’s product evolves and offers more features, the product’s price points should increase. As a sales team or marketing team engages different customer segments, price points may vary wildly. The contract for a F500 should have very different pricing than a startup, because of the stark contrast in the different companies' willingness to pay and value associated with buying the product. When competitors influence the market place, price points may change. Conferences, seasonality, news events, business development relationships, sales promotions all may impact pricing.
Given the dynamic pricing environment, the most effective way I’ve found to pursue the right pricing is to test constantly and then compare different prices' effectiveness at maximizing customer lifetime value. This is the process I’ve been using to benchmark different price points.
Determining if Price Points Impact Revenue
Within a one customer segment or across the entire customer population, divide the segment into two groups and sell at two different price points for a period of time that creates enough data to be statistically significant. My rough rule of thumb from statistics class is 30 in each bucket.
Track these cohorts through the first renewal period, or multiple renewal periods, to measure revenue churn rate.
Calculate expected value of a customer for each price experiment. The expected value I use is:
revenue_from_initial_term+revenue_from_second_term x conversion_rate_for_segment - cost_to_sell_initial_period - cost_to_serve_all_time - costs_to_trigger_renewal_second_term - discounts/incentives/other
This formula can be expanded to include as many renewal periods as the data allows.
Use Student’s T-Test to determine if the means of the expected values across the different price experiments differ. In practice, I use a p-value of < 0.01 as a measure of determining if one pricing model is better than another. In Excel, this command is TTEST(). In R, it’s t.test().
Graph the data on a boxplot to double check the distributions and make sure the conclusions make sense.
This is my quick and dirty method for drawing conclusions from company data about which pricing models are working. Searching Google, I came across quite a few products that do this on the Salesforce App Exchange, but I haven’t seen many of these applications in the wild.
I’m curious if other people have developed methods to test pricing for SaaS products across different segments that are more sophisticated or more automated.