Blogging has been an exciting experience so far. After writing about a simple framework for building Open Core businesses, I wanted to explore why Open Core is the better model (compared to Red Hat’s “Stable Release” approach). I didn’t do it, because I ended up writing about market data that proves that Open Core companies are financially more successful. Now I’m sitting here, and I want to write the Open Core “deep-dive” blog post, but my brain keeps wandering off. I can’t stop thinking about MongoDB, the open source vendor with the highest market cap[1]. It’s such a fascinating business and extraordinarily transformed itself over the last years. But let’s take it step by step.
Self-managed Software Was MongoDB’s Roots
MongoDB Inc. is the commercial vendor behind the MongoDB NoSQL database. Startup success stories are never a straight line, and MongoDB[2] is no exception. In 2007, the team planned on building an open source PaaS, but couldn’t find a database that would fit their needs. MongoDB was born, and eventually, the company scrapped its old vision and focused exclusively on building the database business[3]. Fast-forward a couple of years, MongoDB sees more than 30M downloads of the open source project, generates $100M+ in revenue, serves more than 4,000 customers, and goes public on October 20, 2017.
To quote from MongoDB’s S-1:
“MongoDB is the leading, modern database platform, built to run applications at scale across a broad range of use cases in the cloud, on-premise or in a hybrid environment. Our primary subscription package is MongoDB Enterprise Advanced, our comprehensive offering for enterprise customers that can be run in the cloud, on-premise or in a hybrid environment. MongoDB Enterprise Advanced includes our proprietary database server, advanced security, enterprise management capabilities, our graphical user interface, analytics integrations, technical support and a commercial license to our platform. We also offer MongoDB Atlas, our cloud hosted database-as-a-service, or DBaaS, offering that includes comprehensive infrastructure and management of our Community Server offering.”
In 2016, the year before MongoDB went public, the company generated 90% of its revenue from the downloadable, self-managed[4] enterprise product (called “MongoDB Enterprise Advanced”). Another 9% came from professional services associated with its enterprise business. Only 1% came from its “MongoDB Atlas” SaaS offering. That’s not surprising. The developer tool and infrastructure market lagged other market categories in terms of SaaS and public cloud adoption. It has started to shift over the last years, and nowadays, most newly founded B2B startups go SaaS first. But if you founded a company in 2007, the world looked very different.
In terms of numbers, MongoDB is a healthy, high-growth technology company (this was before companies like Zoom reset our expectations for what’s possible). Pre IPO, revenue grew 50%+ YoY, and MongoDB’s customer growth was accelerating with YoY growth between 70-90%.
I remember looking at those numbers a few years ago. I was curious about the financial profile of developer-focused companies to better plan and model the Codeship business. In 2016, there weren’t many public companies selling to developers. I looked at all of them, and there was a pattern between the Atlassian’s, New Relic’s, and Twilio’s of the world. All of them saw quarter-over-quarter increases in their average revenue per customer. It wasn’t surprising. New Relic and Twilio became successful through developers championing their products and bringing them into their companies. Atlassian did product-led growth before it became the latest trend of the day. Atlassian has always been focused on the end-user, a simple online purchase process, and avoided a sales team as long as possible. All those companies have terrific Net Dollar Expansion rates, and their customers spend more and more over time. Additionally, when those companies matured, they started to move up-market. Once they seeded their products with enough teams inside a given company, they sold enterprise-level agreements. Larger companies spend more on software, are often willing to prepay for many years, and churn less than the SMB or Midmarket segment. Starting with SMBs, the Midmarket, or small teams inside large organizations and eventually moving upmarket is a well-established playbook.
All of this brings me back to MongoDB. Atlassian, New Relic, Twilio - they all increased their average revenue per customer over time. They grew their customer base, and they grew their revenue proportionally faster than their customer base. MongoDB was the exception. Its revenue per customer declined over time, which at first didn’t make any sense to me.
It was even more astounding that while their average revenue per customer decreased, MongoDB successfully grew the number of customers paying more than $100K per year. At the end of FY16 (the first time they reported the metric), MongoDB had 246 $100K+ customers. One year later, the number grew to 354, and by the end of FY18, MongoDB had 557 of those high-value customers. Despite the larger number of high-ACV customers, MongoDB’s average revenue per customer decreased. The only explanation for that could be that there’s a growing long-tail of small customers.
Disrupt Yourself or Get Disrupted
When a company goes public, its S-1 filing shares much more data than a private company would ever transparently communicate. Yet, it only provides a short history, and if a company goes through a significant transformation, it’s hard to see the full picture. In hindsight, everything is more obvious. MongoDB was quietly working on their next S-curve. Developers are more and more building new applications in the cloud. It was clear to MongoDB that SaaS was the future. Without a solution for this increasingly important market segment, MongoDB knew that they couldn’t keep growing and would eventually stall and become irrelevant.
Looking back, MongoDB’s average revenue per customer decreasing was a good sign. The cause was its blossoming Atlas SaaS business. Only after the IPO, MongoDB started to break out dedicated numbers for SaaS vs. self-managed, and they are mind-blowing. Atlas grew 15.5x in FY18, 5.4x in FY19, and another 2.7x in FY20. It could be a standalone public company. What was 1% of total revenue at IPO time in 2017 became 44% of total revenue in Q2 2020 (= Q2’FY21).
SaaS revenue per customer is typically lower than revenue from self-managed products. It implies a specific customer segmentation. SaaS skews towards SMB, Midmarket, and pockets of teams in enterprises. Self-managed skews towards enterprises. Those large companies adopt new technology slower and have more stringent security requirements. The two worlds couldn’t be more opposite. SMB/Midmarket SaaS results in many small customers. Enterprise/Self-managed results in fewer and larger customers. Christopher Janz wrote a fantastic blog post about the different ways to generate $100M in revenue. I highly recommend reading it.
As long as MongoDB didn’t break out customer and revenue numbers per product, there was no way to tell them apart. The result was the confusing, decreasing average revenue per customer chart. With more data available now, we can analyze both revenue streams. We can see that MongoDB is growing its Atlas customer base, while its self-managed product is losing customers. Most customers of the self-managed product are likely converting to the SaaS solution. MongoDB is not churning those customers but leveraging its existing relationships to transition those customers to a cloud-native model. Despite the customer churn, the traditional business is still growing its overall revenue. The average revenue per customer of the self-managed business grew 3x over two years. That segment of customers is expanding, using the product more, and paying MongoDB more every year[5].
Even those hefty increases can’t offset the influx of small SaaS customers. The Atlas customers are paying a fraction (1/17!) of the self-managed customers. That’s despite the average revenue per SaaS customer doubling over the last two years as well. Keep in mind, this is positive, and only a testament to MongoDB’s SaaS efforts’ success. All it means is that the aggregated numbers are confusing, and frankly irrelevant.
Winners Consolidate Markets
The number of Atlas customers increased significantly FY18 to FY19. This jump didn’t happen organically. MongoDB acquired one of its competitors in the SaaS market in October 2018 (which is FY19) - mLab. In the same month, MongoDB Inc. decided to relicense the MongoDB open source project under the Server Side Public License (SSPL)[6]. The license change resulted in an outcry in the open source community. Debating whether the SSPL still counts as “open source” and why MongoDB felt they had to do this deserves a dedicated blog post. The purpose of the SSPL is clear. To quote from MongoDB’s announcement blog post:
“The SSPL is designed to make sure that companies who do run a publicly available MongoDB (or any software subject to the SSPL) as a service are giving back to the community.”
In a nutshell, this means that anybody who offers a MongoDB-aaS product needs to open-source the underlying code that makes providing such a service possible. MongoDB took a clear shot at the large cloud providers, particularly Amazon Web Services. AWS excels in taking open source projects and running those for their customers as-a-Service.
AWS mostly didn’t care. A few months after MongoDB’s license changed, AWS launched DocumentDB, a proprietary NoSQL database that is compatible with MongoDB[7]. The compatibility only works for older versions that were released before the license change. But, that’s sufficient for AWS to provide a migration path for the many MongoDB enterprise workloads that rarely run on the latest version anyway. I still find it funny that the DocumentDB marketing page uses the following headline: “Amazon DocumentDB (with MongoDB compatibility)“
The mLab acquisition was announced before the license change. I would be surprised if MongoDB didn’t use it as negotiation leverage against mLab. It might seem unfair, but it certainly wasn’t anti-competitive. MongoDB Inc. created the MongoDB open source project, owns its trademark, controls all contributions, and legally has every right to do the license change. If you build a business based on an open source project that a competitive vendor controls, it’s unlikely that you will succeed in the long-term. You will always be at the mercy of your competitor. That usually ends ugly, even if you sell into a different market segment (SMB/Midmarket vs. Enterprise). Selling your company for $68M isn’t a bad outcome under those circumstances. mLab’s announcement blog post of the acquisition is spot on[8]. But it doesn’t matter if you are first if you don’t control the critical pieces of your value chain.
“When we launched mLab in 2011 we were one of the first companies to offer a Database-as-a-Service. The value proposition to developers was simple and powerful. Instead of self-hosting and managing what is arguably the most complex and difficult-to-manage layer of the application stack (the database), developers could use a cloud service for this critical piece of infrastructure. By doing so, developers could focus on their applications because the provisioning, scaling, backup, monitoring, and management of their databases was taken care of.”
The value MongoDB got out of mLab was much more significant. Q4’FY19 was the first quarter that included the mLab numbers. Before and after the acquisition, MongoDB grew by roughly 800 net new customers per quarter (that’s the total number of customers, including SaaS and the self-managed business). mLab added ~4,300 on top of that. The revenue spiked similarly, and mLab had a one-time contribution of ~$7M (in this case, we are looking exclusively at SaaS revenue). Despite the phenomenal growth trajectory of Atlas, Q4’FY19 is still the best quarter in its history.
One small, successful acquisition doesn’t suddenly create a $100M+ SaaS Juggernaut. MongoDB did a fantastic job integrating the mLab business. Many companies recognize the need to move into a new market segment, yet fail in doing so. Leveraging acquisitions to speed up those efforts is happening regularly, yet rarely successfully. Moving into a new market segment is hard. There’s only one strategy that’s even harder to implement.
Moving Down-Market Is Nearly Impossible
To successfully build and sell a SaaS product when your company DNA is self-managed, and enterprise is incredibly hard. Most companies fail in this effort. It’s arguably even harder than doing it the other way around. In both cases, you need to change the culture of your company and bring in new talent. You need to partially forget what made you successful in the first place and learn a new skill set. All of that is difficult. When you move up-market, at least the incentives are well aligned. The more successful you get in the new go-to-market motion, the better you serve the enterprise segment, the more money you will make. It will take time, no doubt, but your hard efforts are rewarded by significantly larger deals than what you are used to. The cherry on top is that you often can get those new enterprise customers to prepay for multiple years.
Doing it the other way around doesn’t come with the same incentives. If you are used to 6 or 7-figure ACV deals, investing many resources across the company to sell 5 figure ACV deals isn’t all that interesting. Your entire organizational structure, operating cadence, skillset, and culture optimize for large contracts and customers. All your core processes, from building (R&D), attracting (Marketing), selling (Sales), onboarding (PS), and retaining (CS) customers, need to change. To be fair, that’s also true if you move up-market. There are two significant differences when going down-market, though.
First, the company will make peanuts from this new market segment initially. Instead of celebrating the win of a $500,000 customer that prepays for three years, you get a $2,500 customer that pays monthly. The incentive structure that allowed you to hunt the $500K whales disincentivizes you to go after the small $2.5K customers. Initially, your sales team will hate it. Why should they sell this new monthly SaaS thing if they could also try to talk the prospect out of it and do the 6-figure self-managed deal? They will worry that they will make less money (which is true unless you do it well and set the right incentives, which are expensive). Your support team will start a mutiny because suddenly, they need to field questions from so-called “high value” users in the free tier who pay nothing. Those new users will ask basic questions because suddenly, Professional Services isn’t around to onboard and hand-hold every critical customer. Your product experience is likely not optimized for this new self-serve world and an onslaught of new users and customers that need to figure out everything by themselves. These changes will freak out the product organization. They are already flooded with RFEs about the self-managed product (and those customers are paying much more, right??), yet they suddenly need to build this consumer-style onboarding experience. All for a whopping $2,500 per customer.
Second, when you move up-market, you hire additional roles, add more people to the team to work with your new and essential customers. You are adding resources on top of the healthy amount of automation you already built. The product already has great onboarding and fantastic documentation. Your marketing optimized your website to explain what you do without getting on the phone. When you go down-market, it’s the other way around. None of this exists, and all of it is suddenly needed. What makes it worse, you need to remove people from the process. If you don’t, you will never see attractive unit economics. Your product, your processes, and your systems will only evolve if you brute-force it. These changes inflict pain, and you will have little to show in return in the beginning.
Yet, despite all of it, MongoDB succeeded. It’s possible, even if it’s the exception. MongoDB gets a lot of praise for the runaway success of its Atlas offering. It’s obvious to everybody now. It’s growing phenomenally well. At the latest next year, it will overtake the traditional self-managed business in terms of revenue. It’s easy and obvious in retrospect. But it’s unbelievably challenging and unrewarding while you are doing it, and have nothing to show, yet. I can’t think of a single company besides MongoDB that did it successfully. Adobe transformed into a successful SaaS vendor, which is incredible. They didn’t move down-market, but their transition from upfront perpetual license fees to monthly subscription is difficult. If you can think of more examples, please let me know. I would love to study and learn from them. In the meantime, if you are struggling to move up-market, just keep in mind, it could be much worse.
[1] $12.6B on Sep 4, 2020.
[2] For better readability, I won’t distinguish between MongoDB the open source project and MongoDB Inc., the company.
[3] Source: https://www.mongodb.com/press/10gen-announces-company-name-change-mongodb-inc
[4] Why I prefer “self-managed” as a term over “on-premise” justifies a dedicated blog post. TL;DR: Customers manage the software they purchase themselves, but not necessarily on-premise. It could also be inside a Virtual Private Cloud (e.g., AWS, Azure, Google, etc.).
[5] It could also be that MongoDB is losing low-ACV self-managed customers and replacing them with high-ACV self-managed customers. I think this is unlikely. It’s more likely that MongoDB is converting the low-ACV self-managed customers to SaaS, which only leaves the high-ACV customers on the self-managed product. Those customers also expand, and that drives up the average revenue per customer significantly. This also shows in MongoDB’s consistent 120%+ ARR Expansion Rate.
[6] Source: https://www.mongodb.com/blog/post/mongodb-now-released-under-the-server-side-public-license
[7] Source: https://www.geekwire.com/2019/amazon-web-services-calls-mongodbs-licensing-bluff-documentdb-new-managed-database/
[8] Source: https://blog.mlab.com/2018/10/mlab-is-becoming-a-part-of-mongodb-inc/