Launch HN: Corrily (YC W21) – Price Optimization for SaaS
We’re building a price optimization service for subscription and usage-based companies. By wrapping our API around the prices you display on your frontend and integrating with Stripe, we allow you to experiment with your pricing and find optimal prices, and localize them to the user’s country.
When we met, we were both quants, and Abel was focusing on price-formation and market dynamics for a hedge fund (this was before WSB became the authority for price-formation). We got along well, did weird side projects such as parsing 17th Century newspapers and throwing them at NLP models, and decided to launch a startup. Before getting accepted into YC we were working on a slack bot of all things. We probably got into YC, in part at least, thanks to this HN post (https://news.ycombinator.com/item?id=24886936) which made it to the top page a day before our interview and allowed us to get around 60 leads. But we had trouble pricing our service. So we took a deep dive into how businesses do it currently, and were… underwhelmed.
Surveys! Whether Van Westendorp [1], Conjoint analysis [2], or Gabor-Granger [3], pricing generally involves sending out surveys to people asking how much they would pay for a service. It’s expensive (a Simon-Kucher engagement will cost you in the high 6-figures), time-consuming (~9 months), and based on ex-ante perception rather than empirical evidence.
We strongly believe in charging a fair price, inclusive of the purchasing power of each country. And it also makes economic sense. But because it is so hard to do price-experimentation, only large companies can adapt their pricing per country. Right now, a slack plus seat costs $12 in the US and $6 in India. Netflix’s monthly subscription will range from $3.75 in Argentina to $19.12 in Switzerland.
So we dropped the chatbot and built Corrily! Subscription pricing has an interesting psychological dimension which makes the prices you display linked to each other. The price of your first tier will influence the conversion rate of your second tier, and the annual discount you give will influence the conversion rate of your monthly subscription.
Our favourite example of the psychological dimension of pricing is described in Predictably Irrational by Dan Ariely. The Economist for a while had 3 subscriptions: an online subscription for $59, a print subscription for $125, and an online + print subscription for $125. The reason to add this odd print subscription was because it reframes the difficult question in the purchaser’s mind from “how much am I willing to pay for The Economist?” to the much easier question “Which of these offers is the best bang for my buck?”.
The way we solve this is by testing all prices at once using Bayesian Optimization. We continuously measure the RPV and LTV of users based on the set of pricing they are shown. We briefly experimented with multi-armed bandits to decide when to show a user an experiment, and found that quant finance techniques used for trading ETFs at VWAP perform much better.
Corrily is easy to use and integrate with. Here’s our developer portal with some easy-to-use docs to get you going https://doc.corrily.com . Let us know if you’re interested in a test API key.
We’ve seen early signs of companies growing their conversion rates by >30% as a result of integrating Corrily. It’s not something we’re prepared to shout from the mountaintops just yet, but it is a sign that there are many mispriced prices out there. We’re here to try and fix that.
We’re long time fans of HN and have grown up reading it. Any and all feedback or criticism is greatly appreciated.
Thanks ~ Abel and Andrej
[1] This site can’t be reached
www.corrily.com took too long to respond. The temptation would seem to be to run with your system for 12-18 months and then turn it off once the numbers seem optimized. Do you expect that and how do you intend to combat it? Then there are smaller companies. Think Seed or Series A companies that focus on getting prices in the right ballpark. For them, we provide a lot of value at first by finding the right price (and country adjustments) at first, and then provide a bit less value when they found prices that seem to work well. We adapted our pricing to reflect it with a low-ish subscription fee to maintain our infrastructure and show localized pricing to their users, and an experiment-linked usage based fee. We're happy with this system as it aligns well with the value we are providing. Later we will add dynamic promotions (think personalized time-limited promotions based on the user's usage of the app, or country holidays promotions) to increase conversions and help companies be local at scale, which should help us generate ongoing value, even to smaller companies. There's a fascinating presentation by Jeremy Howard discussing dynamic insurance premium pricing: https://www.youtube.com/watch?v=vYrWTDxoeGg In short, price A/B testing is legal and common practice for most companies, and VWO's article seems a bit too quick to jump to declaring it illegal. [1] https://en.wikipedia.org/wiki/Sherman_Antitrust_Act_of_1890 [2] https://www.law.cornell.edu/wex/Clayton_Antitrust_Act [3] https://en.wikipedia.org/wiki/Robinson%E2%80%93Patman_Act [4] https://www.ftc.gov/tips-advice/competition-guidance/guide-a... [5] https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A... In particular, if a customer might have seen multiple prices for the same thing around the time of purchase, for example on a pricing page checked on a phone and then on a checkout process completed on a PC, you would surely want to have solid evidence that the actual price charged had been clearly understood and accepted at the time of payment. [0] https://www.econstor.eu/bitstream/10419/205221/1/de-Streel-J... If you’re looking for feedback, my immediate question would be how Corrily handles the issue of sales tax/VAT. This has become a big hassle particularly for B2C merchants already in places like the EU but increasingly around the world as governments decide they want their piece of the online sales pie. This might be relevant to a service like Corrily for two reasons. Firstly, as an anecdotal data point, we are only really interested in using payment services that handle the tax collection, remittance and reporting transparently at the moment. It looks like that would make it impossible for us to ever use Corrily since Stripe doesn’t currently offer that functionality. Secondly, for a business that is starting to grow into international markets and starting to take issues like local purchasing power into account in its pricing model, there are going to be zones where the local tax rules mean the highest gross price isn’t necessarily going to yield the highest net revenues. Maybe these windows are too short to be of interest to your target market or to be worth the effort to take them into account in your models, but instinctively it feels like the kind of technicalities that a service like Corrily ought to get right if the whole point is to identify and maintain optimal pricing for each local market. Adding VAT to bills at local standard rates is only one small aspect of VAT compliance. You also have the actual reporting and remittance processes everywhere they apply. You might have some complications if any special rate applies to your product or service. Then there are the perennial questions of jurisdiction and extra-territorial enforceability, which I will leave to the lawyers and accountants because they make my brain hurt and I just want a definitive answer to what our true obligations are so we can comply with them. The worse part, particularly for a smaller business with no dedicated staff to work on this stuff, is how often the situation changes, sometimes at very short notice, and with no central authority you can monitor or that will notify you when you need to act. I have spent far too much time over the years updating our systems to get the implementation as close to exactly right as we reasonably can. I have spent even more time just watching things and trying to keep up with what our obligations were. The opportunity cost of that time alone must have been several orders of magnitude greater than the total difference in taxes ever collected and remitted as a result. That was, with hindsight, an absurd way to run the business. Being by-the-book, we should probably have just stopped all sales to the rest of the EU, which has only ever been a relatively small market for us, as soon as they introduced the more onerous VAT rules. (No doubt many businesses instead took a pragmatic view and simply ignored the rules and didn’t comply, and I suspect few of them have suffered significantly for it in practice.) That is a lesson learned, and it’s not a mistake I will make again. Fortunately, we don’t have to, because there are now several services that will collect payments but also handle sales tax/VAT compliance transparently. Their value proposition appears compelling: we can sell everywhere, be fully compliant, and not be responsible for maintaining the implementation, all at the same time. So these services are where we are looking as we start the new business, and time will tell whether the reality meets expectations. I imagine that if we do settle on one and we are still happy with it after using it for a while, we will start using it for other businesses any of us run as well, and services like Stripe will move to a legacy role and ultimately be phased out entirely. An interesting case of privatizing the enforcement of government regulation! But yes it does sound like a compelling value-add; note that this value is required by any world-wide marketplace, even the small ones, if they don't want to be at risk. It kind of sucks that VAT is like 20% but that's still not enough to pay for a public version of one of those VAT compliance services. I don’t know how you solve those problems without scrapping VAT entirely, with some profound implications for your entire tax system given how much tax revenue governments currently bring in this way that would presumably be shifted to other sources. (I can’t help wondering whether removing VAT would also increase productivity enough by itself that it would offset at least some of the lost tax revenues automatically.) Whatever the plausible alternatives might be, it seems obvious to me that the current system doesn’t work very well for anyone. I have a product[1] that teaches developers vim. It is a one time purchase. I’ve had many requests for purchase power parity. I’m currently using stripe checkout. Could I use your product to get dynamic prices for my product? If $Y > $X and $Y < $VALUE_TO_YOU, how would it be unethical to optimize prices to find $Y? The big companies are masters of this and continue to get better as computing gets faster. It worries me a great deal that everything is or has become a monthly payment in perpetuity. In some deeper sense though, I commiserate with your point on technology being alienating through its strive to over-optimize everything. Except, I think much of this friction will inevitably have to be solved by further application of technology itself -- it's always a double edged sword.. In our case, as Abel explained, one of the things we're trying to solve are very apparent international mispricings. Growing up in post-communist E Europe in the 90s I remember buying pirated games from street vendors. An unawareness of international pricing can easily price out many a potential client! :) [1]: https://twitter.com/poyark
[2]: https://techcrunch.com/2021/01/29/subscription-based-pricing... We think it's pretty cool to align a business incentive (reach more markets) with an economic one (poorer nations and richer nations paying different amounts). I actually wonder a lot what other people think about this because I think it is an important point. Is it fairer to price differently according to willingness to pay given not everyone has the same purchasing power, or to give the same price to everyone? A few thoughts: Conjoint isn't typically used for pricing, but for finding the attributes of products that maximize consumer desire / utility Conjoint is a hierarchical Bayesian method... so also Bayesian Optimization I like the idea of a continuous optimization via API rather than a survey, tightens up the feedback loop for smaller SaaS products You're going to want to get some academics to back your theoretical grounding - it's actually a sales thing if you're ever trying to sign larger contracts. There is no such thing as a "fair" price, just the market price How do you prevent users from feeling cheated when they realize someone else may get a different price? Or worse, just refreshing until they get the lowest price for the tier they want? This is probably the biggest sticking point of your service - larger companies probably can't get away with changing prices after launch. Congrats on the launch! The other aspect is to prevent a user from receiving different prices. To prevent that we do a few things. We remember the prices that were displayed to a user and can make sure an entire country gets the same prices during an experiment. [1] https://www.comparitech.com/blog/vpn-privacy/countries-netfl... [1]: https://www.theatlantic.com/magazine/archive/2017/05/how-onl... Airlines price classes of seats individually. If one is sold, the next user sees a different price. A rule based system is fairly common. They’re not using RL or dynamic pricing algorithms. In fact, I’d wager most don’t have the technical expertise or even data (with the rise of meta-search) to do so. European prices usually include VAT, while US prices don't include state taxes, since they are applied at checkout based on your location. That ends up being the same price in the end. [1] https://www.surveymonkey.co.uk/pricing/?ut_source=homepage&u... What’s the minimum conversion/traffic for running robust experiments? also how do you a/b test in the same country without risking people feeling lack of fairness?47 comments
[ 0.42 ms ] story [ 108 ms ] thread