Date of Recommendation: Nov 19, 2019 Closing Stock Price: $140.99
MongoDB (MDB) stock should be considered for long term investment. Based on my characteristics for a successful software stack company, I expect MongoDB to grow significantly over the next 5 years. This will be driven by their rapidly expanding product offering in an enormous addressable market. Their database product is developer friendly and represents a popular choice for start-ups. MongoDB has strong developer evangelism and is the default database component in the introductory software stack taught at most coding bootcamps. Their cloud-first Atlas product is rapidly gaining share and provides a vendor-agnostic solution. The pace of enterprise migrations is increasing as MongoDB expands into adjacent use cases. I expect the stock price to exceed $490 within the next 5 years.
As stated in this blog’s first principles, I will not spend time on deep analysis of the company’s financials. Not because these aren’t important as part of an investment decision, but I think financial analysis is better handled elsewhere. This blog’s focus is on the MongoDB product offering, its position in the market and potential growth as a critical element of a modern software stack. In depth financial data and analysis can be found on Seeking Alpha.
With that said, here are some high level metrics that I find appealing about MongoDB:
- Overall revenue growth of 67% year/year in the most recent quarter, with 71% growth in subscription revenue
- Atlas (new cloud-based offering) revenue makes up 37% of total revenue, up over 240% year/year. Atlas had over 13,200 customers at the end of the quarter, compared to over 5,300 in the year ago period
- Over 15,000 customers total, up 800 from the prior quarter and a total of 7,400 a year ago.
- Net ARR expansion rate has remained above 120% for 18 consecutive quarters. This underscores the growth opportunity with existing customers.
Some caveats, though. The company is not profitable. Non-GAAP operating margin was -14.8% in the most recent quarter, but this compares to about -30% in the year ago quarter. Gross margins are reasonable at 72% on a non-GAAP basis. Company has $436M in cash and equivalents on the balance sheet, which provides sufficient buffer for path to profitability.
Product Overview
From their home page, “MongoDB is a general purpose, document-based, distributed database built for modern application developers and for the cloud era.” At a high level, every software application requires a place to store data. This “data persistence” is necessary, so that every time a customer uses the app, it remembers the data associated with them. Database selection is one of the most important decisions for a development team and is a critical component of every software stack.
In the past, almost all applications were built on relational databases. The relational model of databases primarily refers to the structure of the data into “tables”, which are made up of rows and columns, much like a spreadsheet. The other common convention associated with relational databases is how data is queried and maintained, generally through a language called SQL (Structured Query Language). This provides commands for structuring the data tables (CREATE, ALTER), querying the data in them (SELECT) and changing the data (INSERT, UPDATE, DELETE). This model for data storage worked fine for a long time and still does. Examples of database solutions using the relational model are Oracle, Microsoft SQL Server, MySQL, Postgres and many others.
As application development evolved, new models emerged for representing data within a software application and exchanging it with other applications. This was an offshoot of object-oriented programming and the need to store discrete sets of related data in attribute-value pairs. One format that became popular for this data representation was JSON (JavaScript Object Notation). JSON initially was built to facilitate communications within browsers, but quickly was adopted to represent a means to exchange data across APIs (Applications Programming Interface). With the explosion of mobile apps after 2005, every modern software application needed to expose its data through an open API, which could be accessed by iOS and Android apps running within mobile devices. JSON became the standard for encapsulating data into request/response exchanges to power all functionality connecting a mobile app to its central “back-end” application. As every application needed to support JSON for data exchange, this convention of representing similar data types in hierarchical name-value pairs became standard. When these name-value pairs are organized into a single entity (an object) in JSON notation and written out, they resemble a document. Additionally, these “documents” could be written to disk and persisted as an individual file.
This notion of storing data externally to the application in JSON format as documents became the foundation for the emergence of document-oriented databases. Document-oriented databases allow data to be stored and retrieved in a way that preserves the JSON document format and aligns with the notion of an object. This contrasts with the relational model, in which database tables are generally not structured around objects and object data may be spread across several database tables. This requires the software application to “translate” from object notation into the database structure, often referred to as an ORM (Object Relational Model).
Document-oriented databases are one of the main categories of NoSQL databases. Also included in NoSQL databases are XML and graph databases. There are many implementations of document-oriented databases. MongoDB is one of these, and considered to be the most used. Other common examples are CouchDB, DocumentDB (AWS implementation of MongoDB) and Cosmos DB (Microsoft Azure document DB).
MongoDB is an open source software project, primarily maintained by employees of MongoDB, Inc., which was formed as a company offering commercial support and other services for the MongoDB software project. This is similar to the open source commercial support model employed by other companies and popularized by Red Hat. MongoDB went public in October 2017 under the ticket symbol of MDB.
MongoDB is distributed under the Server Side Public License (SSPL), as of October 2018. This replaces a previous GNU Affero General Public License, but now requires that those making the software publicly available as part of a “service” must make the service’s entire source code available under this license. This was deliberately done (with some community controversy) by MongoDB Inc., in order to counter the practice of cloud providers (AWS) of providing MongoDB as a commercial service without making any code contribution to it. This explains why the AWS document database offering, DocumentDB, is pinned to the older version 3.6 of MongoDB. The latest release of MongoDB is 4.2.
MongoDB is provided to users in 3 “editions”, which represent how extensive the feature set is and how it is distributed:
- Community Server. A free version of MongoDB, available for major operating systems. Distributed as source code for developers to install on their self-hosted infrastructure.
- Enterprise Server. A commercial version of MongoDB, which includes the base capabilities of the community server, plus additional features necessary for large-scale hosting and database cluster management. This is also distributed for developers to install on their own infrastructure.
- Atlas. A fully-managed MongoDB database as a service available on AWS, Azure and GCP. Recently, it was announced that Atlas will be offered on Alibaba Cloud. Atlas is MongoDB Inc.’s latest offering and represents their largest area of growth, as mentioned in the intro.
MongoDB Inc. is continuing to add new features to MongoDB to expand its capabilities. This, of course, increases the distance between it and DocumentDB, eventually rendering the AWS offering obsolete (in theory). Recent examples of major features include:
- Multi-document, ACID transaction support that works across distributed clusters
- Field-level data encryption, a major enhancement for security and privacy compliance
- Data Lake – Expands the use of MongoDB into general data warehousing use cases
- Full-Text Search – Supports full-text search as part of the standard query language
- Charts – allows users to create data visualizations and share them with their teams without requiring code
Developer Mindshare
One of the strengths of MongoDB is its visibility and familiarity amongst the developer community. This takes a few forms – an ecosystem of development frameworks, new developer training and MongoDB hosted events.
First, we have to acknowledge that MongoDB has done a great job inserting itself into popular development frameworks. This is best evidenced by examining the alphabet soup of framework acronyms. For a long time, one of the most popular developer frameworks was LAMP, which stands for Linux, Apache, MySQL and PHP. For many years, this was the go-to stack for start-ups that wanted to quickly build a software product without the overhead of some of the heavier, enterprise frameworks (like Java and Microsoft .NET). With the emergence of Javascript support on the server-side (through Node.js), software stacks evolved to allow Javascript to be run on both the client and server-side. This provided development teams with an efficiency of a single language. Given that JSON-modeled data structures are part of Javascript programming, it was natural that a JSON-friendly, document-oriented database would be utilized as the data storage engine. MongoDB was a perfect fit, given its open source distribution and popularity. These software stacks utilized MongoDB as the data store and named acronym stacks with an “M”. The first was MEAN – MongoDB, Express, Angular and Node.js. Alternatives emerged for client-side development, creating other derivatives including MERN (React), MEEN (Ember) and MEVN (Vue). These frameworks were popularized amongst the developer community and further memorialized in many “how to” web development books. A search on Amazon for “MEAN stack web development” yields 43 results, several of which were recently published.
In addition to having MongoDB evangelized through framework acronyms and books, it has become a popular database taught as part of coding bootcamp curriculums. Coding bootcamps were started in 2011 with Code Academy. By 2017, there were 95 full-time coding bootcamps in the U.S., and more overseas. Bootcamp sessions typically last between 8 to 36 weeks, where the student attends classes each day all week, much like a job. The curriculum is restricted to just coding and producing project work. The idea behind a coding bootcamp is to provide the student with a condensed and accelerated learning program to prepare them for a professional career as a software engineer. This contrasts with a traditional computer science degree from a four-year university, in which time is spent taking liberal arts classes and participating in other activities. I won’t argue the merits of each. Suffice it to say that coding bootcamps have become a major source of new developers entering the workforce.
By examining the curriculums of these coding bootcamps, we can get insight into the database technologies being taught. To get a reasonable sample, I found a list of the 2020 Best Coding Bootcamps online. The results seemed reasonable, based on my familiarity with the space. Looking at the list, the #3 entry Iron Hack jumped out at me, as I have hired from this boot camp in the past. I requested the syllabus for their Full Time Web Development Bootcamp. Out of a 9 week training program, a third (weeks 4-6) of the course covered the back-end. In this case, the technologies learned consisted of NodeJS, Express and MongoDB. The next 3 weeks (weeks 7-9) then introduced ReactJS and focused on building an application from scratch using the MERN (MongoDB, Express, React and NodeJS) stack.
A second example is Hack Reactor. They provide a list of student projects, along with the technologies used to build these. Of the projects that listed a database, about half were MongoDB. The others were MySQL and Postgres, which are common relational database solutions. Finally, Coding Dojo organizes their curriculum around what they claim are the 5 most popular programming languages / frameworks. This list consists of Java, Python, .NET, Ruby and MEAN. Of course, MEAN expressly dictates that the database is MongoDB. Amongst these other popular enterprise frameworks, this positioning for MongoDB is very favorable, given the enormous size of the database market and MongoDB’s current low penetration.
As a third contributor to developer mindshare, MongoDB hosts an annual developer conference, called MongoDB World. From MongoDB’s second quarter 2020 press release:
Continued engagement with the growing MongoDB community as the company hosted its most successful developer event to date at MongoDB World in New York City, June 17-19. MongoDB World 2019 saw record attendance of MongoDB users from 40 countries, offered 106 sessions and featured a global hackathon with 900 participants that built 83 projects on MongoDB.
Q2 2020 Financial Results, MongoDB (MDB)
As MongoDB continues to capture incremental developer mindshare, its commercial usage will also grow and disrupt the incumbent database providers.
Large Addressable Market
In the most recent quarterly conference call, CEO Dev Ittycheria, sized the database software market at $64 billion.
Our results continue to demonstrate that MongoDB has clearly established itself as the most popular modern database platform of choice in the world. Our success is being driven by our strong product market fit and the sophistication of our go-to-market strategy. We’re confident that we’ll be able to continue to capitalize on our long-term opportunity in the $64 billion global database software market.
CEO, Dev ittycheria, Q2 2020 EArnings CAll, MongoDB
With current year annual revenue targeted to be about $400 million, MongoDB only represents about 0.6% of the total market. Granted, their solution addresses the NoSQL / document database segment, versus relational, but as I will address below, MongoDB is continuing to expand their product offering into ancillary segments. Also, while a subject of much debate, document-oriented databases are replacing relational databases for a number of use cases, particularly the storage of semi-structured data like logs, IoT device output, user activity and others. Large enterprises can deploy more than one database type in their infrastructure footprints, applying relational and NoSQL databases depending on the use case. The rise of service oriented architectures and micro-services have made this trend more pronounced.
In the NoSQL database category, MongoDB is clearly viewed as a leader. This was evidenced recently by Forrester Research in The Forrester Wave™: Big Data NoSQL, Q1 2019 report.
In the report, Forrester reviewed the 15 most popular NoSQL solutions and evaluated them across 26 criteria, including Data Security, Performance, Scalability, High Availability, Global Distribution and Ability to Execute. MongoDB received the highest scores possible in 21 of the 26 criteria evaluated and was rated as the leader in the space in aggregate. According to the report, MongoDB “remains the most popular NoSQL database,” in large part due to its “ease of use, simplified model, on-demand and elastic scale, multi-cloud support and comprehensive tooling.”
The report also highlights the evolution of NoSQL databases from “supporting simple schemaless apps to becoming a mission-critical data platform for large Fortune 1000 customers.” The report notes that “half of global data and analytics technology decision makers have either implemented or are implementing NoSQL platforms.”
These trends clearly favor MongoDB. Data storage is the heart of all software applications and the pace of new data creation is only accelerating. This presents an enormous opportunity for MongoDB solutions in the modern software infrastructure stack.
Product Development Velocity
MongoDB has been adding to their core product at a rapid pace. In June 2019, they launched version 4.2 of the software, which included a number of major enhancements.
These consisted of distributed transactions, which extend previously launched ACID transaction support, to sharded clusters. This provides customers with the ability to distribute their data across multiple hosting locations, yet maintain the guarantee of transactional integrity. ACID transaction support was a big deal and this further addresses what was one of the larger issues raised by the relational database camp. Also included in v4.2 was field level encryption, which enables users to maintain encrypted fields on the database. This provides a major security improvement, as a compromised database still will not yield useful data to a hacker unless they also possess the decryption keys. Finally, v4.2 added further Kubernetes support, which eases server deployment and management across all hosting configurations, including on-premises infrastructure, private and hybrid cloud, or public cloud.
An even more exciting development at MongoDB World in June 2019 was the announcement of new cloud-based services and features supporting data management beyond the database. As I will explain below, this represents a significant expansion for MongoDB’s product footprint, as it encroaches on capabilities previously outside of MongoDB’s core domain. These include search appliances and data warehousing.
The first additional capability announced was support for full-text search as a native query within MongoDB Atlas. Specifically, rich text search capabilities are available based on Apache Lucene 8 against existing MongoDB databases. Developers can create search indexes using the Atlas UI or API and can run queries using the MongoDB Query Language.
This new capability is significant because previously search functionality would have to be powered by a separate search-specific server instance. These search appliances were delivered by separate software installations provided by projects such as Apache Solr and Elasticsearch. Elasticsearch is maintained by publicly traded company Elastic (ESTC), which is targeting FY 2020 revenue of $409M. Elastic offers other solutions beyond search, like logging and data visualization. Additionally, full text search does not represent all the use cases associated with search, like faceted search. However, this could be viewed as a first step by MongoDB to expand into other data discovery use cases (search being a major one). The rationale makes sense, as a developer will always need a primary database, the “database of record”, which MongoDB provides. Obviating the process of transforming this core data into another format and storage application in order service search requests represents a huge simplification.
A data lake is “usually a single store of all enterprise data including raw copies of source system data and transformed data”. This is used to drive data enrichment and insight activities such as reporting, analytics and machine learning. Data lakes can include structured, semi-structured and completely unstructured data.
With all this data in varying formats, enterprises are challenged with extracting value from this data. The traditional approach has been to create ETL (Extract Transform Load) processes to move this data into infrastructure for analyzing it, like data warehouses. With MongoDB Atlas Data Lake, users can explore and query this data directly from its source.
More and more data is being stored in the cloud. However, the complexity of Hadoop and the rigidity of traditional data warehouses make it increasingly difficult and expensive to get value from rich, modern data in the cloud. Atlas Data Lake requires no separate infrastructure and users are only charged for the queries they run when actively working with the data. This represents another example of MongoDB expanding into an adjunct capabilities, as they expand their total addressable market.
Technical Founder, Still in Charge
Per the About Us page, MongoDB was founded in 2007 by Dwight Merriman, Eliot Horowitz and Kevin Ryan. These were the individuals who also started DoubleClick, one of the first digital ad networks, which was eventually acquired by Google. An advertising network requires massive scale, including an ultra-high transactional capability. As the story goes, the founding team was frustrated by the database solutions available at the time and built MongoDB as a solution to address the challenges encountered in scaling DoubleClick.
Of this team, Eliot Horowitz is the current CTO of MongoDB and Dwight Merriman is still involved. Eliot manages the product and engineering teams, arguably the heart of the organization. He wrote the core of the MongoDB code base. Additionally, he has a B.S. degree in Computer Science from Brown University. These are obviously favorable signals of technical competence, garnering respect from the developer community and internal technology teams.
Dev Ittycheria is the President and CEO of MongoDB. He has extensive experience founding and leading high-growth software companies. He joined MongoDB in 2014, well before the IPO in 2017, which means he took ownership through a heavy growth phase. Prior to MongoDB, Dev co-founded and led BladeLogic (BLOG), which went public in 2007 and was eventually acquired by BMC. He had co-founded another company before BladeLogic and also spent time at two different VC firms. His experience, particularly as a successful software company founder, is perfect for leading MongoDB.
Given MongoDB’s leadership position in a large addressable market, their evolving product offering and strong leadership team, I expect MongoDB to continue to grow rapidly over the next 5-10 years. For this reason, I recommend its stock (MDB) for investment as part of a software stack portfolio. I expect the stock price to more than triple and exceed $490 within the next 5 years.