November 2022 Portfolio Review
Total Return: -62.4% YTD (-48.0% vs S&P)
Just one more to go...
2022 Results:
November Portfolio and Results:
2022 Monthly Allocations:
Key:
darker green: started during month
lighter green: added during month
yellow: trimmed during month
blue: bought and sold during month
red: position exits
positions >10% in bold
Past recaps:
December 2018 (the one that got things started)
December 2019 (contains links to all 2019 monthly reports)
December 2020 (contains links to all 2020 monthly reports)
December 2021 (contains links to all 2021 monthly report)
Stock Comments:
Earnings season came fast and furious for our portfolio. Four holdings reported November 3 alone with three more before month’s end. Zscaler (Dec 1) and SentinelOne (Dec 6) wrap things up in short order.
BILL 0.00%↑ – Bill’s report was part of November 3’s flood. While its transactional revenue always makes it tougher to predict, BILL posted a healthy $229.9M in revenue (+94% YoY) and $244.5M guide. Even better, most supporting metrics suggest the underlying business is doing just fine.
The highlight was 14,200 new customers for 9.9% QoQ growth. Both figures were records by a significant margin. Even discounting a one-time migration from a bank partner, this continues an impressive trend. The last three quarters have seen 37,000 clients join Bill’s core platform. For context, that’s almost double the 19,400 added the three quarters before. CEO Rene Lacerte has previously touted the “deflationary impact that you can have on your businesses to take advantage of software and create more efficiencies across your financial operations.” The fact Bill keeps adding customers at a blistering pace seems to support that claim.
This increased traffic has consequently improved operating leverage. The 9% revenue beat helped lead to a record 85.8% gross margin and a raise of the full year guide to 80-82%. With most of these record customers still in the typical 6-9 month ramp, margin strength should continue as transactions scale.
Additionally, Bill saw a significant jump in float revenue. While higher interest rates certainly aren’t fun for you or me, management now estimates $73M from its float this year. That’s a nifty little revenue stream for nothing more than holding customers’ money a while.
Best of all, most of these gains are finding the bottom line. This quarter was Bill’s first-ever with significantly positive cash flows ($18M operating; $12M free cash) and profit ($9.2M operating income; $16.2M net). Given this performance and the continued likelihood of favorable interest rates, I’d have to think Bill has turned at least a semi-permanent corner in this area.
Management paired this release with the acquisition of budgeting and forecasting tool Finmark. The deal is expected to close by year’s end. So, not only a strong quarter but a small tuck-in to make Bill’s platform even stickier. Sounds good to me.
Unfortunately, the solid print hasn’t kept BILL from getting caught up in the market’s overall short-term pressure. My best guess is it didn’t like management’s repeated use of words like “softness”, “moderating”, and “lower expansion” on the call. Then again, what company isn’t expressing macro caution right now? Regardless, I wish management’s message hadn’t been quite so gloomy. After all, it just delivered a strong beat with a healthy guide and raise. Wouldn’t a simple “appropriate prudence” or some other standard C-suite gobbledygook have sufficed?
I could be way off with that interpretation of course. If there’s one year it’s darn near impossible to tell what sends investors scurrying, it’s 2022. Sticking with execution though, this was a strong quarter. In fact, I can’t see how you can argue otherwise given BILL’s strength in just about every available metric. How many companies can say that right now? Despite already pushing our max allocation, I couldn’t resist adding a small chunk at $111 when the stock dipped afterhours. I’ll likely trim those shares at some point but am content to keep everything as our top holding for now.
CRWD 0.00%↑ – Ugh. There’s no real way to sugar coat it. I saw this as a disappointing quarter for CrowdStrike. Its $581M in revenue and $628.2M top end Q4 guide both fell noticeably short of what I expected. The 0.9% beat was not only well below its usual ~4% but the smallest-ever in the history I have. For the first time I can recall, CRWD also failed to raise its full year guide suggesting even management might have gotten caught a little flat-footed by the quarter.
Adding insult to injury, I saw several cracks in CrowdStrike’s usually reliable armor which weren’t there before. While RPO, NRR, and customers using multiple modules held steady, many other metrics fell short. First and foremost, net new ARR missed management’s expectations resulting in CRWD’s first-ever Q3 sequential decline. CFO Burt Podbere twice implied another 10% decline in Q4 with more pressure into next year. Given how strongly management targets ARR as a sign of health, that’s discouraging.
In addition, Q3’s 1,460 net new customers was the smallest in eight quarters. That doesn’t bode well for immediate revenue growth. Management suggested this number was at least temporarily skewed by deals signed but delayed in starting. Let’s hope so because this number likely needs to regain prior levels or better for future growth.
On the positive side we saw record cash flows ($243M operating; $174M free cash) with profit margins of 15.4% operating and 16.5% net. So, CRWD’s at least continuing to leverage its bottom line while managing this downturn. While fully acknowledging the current environment, CEO George Kurtz remains comfortable CrowdStrike is in the “early innings” with Podbere confirming continued pipeline investment. However, the overall tone was clearly more long term than anything foreseeable.
Overall, this was a tough quarter. While gross and net retention rates remain strong, slowing customer growth and the decrease in net new ARR are legitimate concerns. These declines in conjunction with management’s repeated macro warnings suggest significant growth slowdowns on tap. While almost every firm is battling this narrative, I believe CRWD’s story possesses more underlying speed bumps than most. If nothing else, those cybersecurity tailwinds management touted in early 2022 have stopped blowing. I decided against selling any shares but will be watching Zscaler and SentinelOne’s reports closely. If they join Palo Alto Networks in posting relatively steady quarters, I’d have to question if something more is going on with CrowdStrike. If not, CRWD is likely just another firm joining the headwinds party. We’ll see.
DDOG 0.00%↑ – Datadog’s choppy stretch continued with its November 3 report. Even acknowledging management’s cautious Q2 tone, I was slightly disappointed by Q3’s results. The headline 61% growth and 38% Q4 guide make it apparent customer optimization is still affecting DDOG’s usage-based model. While that’s not a huge surprise, it did make me want to dig deeper into management’s comments and the supporting metrics driving the business. How’d those look?
Net retention rate came in at 130%+ for a 21st consecutive quarter with customers increasing spend at “similar usage patterns to Q2.” That’s encouraging.
The number of customers using 2+, 4+, and 6+ modules held strong. These rates were 80%/40%/16% this quarter versus 79%/37%/14% in Q2 and 77%/31%/8% last year. Customers might be tightening usage, but that sure hasn’t stopped them from adding modules. That should bode well if and when budgets eventually loosen.
Net new customers came in at the low end of DDOG’s usual 1,000-1,200 range. Not ideal but acceptable.
$100K+ customer adds look a little light, but it’s hard to tell whether this is a lack of new logos or a few optimizing customers temporarily churning below $100K while remaining active on the platform. Something to watch.
Remaining Performance Obligation crept up from Q2 but still looks pressured by fewer and/or shorter commitments. This likely continues as customers scrutinize budgets.
Cash flows and profits were fine. Operating (17%) and net income margin (19%) were both up from last year. Operating cash (19% margin) and free cash (15%) were both up from last quarter. So, DDOG is maintaining leverage with plenty of cash to fund operations while navigate this downturn.
Management remains very confident in its opportunity. It referenced “doubling down on investments” to take advantage of the “strong pipeline”. That includes the acquisition of CloudCraft, an analysis and visualization solution for cloud infrastructure. According to management, CloudCraft brings a small batch of new customers in addition to its technology and engineers. The more the merrier as far as I’m concerned.
Despite the top line pressure, most of DDOG’s key supporting metrics seem to look OK. That’s promising. At the same time, I can’t ignore what I believe is Datadog’s most lackluster quarter to date. I also can’t help but wonder if DDOG continues to drift until it laps Q2’s initial usage pullback (which is roughly the scenario we saw after 2020’s COVID dip). The soft guide and recent trend of smaller beats has me anticipating Q4 growth in the mid-40’s. Even accounting for an admittedly tough comp, that’s an enormous drop from 83% just three quarters ago.
In addition, Q4 brings the dreaded “next year’s initial guide” where every management team must conservatively leave room for future beats and raises. With less visibility than usual due to DDOG’s usage-based model, I’m concerned just how conservative that number might be. I still want to own it, but the additional uncertainty leaves me little choice but to lower my conviction a tick. I’ve accordingly trimmed ~15% of our shares.
Datadog ended the month with a couple post-earnings updates. First was a new integration with Amazon Security Lake. This integration makes it easier for Security Lake customers to send security logs to Datadog for analysis and threat scanning. The second was announcing general availability of Universal Service Monitoring. This product helps customers easily monitor both in-house and third-party services to ensure the health of their entire technology stack. Best of all, current users can start the service by simply switching it on in their current Datadog agent. Exiting the quarter it’s nice to see management follow through on its promise to keep innovating.
NET 0.00%↑ – I anticipated a typical Cloudflare quarter November 3, especially after some late October Twitter swagger from CEO Matthew Prince. Unfortunately, it fell a tick short. I’d estimated $258.5M in revenue with a $277M Q4 guide. We got $253.8M and $274.5M. I know those numbers are close, but the 1.1% beat was a record low and Cloudflare’s first-ever below 3.0%. That means even my conservative estimate wasn’t conservative enough.
As I wrote with Datadog above, it’s hard to be surprised by top line compression in the current environment. So, just like DDOG let’s peek under the hood to see how Cloudflare’s secondary trends held up:
This quarter’s 47% growth broke a string of 14 consecutive quarters between 48% and 54%. With next quarter likely closer to 45% with even a reasonable beat, this looks like the start of downward pressure rather than a one-time blip.
Net retention declined to 124% from 126% last quarter. Even with Prince confirming last quarter’s long-term 130% target, I see this as disappointing.
QoQ growth in total customers fell below 3% for the second straight quarter. Even in raw numbers, both Q2 (3,619 vs 7,529) and Q3 (4,197 vs 5,655) are well short of last year. Management tied most of this to its smallest-spending customers churning from paid users back to NET’s free tier. At least they haven’t left the ecosystem, but this is something to watch.
$100K+ customer growth showed pressure as well. Cloudflare added 159 this quarter vs a record 212 last quarter and 172 last year. Again, something to watch.
Operating cash flow rebounded nicely the last two quarters at $38M and $43M, but free cash flow remained slightly negative at -$4.6M in Q3 after -$4.4M in Q2. Management’s emphatic promise of positive FCF in the second half has now become a drop-dead event for Q4. I’m sure it will deliver but wish they hadn’t cut it so close.
Operating and net income were pleasant surprises and a major highlight this quarter. In addition to a record $14.8M in operating profit, NET guided for $13M more in Q4 while raising the FY guide from $11M to $32M. Net income of $19.1M was a record as well. Given the revenue and customer pressure, it’s encouraging to see enough leverage to support the bottom line.
Prince displayed his usual confidence and polish on the call. One thing noticeably absent though was an update on FedRAMP approvals for government business. Prince has repeatedly said those were coming in the second half. The fact he skipped it suggests there’s nothing to update, and I’m surprised no analyst asked. My takeaway is we’re still waiting, which is less than ideal.
Putting it all together, I admit to being a trifle underwhelmed. While the top line softness is understandable, the flurry of small secondary misses is the concern. I feel this puts more weight on a strong Q4 than might have otherwise been expected. Kind of a blah report in my opinion.
Post-earnings Cloudflare followed with its Supercloud and Developer Week. True to form the week saw 31 updates on ways NET is making it faster and easier for developers to use its Workers platform. A handy little recap of all the news can be found here. As usual, Cloudflare’s keeping its pace of innovation hot and heavy.
Developer Week also included the expansion of Cloudflare’s Workers Launchpad program. Launchpad is a joint effort with venture capital partners to fund startups built on Workers. What began as an attempt to raise $250M now stands at $2B (!!!) with 40 VC firms on board. The link also lists the first 25 companies receiving Launchpad funding. While this effort will almost certainly take a while to pay off, that’s a lot of third-party confidence in what Cloudflare has to offer.
November ended with NET raising its monthly pricing for the first time in 12 years. It somewhat balanced this raise by offering new annual plans discounted to current monthly rates. One of the stated reasons is to “more closely map our business with the timing of underlying [upfront] costs.” The other (which I find more relevant) is to bolster and better manage cash flows. The market made it abundantly clear in recent quarters Cloudflare’s cash flow matters. The fact the stock initially jumped 6%+ on the announcement suggests it likes the move. Personally, I’m glad management took the hint.
Overall, I’d call this month mixed. While NET’s future vision remains intact, I view its here-and-now as less stable than prior quarters. Consequently, I exit believing NET deserves a slightly smaller allocation. As a result, I’ve trimmed ~30% of our shares. It will stay where it is for now.
S 0.00%↑ – SentinelOne gave us a few pieces of November news. First was a third-party accolade for its Vigilance MDR product in an independent MITRE Attack Evaluation. This is one of several achievements earned by SentinelOne from MITRE during 2022.
Next was an integration with Ping Identity “enabling joint automated response between identity access management and enterprise attack surfaces.” With Ping being a notable player in the identity space, it’s nice to see SentinelOne expand the relationship.
Lastly, SentinelOne joined Datadog in announcing a cloud monitoring integration with Amazon Security Lake. I view any integration with the world’s largest cloud provider as a good one, so this is a positive development.
As I wrote last month, SentinelOne has established a sneaky-impressive cadence of releases, upgrades, and partnerships the last few months. Here’s hoping that leads to a sneaky-impressive report December 6.
SNOW 0.00%↑ – Snowflake’s November started with several announcements from its Snowday 2022 event. The highlights included:
Increased speed and efficiency in cross-cloud environments
General availability of Snowpark for Python, making it easier for developers to build applications directly in Snowflake’s Data Cloud.
An update on the Powered by Snowflake program, which has seen usage increase six-fold over the last year.
It ended with SNOW’s November 30 report. While Snowflake unfortunately couldn’t repeat its Q2 surprise, I found quite a bit to like in the quarter. First of all, the initial headlines and after-hours drop show just how difficult it is to forecast usage-based businesses in today’s environment. That apparently goes for management as well. SNOW’s recent beat cadence into the report looked like this (newest to oldest):
6.0%, 1.7%, 2.7%, 9.6% (admitted outlier by management), 6.1%, 6.9%, 6.8%
Assuming Q2’s 6% signaled at least a partial return of management’s prior visibility, I penciled in a ~5% beat for $530M in product revenue with a $575M Q4 guide. Instead, we got $523M and $540M. That 3.5% beat and management’s subsequent comments mean I’ll likely use a tighter range until things clear up.
So, as with other names seeing headline pressure how did SNOW’s supporting metrics stack up?
Total gross margin ticked up sequentially to 71.3% from 70.8% with product gross margin nudging to 75.4% from 75.1%. That means Snowflake continues to show incremental efficiency at scale.
SNOW’s usual eye-popping net retention rate came in at 165%, which remains best in class by a wide margin for companies of any size.
Sequential customer growth held steady. SNOW added 474 new customers with 41 entering the $1M+ cohort. It also landed a record 28 new Global 2000 clients for 543 total. SNOW appears to be on solid ground here.
Expenses as a percentage of revenue was a record-low 63.5%.
Operating cash flow was a sturdy $79M (14% margin) and free cash $65M (12%). Funding future operations and growth should not be an issue.
$43.4M in operating income and a 7.8% margin was a firm beat of the 2% margin guide. Operating income should end up positive for both Q4 and the year.
The pipeline remains stable. RPO grew $284M (+10.5% QoQ) to $3B. Management estimates 55% (~$1.65B) will be recognized within the next 12 months. When asked specifically about any RPO headwinds for Q4, CFO Michael Scarpelli answered he’s seen no material effects so far. That’s encouraging.
One thing to note is management pre-guided for 47% revenue growth next year on the call. I couldn’t help but notice the stock regained a large portion of its afterhours drop immediately after this statement was made. I give industry veterans Scarpelli and CEO Frank Slootman credit for deciding to head off the uncertainty. In a perfect world that number might even be a tick or two higher once it’s officially released.
All in all, I’d call this an entirely reasonable quarter. While I get the initial headline disappointment, I also see why the stock rebounded as management spoke and the market digested the report. Data management isn’t going anywhere, and Snowflake has a chance to sit right in the middle. I’ve been slow to build this position mostly because SNOW has always carried our highest multiple. Yet I’ve tried to add when I believe the market gives us a chance. I liked this report enough to bump our allocation afterhours by 0.5% at $123.75 (not included in the end-of-month figures above). That looks like a good move so far. Let’s see if it holds.
TMDX 0.00%↑ – November 3 was my first report as a TransMedics owner. As far as I’m concerned, it can post as many quarters like this one as it wants. TMDX recorded $25.7M in revenue for 378% YoY growth. Even discounting a one-time $1.4M adjustment, the organic number was $24.3M and 349% growth. Either is well above what I expected.
The FY guide was even better. After already raising it from $55M to $65M after Q1 and $75M in Q2, management tacked on another $10M to $85M exiting this quarter. CEO Waleed Hassanein made it clear the new guide is fully organic and excludes the one-time tweak. $85M would mean 181% growth for the year, which I’d expect to be beaten. I’d say that kind of growth is pretty hyper.
TransMedics’ success is being driven by its organ delivery service “becoming an integral part of many US transplant programs workflow, and we plan to leverage this for our future growth.” The program now drives ~90% of US revenues with the intent to expand both capacity and territory going forward. Hassanein also confirmed a “next generation” of products in 2023 including submission of a kidney trial later in the year. Kidney approval would greatly expand TMDX’s current heart, lung, and liver markets. As for those current markets, management foresees triple-digit growth well into next year with peak demand still outpacing capacity to meet it. Expanding that capacity remains on track for next Q1.
One of the many risks of owning a company this small is an unforeseen disappointment. An upside, of course, is an outperformance like this one. Kudos to management for so firmly seizing the opportunity it has identified. TransMedics checks a lot of boxes for a successful hypergrowth company: accelerating growth, improving margins, rapidly narrowing losses, and a clear runway for future revenue. I liked the quarter enough to add 25% more shares after hours. I could easily see this position growing further if it meets its Q1 capacity milestone and stays on track for another 100%+ growth year. I’m glad we own it.
TTD 0.00%↑ – The Trade Desk joined the earnings parade November 9. It’s $395M in revenue and 31% YoY growth represented a typical beat, but the Q4 guide saw…wait for it…a little pressure. Sensing a trend? That, of course, meant digging deeper into the report to see if the overall thesis remains on track.
Fortunately, TTD’s underlying business is holding remarkably stable. It continues to show impressive leverage with $137M in operating cash flow and $163M in adjusted EBITDA. With an EBITDA guide of $229M for Q4, its long track record of profitability won’t be ending any time soon. CEO Jeff Green noted The Trade Desk continues to grow over 3X faster than the overall ad market. He added, “through the first 9 months of the year, we have gained more market share, grabbed more land than at any point in our history.” Connected TV continues to be its largest and fastest growing segment, now accounting for more than 40% of total revenue. Over 80% of major US retailers are on TTD’s platform with international retailers starting to follow suit. International business was 10% of revenue with Southeast Asian and European CTV spend growing faster than any other region. More and more customers are emphasizing the targeted, measurable campaigns which are TTD’s specialty.
This relative strength is being augmented by more content providers moving to ad-supported programming. Specific numbers weren’t given, but Green sees “all the new inventory that's going to come into CTV, whether that's from Disney+ or digital inventory from Peacock or HBO or Netflix or Paramount Plus or Fox or ESPN or Hulu” as reasons why management remains bullish in this area.
The Trade Desk also saw some benefit from the usual every-other-year bump in US political ads. The recent 2022 midterms produced record spending with much of it through streaming outlets. Green said the midterms “exponentially [grew] our business” with the CFO expecting “about double” this quarter’s political contribution in Q4. That’s a nice buffer during an otherwise difficult stretch.
Unfortunately, it’s that difficult stretch which is keeping everyone on edge. While TTD’s increased market share is encouraging, the hard truth is advertising will continue to see pressure – there’s that word again – for quite some time. Green believes 2023 will bring “more market changes that create secular shifts in our direction with more data, more decisioning, better results and the best CTV experience consumers could ever have.” Of course, those market changes and secular shifts might not help the headlines much while ad budgets remain restricted. Just something to keep in mind.
Having followed The Trade Desk since 2018, I’d call this quarter more of the same. The shift to targeted ads is happening just as Green predicted. However, the cratering of non-political advertising means TTD could just be the best-looking house in a bad neighborhood for a while. Because of that, any current investment in the space is ultimately a bet on who will come out stronger on the other side. I believe TTD fits that bill and exit the quarter content to keep it in its current range.
ZS 0.00%↑ – Zscaler began November expanding its partnership with Zoom. Under this arrangement, ZS’s digital monitoring services will track, analyze, and troubleshoot video quality for Zoom’s enterprise clients. The move to remote work has made video communication a critical tool. It’s nice to see a giant in the space choose Zscaler to ensure the quality of its product.
The month ended with Zscaler achieving FedRAMP Moderate Authorization for its data center and cloud protection product. This makes “Zscaler the only cloud security service provider to have all core solutions…authorized through the U.S. Federal government’s FedRAMP program at High and Moderate levels.” That means all government agencies and contractors can use ZS to protect and manage their most sensitive information in almost any capacity. That should certainly help as Zscaler battles for future public sector business.
Our next update on the rest of ZS’s business comes December 1.
My current watch list…
…includes Enphase (ENPH), Gitlab (GTLB), monday.com (MNDY), and MongoDB (MDB).
ZoomInfo (ZI) drops off after what I considered a weak report. With its sales contact platform its only major product, I've always wondered if ZI was sort of a one-trick pony. That appears to be the case as its recruiting and call monitoring efforts just can’t seem to gain traction. I view this slowdown as more structural than temporary, so away ZI goes.
And there you have it.
Welp, if nothing else November was informative. While we already knew conditions were tough, this month’s earnings and macro updates suggest that grind will continue a while. As a friend so aptly put it, “we’re simply in a period where down numbers get killed and good numbers are being swamped by Macro.” I think that’s bang on.
As we limp toward the finish, I see more and more frustration, fear, and exasperation with this year’s market. I empathize since I’ve felt all three. However, that doesn’t change our fundamental challenge. It’s always and forever about trying to own companies with a chance to be worth more tomorrow than they are today. As mentioned with TTD, that currently seems to mean enough growth, cash flow, and execution to not only weather this storm but come out stronger when the cycle turns. In that respect, I find myself holding tight. Hopefully all we need to do now is hurry up and wait.
Thanks for reading, and I hope everyone has a Merry WhateverYouMightCelebrate.
Thanks for the update.
Snow's revenue growth has dropped from 100% a year ago to 50% growth next quarter. What makes you think SNOW's revenue growth will be stable from here on out? Although I have great confidence in Frank Slootman, I am a little concerned here.
Thanks!