After the bell on Monday, Salesforce.com (CRM) reported a top and bottom-line beat with its fiscal fourth-quarter 2019 result. Non-GAAP revenue of $3.64 billion (up 27% year over year on a constant currency, or cc, basis) edged the consensus of $3.56 billion, and adjusted earnings per share of $0.70 (up 49% year over year) exceeded the consensus by $0.15.
But the strong quarterly results do not give the company enough justice. Salesforce's fiscal 2019 was certainly one to remember, with non-GAAP revenue increasing 26% year over year cc, non-GAAP operating margins expanding 57 basis points to 17.1%, adjusted earnings per share growing 79% year over year to $2.75, and GAAP operating cash flow growing 24% to $3.398 billion.
"We had another year of outstanding revenue growth, surpassing $13 billion in revenue faster than any other enterprise software company in history," Marc Benioff, chairman and co-CEO said in the press release. "As companies of all sizes turn to Salesforce, we're enabling them to put the customer at the center of their digital transformation through our intelligent Customer 360 platform. I've never been more excited about the opportunity ahead."
"Our relentless focus on delivering innovation and customer success has fueled our growth and solidified our leadership in the enterprise," said Co-CEO Keith Block, in the press release. "This is just the beginning, which is why we're now targeting $26 to $28 billion in revenue by FY23 - organically doubling our revenue again in the next four years."
In addition to the positive headlines, non-GAAP unearned revenue increased 24% year over year on a cc basis to $8.668 billion. However, adjusted gross margins of 76.6% came in slightly below expectations of 76.8%. Meanwhile, the $1.33 billion in cash flow from operations and the $1.164 billion of free cash flow topped expectations of $1.11 billion and $952 million, respectively. And by region, revenue on a cc basis increased 26% in the Americas, 31% in EMEA, and 26% in the Asia Pacific.
Importantly, billings, which represents the portion of revenue generated from new business within the quarter -- the remainder of recognized revenues coming from revenue that was previously unrecognized but has now been recognized due to a fulfillment of service obligations -- came in at $6.791 billion (+22.3% YoY), beating expectations of $6.427 billion. Another key metric we look for when evaluating CRM is its remaining performance obligations (RPO), which represents the difference between bookings and billings -- bookings being the amount customers have committed to spending in the future (think contracts signed). RPO ended the quarter at $25.7 billion, representing an increase of 25% year over year. Included in this that figure is approximately $450 million related to the RPO from MuleSoft. The Current Remaining obligation, which represents the future revenues under contract expected to be recognized over the next 12 months, ended the quarter at about $11.9 billion, up 24% year over year.
Digging into each cloud service offering's subscription and support revenue, Sales Cloud increased 11% year over year to about $1.05 billion, Service cloud increased 22% year over year to about $964 million, Salesforce Platform and Other increased 54% year over year to $825 million, and lastly, Marketing Cloud & Commerce Cloud increased 34% year over year to $535 million.
As for some other business highlights from the quarter, the company's $20 billion plus relationship grew 48% compared to last year, and this includes two-9 figure renewals and expansions in the quarter. While a lot of commentary always centers around the importance of digital transformation, "the fourth industrial revolution" that is the driving force behind the company's impressive economics, it's now also about digital automation. This explains why management continues to invest in Einstein, which management was delighted to point out is delivering more than 6 billion predictions every day.
Regarding MuleSoft, the company is coming up on the one-year anniversary of its largest acquisition to date and the early results look promising. The platform contributed $181 million to total revenue in the quarter and 60% of its $156 million of subscription and support revenue was from licenses.
As for guidance, management expects full-year fiscal 2020 revenue to be in the range of $15.95 billion to $16.05 billion, implying growth of 20% to 21%. This range is a slight beat to the $15.97 billion FactSet consensus and a slight raise to the initial look provided last November. For the bottom line, adjusted earnings per share is expected to be in the range of $2.74 to $2.76, which is in line with the $2.75 consensus. Full-year operating cash flow is expected to increase 20% to 21%.
Looking at the first quarter, management expects revenue in the range of $3.67 billion to $3.68 billion, which is barely shy of the $3.691 billion FactSet consensus. Meanwhile, adjusted earnings per share is expected to be $0.60 to $0.61, which is below the $0.63 consensus figure. Indeed, these figures are on the lighter side of consensus and this will cause some weakness tomorrow (shares currently are down ~2.90% afterhours to $153.90), but as we explain below, the company's impressive durability (even at its size and scale) is still very much intact.
Overall, it was a strong end to another fantastic year for Salesforce.com. As Benioff pointed out during the conference call, the company is not only the leader in customer relationship management (and according to IDC, Salesforce's 20% market share is more than the next three competitors combined), it is also the #1 integration platform thanks to MuleSoft.
Even though guidance was -- as the headlines will say tonight/tomorrow -- "light", the durability of the business was supported by the guidance for +20% year-over-year revenue growth and builds toward the longer-term FY 23 target revenue of $26 billion to $28 billion -- which Credit Suisse analyst Brad Zelnick pointed out on the conference call means that Salesforce.com will organically double the size of the company over the next four years with a 20% compounded growth rate. When Zelnick asked management about their confidence and visibility behind those numbers, they responded with how their outlook is market-based. Block pointed out how Salesforce lives within the "hottest part of the enterprise software market" (CRM), the total addressable market for calendar year stands at $143 billion, and the company's "competitive positioning and differentiation continues to accelerate."
Also providing management confidence is how companies budget their IT spend. No longer can a company get away with just maintenance like before. It needs to be innovation-based as well. Take the financial services industries, which CFO Mark Hawkins spoke about on the call. A few years ago, Hawkins said about 90% of the IT spend was focused on maintenance. Now that figure is closer to 50-50 because you cannot give short-shrift your digital transformation.
Bottom line: After trading a few dollars within its all-time high last week, the shares pulled back during Monday's session (with many other cloud software stocks) before the print and those losses have extended after-hours tonight. The critics will point to the company's high valuation as a reason to sell, however, we see a tremendous opportunity that is still in its beginnings. Hard to believe, but according to the head of one of the largest consulting firms, Block mentioned on the conference call, roughly 85% of the company's top-50 customers have just begun to invest in their digital transformation. Incredible.
Then when we combine Block's comments about why management has confidence in its lofty long-term targets (even in an uncertain macroenvironment) with Amazon Web Services CEO Andy Jassy's comments from last week's interview on Mad Money (see here), we continue to point to the secular theme of how companies must invest in their cloud capabilities to bring costs down, and their reliance on Salesforce.com to give them a 360-degree view of the customer is paramount in this economic environment.
We reiterate our One rating.