Why I chose freemium
I recently bought a tiny SaaS business. When I took over, the original owner had built in a usage-based pricing model that started around $15 per month. As all aspiring private equity investors know, the first thing you should do when evaluating a business for purchase is to figure out how to raise prices. Counterintuitively, right after closing in early February, the first thing I did was set up a freemium pricing model.
Hexadecimal operates in a crowded space and competes directly with products offered by large public companies. Some entrepreneurs reject the idea of competition, but in reality, plenty of great businesses take this approach. Standing out in a crowded space is an exercise in market positioning, features, and pricing. Because the uptime monitoring business is essentially commodified, differentiated only by marketing spend and relatively minor features, Hexadecimal had to get a foothold with potential customers. Sometimes the quickest and dirtiest way to do this is going freemium.
When to (not) go freemium
Unique, premium enterprise products shouldn't go freemium. A product with high COGs should never go freemium (you don't want to lose money on the product you are selling). Most enterprise B2B products should not be freemium. Service businesses should not be freemium.
Freemium works given the following conditions:
- Your product has an entry point in the B2C space and can eventually go upmarket to B2B or B2C power-users (think Notion, Asana, Github).
- Your product has a huge TAM.
- Your product has very low fixed costs and sub-linear marginal costs for each new user.
- A clear conversion path from free to paid usage (e.g. metered billing, feature gating, service agreements or SLAs).
- No (or extremely low) manual onboarding effort.
- An LTV that can remain greater than CAC at increasingly large ratios of free-to-paid accounts.
On the surface, Hexadecimal checks these boxes. Let's dive in.
How big is the TAM?
To say that the market for uptime monitoring is large is an understatement. Estimates place the total number of websites indexed by Google at north of 30 trillion. While not every website needs uptime monitoring, most APIs and web services rely on tools such as Hexadecimal to alert users on downtime. There are estimated to be around 50,000+ consumable, public APIs. This doesn’t include the hundreds of thousands — if not millions — of private and paid APIs on the internet, and the API economy is only growing. Needless to say, a lot of prospective customers are out there and the market has room for many players.
How good are the margins?
All in monthly operating costs for Hexadecimal run around ~$150. The costs grow sub-linearly for each incremental user. With only 10 paid users (and around 50 free users), the gross margins come in around 80-90%. At the end of the day the software allows us to effectively re-sell compute time from our cloud provider (AWS) given that we have no COGs.
What is the LTV?
Huge TAM, great margins, but what about the actual lifetime value of a Hexadecimal customer? This gets tricky, and potentially where the Hexadecimal freemium model begins to run into snags.
Courtesy of Profitwell.com
Thanks to Stripe’s dashboard, we can easily find our current ARPU (Average Revenue per User) of ~$18 per month. As of today, Hexadecimal has churned no paying customers (!!). Using our formula above, our LTV = ($18 * months on the platform). The product has been around for 18 months, so the best I can estimate for customer lifetime is 18 months before churning (in reality, this will hopefully be longer). This gives us an LTV of ~$324. Pretty good.
However, by using a freemium model, ARPU will likely begin to decline. The current ratio of free-to-paid users is 5-to-1 (50 free accounts /10 paying accounts). The goal is to keep the ratio of free to paid users below 20-to-1. At a 20-to-1 free-to-paid account ratio, LTV drops to about ~$81 per customer (this is because our LTV calculation is inclusive of customers that pay us $0 per month). This gives us substantially less wiggle room for our CAC.
In a bootstrapped business, with no sales team and no paid marketing, calculating CAC (Customer Acquisition Costs) comes down to pricing my own labor invested. With our current LTV of $324, and assuming I pay myself (hypothetically) around $100 per hour, I should convert at least 1 prospect or, upgrade 1 free customer, per 3 hours of effort. In other words, if I spend 3 hours writing this article, I should walk away with at least 1 paying customer to show for it (hint, hint). What makes CAC calculations even trickier is the fact that it doesn't matter when I convert that person to a paying customer. Retroactively evaluating marketing impact can be a bit imprecise.
Given the challenges with estimating CAC, it's best to keep track of the total labor (sales and marketing effort) for a given time period. For example, in a given month if I spend 10 hours ($1000) marketing and selling my product, I should see 2-3 paid conversions. If I don’t, then I need to re-evaluate the effectiveness of my marketing effort and iterate. In practice, this is probably best to do over 1-3 month periods to give your marketing and sales efforts time to gain traction (e.g. SEO, viral marketing, or paid marketing) before running your calculations.
You can already see why keeping the free-to-paid ratio as low as possible is critical. The lower the ratio, the cheaper it is to gain new paying users. If this ratio rises to 20-to-1, we suddenly end up with less than 1 hour of marketing and sales effort per paying customer before our CAC becomes greater than LTV. Bad news bears.
A note on operating costs
CAC and LTV do not take into consideration development hours or operating costs (e.g. servers in this case). These are purely marketing and sales metrics that analyze the trade off of effort bringing a new customer on-board (paying) vs. the lifetime revenue from that customer.
For Hexadecimal, the addition of each account adds vanishingly smaller costs to the operating expense of the platform (in the order of cents per month). New feature development, while it has some associated costs to maintain, requires only up-front capital investment that gets amortized over the life of the product (hopefully years or decades). With total development costs for a product like Hexadecimal, the amortization approaches near zero as more users onboard and the platform continues to produce revenue. This is just a complex way of saying this software has high upfront costs, with minimal incremental costs and therefore scales well.
Do things that scale
Sorry Paul Graham, but if you are going freemium and you don't have VC money to throw around, you need to do things that scale. My labor is expensive (it is actually more than $100 per hour if you are curious). With an LTV somewhere between $80 and $325, the objective should be to create as wide of a prospect funnel as possible and consistently convert free to paid users. Initial strategies for Hexadecimal include:
- Product lead growth
- Viral marketing
I won’t even try to unpack these here as they all warrant a deep dive of their own. The point here is that with limited resources, and a wide initial pipeline of users, we need to look for things that don’t require increasingly more inputs as the number of users increases.
A little bit of psychology
A common refrain from entrepreneurs when it comes to free tiers is that it doesn’t force the user to invest into using the platform. Even Freud was famous for always charging for psychoanalysis sessions as a way to force the participants to anchor themselves to the practice by way of financial investment into the process. Curiously though, by not charging up front, and allowing Hexadecimal users to begin entering data in the platform, we have created a new type of anchor. If we can get the user to simply enter a single website (or endpoint) into Hexadecimal and test the platform, we have created a synthetic form of remuneration. The user is now paying us with their data. As the owner, we can now use this information to turn this free user into a prospect for a paid plan, in effect generating the warmest sales lead you could possibly ask for.
Freemium isn’t for everyone
Freemium requires conviction and a clear path to conversion. In a commodity-like space such as uptime monitoring, freemium will allow me a shot at prospective customers that otherwise might balk at Hexadecimal in favor of older players. As Hexadecimal’s user base grows, monitoring LTV, CAC, and free-to-paid ratio will be critical. If you are considering a free tier in your app, be sure to have your costs in check and a clear way to trigger a free to paid conversion. Otherwise, forgo the freemium model and stay as a 100% paid solution. Freemium isn’t for everyone.