stocknovice's August Portfolio Review

au·gust /aw-guhst/ (adjective):

  1. marked by majestic dignity

I don’t know about majestic, but it was pretty darn good…

2021 Results:

	Month	YTD	vs S&P
Jan	5.0%	5.0%	6.1%
Feb	-3.0%	1.8%	0.4%
Mar	-15.9%	-14.4%	-20.1%
Apr	9.1%	-6.6%	-17.9%
May	3.1%	-3.7%	-15.7%
Jun	18.4%	14.0%	-0.4%
Jul	2.8%	17.2%	0.1%
Aug	20.3%	40.9%	20.5%

August Portfolio and Results:

	%Port	%Port	
	31-Aug	31-Jul	1st Buy
UPST	20.4%	11.3%	03/18/21
DDOG	18.8%	17.2%	12/09/19
CRWD	17.7%	17.0%	06/12/19
DOCU	10.3%	11.5%	06/09/20
LSPD	9.3%	7.7%	04/05/21
ROKU	7.2%	12.7%	12/22/20
ZS	6.2%	5.7%	06/10/21
NET	1.7%	12.7%	08/07/20
SNOW	-	4.3%	04/21/21
Cash	8.3%	0.03%	 
		Return	vs S&P
	Month:	20.3%	17.4%
	2021:	40.9%	20.5%

Past recaps:

December 2018:…
December 2019 (contains links to monthly reports):…
December 2020 (contains links to monthly reports):…
January 2021:…
February 2021:…
March 2021:…
April 2021:…
May 2021:…
June 2021:…
July 2021:…

Stock Comments:

Lots of quality earnings updates this month. That’s led to a fair amount of shuffling and unfortunately one exit. And then there were eight.

CRWD – This month’s first piece of CrowdStrike news was its August 26 addition to the Nasdaq-100 index (…). This is a milestone achievement for two reasons. First, it’s a huge acknowledgement of the business. Second, it means any mutual fund tied to the Nasdaq-100 must now purchase enough CRWD to reflect its spot in the index. Though I’ll gladly take the stock bump that accompanied the announcement, I view the business recognition as the bigger win. Congratulations to CrowdStrike for earning a spot at the big boy table.

The more significant news was August 31 earnings. My first observation is it’s always a pain in the ass when a company we own reports the same day I’m trying to finish one of these recaps. The second is CrowdStrike posted another strong but expected quarter.

The headline numbers were right about where I expected. Revenue of $337.7M was +69.7% YoY and +14.3% QoQ. Subscriptions were $315.8M (+71% YoY; +15% QoQ) and a record 93.5% of total revenue. Total gross margin ticked up from last year on both a GAAP (73%) and non-GAAP (76%) basis. Subscription gross margin of 78.5% was up from 2020 as well. Higher gross margins meant operating ($35.3M vs $7.8M) and net income ($25.9M vs $7.9M) were both up considerably as well. As usual, cash flows were plenty good.

Customer growth stayed strong with a record 1,660 added for 13,080. That’s an increase of 80.9% YoY and 14.5% QoQ. CrowdStrike now services 63 Fortune 100 clients, 234 of the Fortune 500, and 14 of the top 20 banks. Usage among existing customers continues to grow with 66% employing 4+ modules (vs 64% in Q1), 53% at 5+ (vs 50%), and 29% using 6+ (vs 27%). Net retention once again surpassed management’s 120% target.

Looking at future business metrics, $1.16B in deferred revenue was an acceleration to +69% YoY and +14% QoQ. Remaining Performance Obligation of $1.68B did the same to +81% YoY and +14% QoQ. So, the pipeline appears to be in a good spot. Finally, the CFO says CRWD will be aggressively “[increasing] investments in order to capture even more of the market opportunity at hand.”

Were there any hang ups? Well, it’s minor, but the excitement over the Q1 bump in Annual Recurring Revenue (ARR) looks like it might have been a one-time thing. While Q2’s $150.6M in net new ARR was a record, it also appears to be a sharp slowdown from prior years (sorry, you’ll have to deal with the formatting):

ARR							% YoY						% QoQ				
	Q1	Q2	Q3	Q4	YR			Q1	Q2	Q3	Q4	YR			Q1	Q2	Q3	Q4	YR
2018	$71.00	$90.00	$113.00	$141.31	 		2018	 	 	 	 	 		2018	 	26.8%	25.6%	25.1%	 
2019	$170.39	$208.17	$254.15	$312.66	 		2019	140.0%	131.3%	124.9%	121.2%	 		2019	20.6%	22.2%	22.1%	23.0%	 
2020	$364.65	$423.78	$501.72	$600.46	 		2020	114.0%	103.6%	97.4%	92.1%	 		2020	16.6%	16.2%	18.4%	19.7%	 
2021	$686.13	$790.58	$907.39	$1,050.05	 		2021	88.2%	86.6%	80.9%	74.9%	 		2021	14.3%	15.2%	14.8%	15.7%	 
2022	$1,193.89	$1,344.45	 	 	 		2022	74.0%	70.1%	-100.0%	-100.0%	 		2022	13.7%	12.6%	-100.0%	 	 

Net New ARR						% YoY						% QoQ				
	Q1	Q2	Q3	Q4	YR			Q1	Q2	Q3	Q4	YR			Q1	Q2	Q3	Q4	YR
2018	 	 	 	 	 		2018	 	 	 	 	 		2018	 	 	 	 	 
2019	 	$38.00	$46.00	$59.00	 		2019	 	 	 	 	 		2019	 	 	21.1%	28.3%	 
2020	$52.00	$59.00	$78.00	$98.00	 		2020	 	55.3%	69.6%	66.1%	 		2020	-11.9%	13.5%	32.2%	25.6%	 
2021	$86.00	$105.00	$116.00	$143.00	 		2021	65.4%	78.0%	48.7%	45.9%	 		2021	-12.2%	22.1%	10.5%	23.3%	 
2022	$144.00	$150.60	 	 	 		2022	67.4%	43.4%	-100.0%	-100.0%	 		2022	0.7%	4.6%	-100.0%	 	 

CrowdStrike received plenty of kudos last quarter when the $144M in net new ARR defied the usual Q1 decline. In fact, management made a big deal about it on the Q1 call. The investing question was whether this signaled a new wave of business for CRWD or was simply nervous customers pulling forward previously planned spending to tighten security after a series of newsworthy breaches. Based on this quarter, I’d say it looks like a little more of the pull forward factor than I would have liked. In fact, the CFO has already reminded us last year’s Q3 included a one-time $6.8M in acquired new ARR which will affect comps.

Being honest, I also thought the Q3 guide a bit light given the present tailwinds associated with cybersecurity. That could mean the competitive environment is just as “fierce” as CEO George Kurtz says. Based on CRWD’s recent business trends and management’s history, I was looking for $337.5M in Q2 revenue and a $370M+ Q3 guide to consider everything fully intact. Given $337.7M in actual revenue along with strong customer growth, deferred revenue and RPO, I’m mildly surprised the top end guide is for only $365.3M and 57% growth. A typical beat next quarter would put that number closer to 63%-64%. While that’s tremendous for a company this size, it’s not quite as high as bulls might have hoped given the recent performance of competitors like Palo Alto Networks and SentinelOne.

In some respects, CrowdStrike is likely a victim of its own success. It is difficult to provide significant upside surprise for a company this large, particularly given what the market has come to expect from Kurtz and Co. The law of large numbers eventually slows growth for every company. The best one can hope is to hold off the inevitable decline as long as possible. CrowdStrike has delayed it better than most, and I know some have speculated the recent cybersecurity push might reaccelerate growth even at this size. Alas, that doesn’t appear to be the case (at least for now).

In the end, there are no glaring issues here. CrowdStrike continues to be a dominant company doing dominant things. And while it’s possible the stock might not have quite as much room to run as its younger days, it does appear to have plenty of runway left as a market-beating performer. CrowdStrike slipped from #2 to #3 in our portfolio this month, but not for a lack of trying. I even added shares at $238 and $230 mid-month for our first significant add to this position since September 2020. However, that didn’t stop CrowdStrike from getting run down and passed by Upstart after the latter’s phenomenal quarter (foreshadowing!!). We’ll see where CRWD’s price and allocation settle post-earnings, but I don’t see any reason it shouldn’t remain a core holding.

DDOG – Sometimes the DDOG days of August aren’t so bad after all. Datadog’s initial news was the August 4 launch of a new Cloud Security Platform “adding full-stack security context to Datadog’s deep observability capabilities” (…). This new product gives users a single platform linking security with monitoring across infrastructure, networks, and applications. Monitoring and observability have always been DDOG’s bread and butter. Leveraging those strengths into deeper insights on threat detection and response is a natural extension as it works to become a one-stop DevOps and Security shop for its customers.

The follow up, of course, was August 5 earnings. In many respects this was the quarter shareholders had been waiting for. Would Datadog finally put last year’s Q2 COVID pause behind it and return to its hypergrowth ways? I’m glad to say the answer is an emphatic “yes!”

CEO Olivier Pomel called the quarter “stronger than expected on robust growth.” I’ll say it was. Revenue of $233M accelerated growth from 51% last quarter all the way to 67%. Net retention rate was again “above 130%” just as it has in all 16 quarters I can find the figure. Datadog introduced two new products upping the total to 11 across log management, observability, and security. Management also highlighted several partnership expansions and the release of 73 (yes, seventy-three) new platform features during the quarter. Customers using 2+ and 4+ products hit record levels at 75% (tied with Q1) and 28%. Expenses as a percentage of revenue were a record low 63%. Remaining Performance Obligation (RPO) more than doubled to $583M (+103% YoY) with the portion expected to be recorded in the next 12 months jumping 80% YoY. Both of those RPO rates represent significant acceleration from Q1 and mean DDOG has already locked up a considerable amount of future business.

Digging deeper, DDOG’s execution was just as good as the top line. It now has 16,400 customers after adding a record 1,200. This includes 173 new clients paying >$100K per year for a total of 1,610. Sequential growth in $100K+ clients has tallied 13%, 15% and 12% the last three quarters (oldest to newest) after a temporary COVID dip into single digits. New annual recurring revenue (ARR) passed $100M for the second consecutive quarter, and $100K customers now account for a record 80% of it. So, bigger customers are finding ways to spend even more money with Datadog.

Not surprisingly, this quarter’s combo of accelerating growth and improved execution produced an all-time bottom line. Operating income was $31M for a record 13.2% margin. The $32M in net income and earnings per share of $.09 were also all-time highs. So, not just top line improvement but excellent leverage and profitability as well. Good for us!

Looking at the guides, it appears the party could go on for a while. Even with the CFO’s “usual conservatism applied” management bumped revenue growth to 56% on the year (I’d expect higher). The current Q3 guide is 60% growth, but DDOG’s traditional beat should put that number closer to 70%. Despite “investing as aggressively as we can on all fronts” for what Pomel calls a “very, very, very large opportunity” – yes, three verys – there’s a legitimate chance we’ll see record profits next quarter as well. As a shareholder, I’m not sure what more you could ask for.

Much of Datadog’s recent thesis has revolved around a return to 60%+ growth upon lapping 2020’s COVID dip. That happened right on schedule. As the CFO stated, the “flattening [and] optimization” of customer usage at the onset of COVID is now “more normal or consistent with the long-term trends.” And those trends all seem to be moving in a very, very, very positive direction.

All I have to say is “Good DDOG-gie!!” (…)

DOCU – Other than telling us they were going to participate in a bunch of upcoming investor conferences, it was a suuuuuper quiet month from DocuSign. That will change in about 48 hours when the company releases its September 2 earnings report. C’mon, baby!

LSPD – Lightspeed joined this month’s earnings parade on August 5. Even with comps juiced by acquisitions, it was an excellent quarter. Total revenue of $116M was up 220% YoY in aggregate and a still notable 81% without acquisitions. Likewise, subscriptions were up 218% accounting for 92% of total revenue. More importantly, organic subscriptions jumped 78% which is a major acceleration from 48% last quarter.

Gross Transaction Volume (GTV) – basically the amount of money funneled through LSPD’s platform – soared to $16.3B, representing 202% YoY and a stunning 51% QoQ. Management noted organic GTV grew 90% “from last year’s depressed levels.” Lightspeed now powers 150,000+ retail and hospitality locations, up 95% YoY and 60%+ without acquisitions. Hospitality sector GTV soared 380% (164% organic) with “new location additions…by far the highest we have ever had.” With in-person shopping returning, retail GTV in stores grew 3X faster than eCommerce. The beauty of LSPD is its platform is specifically designed to meet merchants’ needs no matter which channel consumers choose post-COVID.

Going forward, management will be focusing on two core products: one for retail and one for hospitality. To streamline operations the former CEO’s of acquisitions ShopKeep and Vend are in key roles managing the effort. Lightspeed’s payments solution continues to gain traction by processing ~10% of Q2 GTV. That percentage should only increase as more and more acquired clients transfer onto its platform. In addition to its current UK presence, Lightspeed recently expanded into Germany, Switzerland, France, Belgium, and the Netherlands (…). The CFO states “50% penetration of our payment solutions into our customer base is achievable in the foreseeable future.” He also noted new customers were adopting LSPD’s payments solution at a 60-70% clip. That sounds like a lotta runway. With the dual effects of GTV expansion as economies reopen and increased adoption by customers, payments growth has a chance to get really big really fast.

Total gross margin declined to 51%, but that’s to be expected as the lower-margin payments become a larger part of the overall business. Average revenue per user (ARPU) grew 44% YoY, meaning customers are increasing usage as they go. Management notes it was pleased to see customers either adding back or purchasing new features as the world reopens. Finally, Lightspeed’s merchant financing program “had its best quarter by far [with] numbers that are becoming meaningful.” Revenue from this segment grew 68% from Q4 and is expected to provide more in the future.

Despite increased spending to support new products and integrate acquisitions, Lightspeed generated a record -13% operating cash flow and -6% adjusted cash flow margin. A record-low -5.2% adjusted EBITDA margin suggests improved execution as well. Narrowing losses are always fine by me when accompanied by strong enough topline growth. Lightspeed certainly fits that bill.

Even with management remaining “conservative in our near-term view,” LSPD raised full year revenue growth from 103% to 139%. The guide includes slightly larger losses on the year ($35M vs $30M), but the revenue raise keeps the margin guide flat. As might be expected, this conservatism is due to uncertainty around COVID. However, the CFO emphatically stated he hoped “everyone is hearing us loud and clear that we think the long-term signs and signals we’re seeing right now are really strong.” Lightspeed was fortunate to be in a strong enough financial position to add to its core business during the thick of COVID. Shareholders are now fortunate in that the early returns seem to be paying off.

Shortly after earnings, Lightspeed raised another $823.5M with a secondary offering of approximately 8.9M shares at $93 (…). If my math is right, that puts a shade over $1.4B on the books. Opportune acquisitions have always been a part of LSPD’s mix, so I have no issue refilling the coffers. The challenge, of course, is making all the pieces fit. So far, so good.

When wrapping up the call CEO Dax Dasilva confidently stated, “the potential for Lightspeed as a true one-stop commerce platform has never been greater and the probability of success has in my mind never been higher.” He and his team deserve full credit for just about everything going to plan since coming public last September. I thought this was an outstanding quarter and added shares after earnings. However, the ongoing COVID uncertainty likely keeps this more of a mid-sized position until things clear up.

NET – Cloudflare had a busy month. First, it was selected with Accenture Federal Services by the Department of Homeland Security to develop a joint solution to defend the US government against cyberattacks (…). With CEO Matthew Prince calling the federal government “literally the biggest IT buyer in the world,” this is fantastic news. Additional certification is needed to make the most of this opportunity, but NET already has strong inroads with existing government clients and expects full certification during the first half of calendar 2022. This deal clearly makes the public sector a huge part of Cloudflare’s future and should support continued growth for some time to come.

Next was August 5 earnings. Prince called it “our strongest quarter as a public company,” though I viewed it as more of the same we’ve come to expect from Cloudflare. Revenue was $152M and 53% YoY growth, a slight acceleration from last quarter. Gross profit growth ticked up as well to 55%. Gross margin held steady at 78%, and net retention crept to a record 124%. So, right in line with NET’s usual solid results.

Expenses were fine, and customer growth held steady. The highlight was $100K+ customers up 71% YoY and 15% QoQ, both slight increases from Q1. The acceleration was due to a record 143 large customer adds. Cloudflare now counts 19% of the Fortune 1000 as paying customers, up from 17% in Q1. Remaining Performance Obligation of $484M (+77% YoY) suggests a strong pipeline as well. Please note the US government deal is not expected to contribute materially this year but should be a significant driver beyond. Cash flows are in a reasonable spot as well.

One thing I’m keeping an eye on is just how much operational leverage Cloudflare is generating. While management raised the full year revenue guide, it kept losses flat and even dropped EPS by a penny per share. Next quarter’s guide is a solid but not spectacular 45% revenue growth, implying another 50%+ quarter with a normal beat. The CFO said the guide would be 47%-48% without a one-time $1.9M benefit in 3Q20. Duly noted I guess, but I don’t see that adjustment as significant enough to change the overall trend.

Prince said the continued losses are at least partially due to increased investment toward the anticipated government business. He also made an interesting comment on the path to future profits:

“While we’re on the topic of profitability I wanted to preview a conversation I anticipate having with some of you this time next year. As part of our long-term model, we have an operating margin target of 20%. When we say long-term, we really mean it. We remain confident in our ability to reach that long-term target, but we are not in a rush to get there. From the point at which we reach breakeven, we intend to aggressively reinvest excess gross profit back into growth. We are nowhere close to being out of ideas for new products to build for customers to buy them. Cloudflare is optimized for innovation and we plan to continue to launch new products, add more customers relentlessly execute and reinvest in growth for the foreseeable future.”

I must admit that makes me take pause. I’ve never been afraid to own money-losing companies if the underlying growth supports it. For instance, Snowflake and Lightspeed have yet to show profits but are also growing at 103% and 220%* respectively in their most recent quarter. (*I know LSPD’s rate includes acquisitions, but organic growth was still 81%.) I’ve also owned names like CrowdStrike, Elastic, MongoDB, Okta, Roku, and Twilio during unprofitable stretches. All companies eventually need to turn a profit. Just how much leeway should NET get for announcing extended losses while growing much slower than most if not all the names listed above? Just something to ponder…

In fact, I find Cloudflare’s report gives me a lot to ponder regarding the balance between what could be and what actually is:

• NET is clearly not monetizing as fast as it’s innovating, producing, and iterating. After providing an initial 75% conversion rate from free to paid on its Teams product three quarters ago, updates have been noticeably absent. And for some reason analysts have stopped asking about it. Likewise, the 50,000 developers pounding out their first code on Workers during Q2 is the same number as two quarters ago. When are these tens of thousands of new deployments each quarter going to start influencing the bottom line? Shouldn’t that start to show up in some operating leverage at some point? Don’t get me wrong. This isn’t a knock against the quality of either product. It’s more an exercise in trying to piece together adoption and monetization rates based on our info from the last few quarters.

• The government opportunity is enormous, and the US win a big deal. However, management has already told us this business isn’t expected to influence 2021. Likewise, telling us complete FedRAMP approval isn’t expected until the first half of 2022 means the full effects of the certification aren’t likely to hit the income statement until the back half of next year. Yes, this business is coming, but it’s apparently going to take a while.

• After Prince bragged last quarter that NET’s subscription model meant it wouldn’t face the tough second half COVID comps of usage-based firms, management turned around and cited a relatively small $1.9M one-time 3Q20 bump as a reason next quarter’s guide was only 45% rather than a couple percent higher. This is a minor observation for sure, but one I’m noting anyway since I’ve been paying more attention to management messaging lately. I guess it’s also one of the blessings/curses of writing all this stuff down.

With the impending government business and this many irons in the fire, Cloudflare certainly has big potential. Yet most of the dots we’ve been given to connect imply the payoff might take longer than originally thought. If nothing else, the waiting game has become a much larger part of NET’s narrative the last few quarters. The question is just how much weight these delays should carry.

Personally, it put me in a pickle. While I love much of what Cloudflare is doing, I can’t ignore it is currently our slowest grower with what now appears to be the longest path to profits. Given the recent price surge, how much success has already been baked in? And just how patient will the market be during what could very well be another 4-6 quarters before the bulk of new business shows up? For better or worse, I landed in the camp NET is a great company whose stock is temporarily outpacing its fundamentals. That doesn’t mean I don’t want to own it. However, it does mean I want less of it than others possessing what I believe are better combinations of growth, execution, and profitability. Therefore, I sold most of our shares at ~$120 to push CRWD, LSPD, UPST, and ZS (all non-taxable which obviously makes it easier)*. I have no regrets yet given the early returns on those adds. And I did repurchase a small amount of NET at $115. I’m content to see the rest of our reports before deciding exactly how much Cloudflare I want to own. While it’s likely to be more than the current 1.7%, this quarter all but guarantees NET will fall well short of its 12.7% from the end of July. Stay tuned.

[*Full disclosure, this sale included ~0.5% of our portfolio permanently removed for living expenses. With NET and our portfolio both pushing all-time highs, this seemed like as good a time as any to do it even if it wasn’t necessarily planned. I know that situation doesn’t apply for everyone, but it does for us.]

ROKU – Unfortunately, Roku was August’s earnings party pooper. While others reported mostly the usual positives, Roku was more of a mixed bag. Current results were outstanding, particularly platform and advertising revenues. However, the good was offset by customer and hardware updates which will bear watching.

Total revenue was $645M and 81% YoY growth. More impressively, the $532M in platform revenue was a healthy 118% rebound from last year’s Q2 dip. Higher-margin platform revenue reached a record 82.5% of total and shows Roku is creating a much more lucrative revenue mix as it scales. Cash flows remain strongly positive, and profits continue to flow with $73M in net income and $122M in adjusted EBITDA. So, an excellent quarter on both the top and bottom lines.

The hang up was disappointment over new accounts and viewing hours, which both fell short of analyst expectations. Fortunately, there were some silver linings. Management has openly stated new accounts would be down from 2020 but above pre-COVID levels. That did indeed occur with 1.5M adds versus 1.4M in 2Q19.

As for streaming hours, those turned out to be down for everyone. More importantly, management’s explanation makes total sense. As the US reopened this spring, it is only natural people would look to spend less time in front of a screen and more time outdoors. On one hand, viewing declined across all viewing platforms. On the other, Roku grabbed a bigger share of the viewing that did occur. Comparatively speaking, Roku significantly outperformed the industry. Its Q2 viewing hours increased 19% YoY vs a 19% decline in traditional TV and 2% decline on other streaming platforms.

Unfortunately, a possible side effect of the overall drop was a subtle adjustment in messaging on the in-house Roku Channel. On the surface it again “more than doubled in terms of streaming hours year over year” and grew faster than the overall platform. The difference is management declined to break out the channel’s viewer reach after doing so the last six quarters (the last three growing from 54M to 63M to 70M). They deflected a specific question about it by stating it’s growing nicely but “didn’t hit a particularly different milestone.” I’m not crazy about the change and would hope we receive a figure again next quarter.

On the hardware side, we received two updates worth paying attention to. First, player margins saw pressure this quarter. Total sales were flat vs 2Q20’s surge, which at first blush doesn’t sound too bad in light of last year’s huge spike as the pandemic took hold. The bigger issue was a tight supply chain increasing production cost. Management has decided to absorb the increase rather than raise prices and expects negative player margins the remainder of 2021. Keeping prices stable seems like a smart move considering player sales are really nothing more than a conduit for gaining viewers. For now, I am under the impression this is solely an extra expense and not limiting the ability to meet demand. Does anyone else see it differently? My email to IR a few days ago asking this very question has unfortunately gone unanswered so far. Regardless, I’ll be watching future comments for any hint the supply chain is impacting Roku’s ability to add customers. That would be a much larger concern.

Next, Roku expects a slight decline in smart TV sales this year due to similar supply chain challenges. Unfortunately, supply chains come with the turf when selling widgets even if those widgets are mostly loss leaders for gaining customers. Software firms never have this challenge. Likewise, business-to-business (B2B) companies almost never face business-to-consumer (B2C) sentiment swings like say everyone deciding to step outside for the summer. :roll_eyes: These quirks are at least partly why Roku likely never grows to more than a mid-sized position. In fact, Roku’s almost becoming a test case for how much consideration hardware or B2C firms deserve at all for our present portfolio given the strong software options available.

Putting the hopefully temporary hardware and customer issues aside, what really matters is this:

“Within the Platform segment, monetization remains strong, and while there will be a slowdown in year-over-year growth relative to last year’s pandemic-driven acceleration, we expect continued significant growth in the second half of the year.”

Roku’s recent success has been all about the platform business. Monetized ad impressions once again “more than doubled” YoY, which is now saying something at this size. In addition, spending through Roku’s OneView ad tool accelerated and nearly tripled year-over-year. Roku is clearly creating leverage as average revenue per user (ARPU) accelerated to +46% YoY and a record +13.4% QoQ. That’s the second consecutive quarter of record sequential ARPU growth which is exactly what we want to see as the platform scales.

As noted in July, Roku has already finalized its upcoming ad contracts with all seven major agencies at double the dollar commitment from last year. Reinforcing the shift from linear TV to streaming, 42% of that total is entirely new business. Management called it a “transformative upfront season” in which “pretty much every legacy media company has shifted focus to their [direct to consumer] services.” No surprise there. Content producers and marketers chase viewers, and an ever-increasing number of viewers have abandoned traditional outlets for streaming TV. CEO Anthony Wood noted producers and advertisers have “switched their attitudes recently from experimental thinking about [streaming] to all in, like we need to be serious about this.” Roku remains in a strong position to benefit.

Next quarter’s guide reflects that strength. The initial estimate is 52% growth even with depressed player margins, though I’d expect something 55%+. Almost every digital subscription business saw a COVID bump in 2020. That’s created tough 2021 comps for many. In Roku’s case, however, COVID also brought a surge of viewers to a platform just hitting its stride in monetizing users. With those users and their first-party data now firmly entrenched, everything points to continued monetization at scale. Despite this quarter’s relative slowdown, there’s no evidence the overall move to digital will stop. Likewise, there’s nothing to suggest Roku’s role in that shift is anything but secure.

Roku has consistently articulated a 3-stage approach of collecting, engaging, and finally monetizing viewers. Stage 3 has clearly kicked in for US accounts. The question now is how many users Roku can add to the front of the flywheel as platform leverage improves. The bulls say platform revenue will keep growing while the customer and hardware glitches will fade away. The bears say Q2’s glitches foretell a deeper slowdown that will turn Roku’s recent surge into more of a slog. If nothing else, a continued hiccup could create daunting comps in Q4/Q1.

Personally, I expect ARPU to keep growing. The challenge as detailed above is to keep feeding customers into the monetization machine. Management again referenced pre-COVID numbers, so I’d say 1.9M+ new accounts (slightly above 3Q19’s 1.8M) is a minimum expectation next quarter, especially with the added attention of the recent Olympics. If Roku beats that number with nothing other than continued margin pressure on players, the longer view should generally be intact. If not, there’s a strong argument Roku is a sell while waiting for short-term pressures to subside.

Overall, I’d call this quarter a push. Great platform results were blunted by customer and hardware concerns that didn’t exist before. Ultimately, Roku must prove it can maintain its recent platform success, particularly if selling players at a loss. There is still plenty of reason to believe Roku can make that happen. As the CFO said, “We remain optimistic about our ability to grow over time given the significant size of the opportunity ahead and the early stage of monetization to date.” I’m optimistic as well (for now). However, after a good-but-not-great report that optimism merits a smaller allocation than prior to earnings. So, that’s what I did.

SNOW – Scheduled to report August 25, Snowflake was just walking along minding its own business when all heck broke loose August 20. The stock nosedived that day from ~$280 to the $240’s after a Cleveland Research report indicated a slowdown due to longer sales cycles and increased competition ( Analyst Piper Sandler responded the selloff was “overdone,” and the stock bounced right back into the $280 range over the next few days (…).

The reaction brought immediate flashbacks to a similar situation with ZScaler. In August 2019 an outfit named OTR Global issued a report warning of subpar 4Q19 sales based on its channel checks (…). At the time ZS’s stock was doing great, so I shrugged off the report and even added a few shares before earnings. Well, it turns out OTR was right, ZS announced a revamp of its sales process, and the stock was punished accordingly. Afterwards, I made a mental note to myself that if nothing else I would be more wary of reports like this in the future (and definitely wouldn’t add).

Granted, it might only have been confirmation bias (, but compounding Cleveland’s concerns were my own about what I felt was a larger than normal seasonal decline in Snowflake’s Q1 customer adds. As I wrote at the time:

”The one possible glitch I see is customer growth. The highlight was a record 27 new customers spending >$1M a year, bringing the total to 104 (+117% YoY). However, growth in total customers and Fortune 500 companies both finished at record lows. While there’s seasonality to this count, the 393 customers added in Q1 was just 67% growth versus 73% last quarter and 128% a year ago. It was also the first time ever sequential customer growth dropped below double digits at 9.5%. And fluke or not, adding only one Fortune 500 customer after 17 (year ago comp), 10, 13, and 19 the prior four quarters is disappointing no matter how I look at it. Being honest, management’s explanation of a “very, very long sales cycle” and staff wanting to close as many Q4 deals as possible to beat year-end commissions didn’t do much to put me at ease. I mean, those same long sales cycles and Christmas bonuses were in play last year too, amirite?

My reason for being so wary here is the relationship between SNOW’s customer growth and future revenue. Management has consistently stated it takes 6 to 9 months for new customers to fully reach contracted usage rates. [Update: management is now stating 9-12 months as per the Q2 call.] That lag means we will likely see a flood of new revenue during Q2 and into Q3 from the record number of customers just added in Q4. I feel Q2 guidance reflects that, so no problem there. My concern is just how large a role the lowish Q1 figures might have played in the soft FY raise. These Q1 customers will be the main cohort for new revenue in Q3 and Q4. Was the Q1 customer add maybe lower than expected? And will this group contribute enough during the second half to let Snowflake maintain the revenue growth we’ve come to expect (and likely need to maintain its current valuation)? That’s still TBD in my opinion.

If I’m going to own a stock priced for perfection, I can’t gloss over the potential pitfalls. I consider customer growth something to watch here. Virtually every software company pursues a “land & expand” revenue strategy combining new business with upsells into its existing base. The strategy works best when both halves contribute steadily to that mix. Between last year’s Q4 and Q1, SNOW saw a 28% seasonal drop in new customers (458 to 328) with 17 Fortune 500 adds. This year’s drop was a larger 33% (585 to 393) with just one Fortune 500 add. If nothing else, Snowflake seems to be entering this year with less wiggle room for underperformance in the “land” part of the equation during the second half. That could hypothetically put pressure on upsells to make up the difference. Frankly, I’d rather not test that thesis and will be paying close attention to these numbers in Q2.”

Given all this info, I saw three likely scenarios for SNOW’s report:

  1. Hold Serve. Snowflake posts the expected impressive Q2 results with customer adds and guides large enough to suggest things are generally on track. In this case, the stock would probably hover short-term within a few percent of wherever it closed into earnings.

  2. Disappoint. Snowflake posts its usual strong numbers for Q2, but customer adds are again a little soft and/or the FY guide doesn’t move enough to satisfy the market. In this case, the stock would probably sell off quite considerably given how much outperformance has already been priced in.

  3. Surprise. Snowflake posts a blowout quarter with customer numbers and a guide suggesting a great business is primed for even additional takeoff. While we always root hard for this scenario, I ranked it least likely based on the info at hand.

Entering this earnings season, I ranked the potential outcomes for companies like DDOG and UPST surprise, hold serve, disappoint. That’s why I felt content carrying outsized positions into their reports. Luckily, I was rewarded. In Snowflake’s case, I couldn’t shake the feeling holding serve was the best I could realistically hope for. And being honest, I thought disappointment more likely than surprise. Therefore, I exited our entire position during the run back into the $280’s (I’d put my average exit around $278). The market was clearly shrugging off the Cleveland report, and something about that made me uneasy. Since SNOW was already one of our smallest positions, I decided I was more comfortable turning it into cash at what I felt a reasonable price and adjusting accordingly once I had better information. If I missed out on a few dollars to the upside, so be it.

I’d say Snowflake did hold serve, at least as I framed it. The $255M (+103% YoY) in product revenue and $272M (+104% YoY) in total meant it maintained triple-digit growth. Operating expenses were a record-low 78% of revenue. The company posted all-time highs for total (69.7%) and product gross margin (73.6%), though management noted one-time positive effects for product gross margin this quarter. Improved execution led to a record-low -8% operating margin, meaning loss margins have narrowed from -44% to -30% to -24% to now -8% over the last four quarters. That’s a darn good run. Adjusted free cash flow was positive for the third consecutive quarter and is anticipated to stay positive going forward. Topping it all off, net revenue retention ticked up to 169% meaning current customers are strongly increasing spend as they go. I would certainly qualify that as “the expected impressive Q2 results.”

Looking at customer adds, I’d call the results better than Q1 but far from overwhelming. Snowflake gained 458 for 4,990 total, accelerating slightly to 10.1% QoQ. While that trails last year’s 14.6% due to larger numbers, it does beat 2Q21’s 397 net new clients. It was nice to see Fortune 500 customer adds rebound to 18 after just one in Q1. However, please note SNOW moved from the 2020 Fortune 500 list to the 2021 version between quarters, meaning all past numbers were restated (and making Q1’s adds now look like four even though we know it was one at the time). Either way, it does look like a Fortune 500 upswing. Management emphasized it is targeting larger customers and has 462 Global 2000 clients as well, so a solid base with room to grow. Finally, a dozen more customers spent at least $1M with Snowflake in the last year bringing that number to 116. Count me as neutral in this area.

The performance let management raise the full year guide another $35M to $1.070B, which would be 93% growth on the year. Again, a decent raise but fully expected given the relative strength of the stock. Overall, I give SNOW the benefit of the doubt on “customer adds and guides large enough to suggest things are generally on track.”

Alas, a new area of discussion popped up with Remaining Performance Obligation (RPO). Management has consistently cited this metric along with product revenue as key measures of the overall business. While RPO was a stout $1.5B and up 122% YoY, it also marked the lowest sequential increase ever (once again it’s MF’s crappy formatting for the win!):

RPO							% YoY							% QoQ					
	Q1	Q2	Q3	Q4	YR			Q1	Q2	Q3	Q4	YR			Q1	Q2	Q3	Q4	YR
2018	 	 	 	 	 		2018	 	 	 	 	 		2017	 	 	 	 	 
2019	 	 	$82.80	$128.00	 		2019	 	 	 	 	 		2018	 	 	 	54.6%	 
2020	$137.90	$221.10	$273.00	$426.30	 		2020	 	 	229.7%	233.0%	 		2019	7.7%	60.3%	23.5%	56.2%	 
2021	$467.80	$688.20	$927.90	$1,333.00	 		2021	239.2%	211.3%	239.9%	212.7%	 		2020	9.7%	47.1%	34.8%	43.7%	 
2022	$1,432.00	$1,529.00	 	 	 		2022	206.1%	122.2%	-100.0%	-100.0%	 		2021	7.4%	6.8%	 	 	 

The Q1 decline makes some sense looking at past seasonality. However, it’s hard to call Q2 anything other than a significant slowdown compared to past years. The CFO addressed this issue by stating RPO has some lumpiness to it and should be considered in context with revenue:

”We are still maturing the sales organization to sell multi-year contracts, and the timing of the largest multi-year deals will be lumpy. As a reminder, in Q2 last year, we sold our largest multi-year contract ever, a three-year $100 million deal. While the multi-year component of new booking sets up a difficult comparison, we saw a net — we saw new annualized contract value accelerate compared to the year ago period. This is why RPO and revenue must be evaluated together in a consumption-based business model. Of the $1.5 billion in RPO, we expect approximately 56% to be recognized as revenue in the next 12 months, representing approximately an $87 million increase quarter-over-quarter. We remain focused on penetrating the largest enterprises globally, as we believe these organizations provide the largest opportunity for account expansion.”

Analyst Jamin Ball provided more detail here, though it’s fair to point out the source he used to help illustrate the dynamic modeled a much higher $1.8B RPO for this quarter:

While RPO was less than ideal, Snowflake did have some other factors in its favor. International continues to grow faster than the overall rate, SNOW’s data sharing marketplace is expanding rapidly, and the company released a host of new tools making it easier for customers to customize use cases on its platform. There’s an inevitability surrounding the increased use of data, and Snowflake should clearly benefit from the trend.

Yet as impressive as all this sounds, it’s indicative of the crazy-high expectations for Snowflake that there’s even a doubt about a quarter like this. Kudos to management for continuing to execute. As the numbers hit the wire, the stock did indeed fall into a “hover a few percent” pattern. After hours the stock swung from its ~$284 close to $295+ (+4%) to under $275 (-3%) and back to $300+ (+6%) before opening the next day at $299 (+5%). So, even the market was initially a tad unsure how to interpret the quarter. With SNOW ending the week at $297.45 two days later, the market seemed to settle on the positive end of holding serve as well.

Ultimately though, it’s not this quarter but future quarters that count. And while locking in on one specific metric might seem extreme, RPO does represent 50% of the measures specifically cited by management to gauge the health of the business. With an onboarding lag of 9 to 12 months, RPO is the best measure we have of how well the spring is loading for future performance. While I’ve seen plenty of great breakdowns and explanations for interpreting RPO since these numbers came out, none seem to conclude this quarter’s result was a good one for Snowflake. In essence, a company priced for perfection fell somewhere short of perfect. That matters, particularly for the highest-valued stock in our portfolio.

Stepping back, I found myself doing too many mental gymnastics trying to piece together SNOW’s revenue/customers/RPO combination in a way that made sense. All I know is this exercise wasn’t required in prior quarters…and maybe that’s answer enough. Since it was already a small position, I decided to keep the cash and spend my energy elsewhere while our remaining firms report. Even though I had plenty of opportunity to buy back in within a few percent of our exit price, I find I’m more comfortable sitting this one out for now.

UPST – Upstart released a much-anticipated earnings report on August 10. So how did it go? Well, here’s the tl;dr recap: (

For those preferring the nitty-gritty, Upstart posted a monster quarter. Its $194M in revenue versus a ridiculously easy 2Q20 COVID comp meant a laughable 1018% YoY growth. The more relevant number was a phenomenal 60% sequential growth from Q1. The company transacted almost 287K loans (+69% QoQ) totaling $2.8B (+62% QoQ) this quarter. A record 24.4% of applications were converted into loans leading to a 73% QoQ rise in contribution profit to $97M. Putting the cherry on top, a full 97% of revenue came from origination and servicing fees with zero Upstart exposure to the loans themselves. To put it lightly, business is booooooming.

Consequently, an already profitable company churned out even stronger profits. Operating income was a record $36M for a record-tying 18.7% margin. Net income and margin were records as well at $37M and 19.2%. Adjusted EBITDA ($59.5M) and adjusted net income ($58.5M) both cleared 30% margins for the first time. So, Upstart isn’t just showing crazy-good performance but crazy-strong leverage as well. The total combo is upper-echelon type stuff.

Unsurprisingly, the call included some remarkable comments. CEO Dave Girouard led it off by saying:

“Upstart has an opportunity to become one of the world’s largest and most impactful fintechs in the years to come. Lending is the center beam of revenue and profits in financial services, and artificial intelligence may be the most transformational change to come to this industry in its 5,000-year history. It’s our view that AI-led disruption targeting dramatic inefficiency in one of the largest segments of our economy is worthy of your attention.”

Is that a tad hyperbolic? In the heat of the moment, it’s honestly hard to be sure. This kind of quarter deserves every bit of attention it gets. Especially when the CFO follows up with this:

“As a side note, we will omit references to year-over-year growth rates for our P&L this quarter as they are all well above 1,000% [bolding mine] due to the lapping of last year’s pandemic impact.”

But it wasn’t just management. After analyst compliments such as “pretty impressive quarter” and “super strong quarter,” Nat Schindler of Bank of America Merrill Lynch dropped the following soundbite:

“Yes. Hi. Thank you, guys. And just before the question, I want to do a quick quibble with some of my colleagues here on the sell side, ‘pretty impressive results’ and ‘another strong quarter.’ Seems a bit understated when you’re talking about quadruple digit growth, which might be a first in my career. What’s more impressive is as you mentioned early on, this was on the back of [COVID]… but if you compare it to Q2 of '19, you’re still looking at fivefold growth on that year…That says something to the better mouse trap.”

So, yes, it really was that incredible of a report. Even better were other comments suggesting there’s plenty more where that came from. Upstart now has 25 lending partners up from 18 last quarter. Girouard also noted a “growing list of lenders in our pipeline for the second half.” The company passed 150 institutions willing to accept and back its approved loans, so meeting future demand should not be an issue. Management says its direct-to-consumer efforts are gathering steam and lessening its reliance on marketing partners like Credit Karma for loan referrals. Finally, Upstart unveiled its Spanish version, the “first of its kind among digital lending platforms in the U.S.” Given the tightly regulated lending environment, Upstart should have a sizable head start in the traditionally underserved Spanish-speaking market.

In what I view as significant validation, Girouard also described the “nuanced win” of a bank partner deciding to eliminate a minimum FICO score requirement for approving a loan. I’m far from a loan expert – other than having to pay a bunch of them back over the years, I guess – but this seems like kind of a big deal. Having partners with the confidence to not just augment the traditional FICO score but potentially supersede it with UPST’s model could be a huge selling point in gaining future business.

In addition to its personal loan success, Upstart is making rapid progress with its fledgling auto loan segment. Its auto refinancing product is now available to 95%+ of the US population in 47 states versus 33 last quarter and just one in January. It has now signed five partners and initiated 2,000+ auto loans in 40 states while fine-tuning its approval model. Prodigy, the auto sales platform acquired to eventually be an in-house outlet for Upstart’s loans, increased its dealer footprint by 24% this quarter and has doubled its network since the beginning of the year. Over $1B in vehicle transactions were processed through Prodigy this quarter versus $800M in Q1. Management is very pleased with Prodigy’s adoption so far and expects the first Upstart-powered loans to be offered through the platform by the end of 2021. There is still no meaningful contribution expected from the auto segment this year, which is fine because it doesn’t appear to be needed. Nonetheless, it sure does look like things are shaping up for auto contributions to keep the hypergrowth going in 2022.

Predictably, this quarter’s outperformance led to a massive raise in company estimates. The initial Q3 top end guide is $215M in revenue and 221% growth. More impressively, after a 20% bump in the full year estimate from $500M to $600M after Q1, management pushed it another 25% this quarter to $750M. Again, this includes no meaningful contribution from any auto efforts, indicating this growth is almost all in the core product. In some respects, it appears UPST’s business is growing and scaling so fast even management is having a hard time keeping up. What a great problem to have.

Upstart took advantage of the post-earnings momentum to raise $561M in 2026 convertible senior notes (…). The notes will pay 0.25% interest and can be converted into shares at management’s discretion at a price ranging between $285.26 and $400.36, which suggests all parties are pleased with Upstart’s potential. As a shareholder, I appreciate the additional vote of confidence.

Frankly, it can be difficult to keep things in perspective when a company you own has a quarter like this. While the macro lending environment will always be a wildcard, it’s hard to find a single significant flaw in how Upstart has executed since coming public nine months ago. It has continually smashed top line, execution, and bottom line records while already at a big enough scale to be totally legit. If nothing else, it certainly backs Girouard’s contention “AI lending is for real” ( Traditional banking has long been ripe for disruption, and Upstart’s early efforts appear to be making some hay. If it can indeed change the way banks make lending decisions, this has the chance to be a wildly successful investment.

In anticipation of a strong report, I pushed Upstart just above a 12% position into earnings. Realistically I was looking for Q2 revenue of $165M+, a Q3 guide of $202M+, and a FY bump to at least $675M. Upon seeing those numbers come in at $194M, $215M, and $750M, I immediately added another 1.5% at $151 during the afterhours rise. As it has raced upward since, UPST has blown past a 20% allocation and passed DDOG for our #1 spot. I guess that’s just one of the happy side effects of an 89.7% price spike in a month. I can’t say a huge rise wasn’t justified given the quarter, and I don’t plan on trimming any shares. In fact, I might even add to it if the opportunity makes sense. With all current signs pointing to more in the tank, I fully intend to go along for this ride.

ZS – Other than a large Zero Trust win with German manufacturer Schmitz Cargobull AG, there wasn’t much direct news on ZScaler this month (…). The indirect news, of course, is just about every cybersecurity company to report thus far has announced a strong quarter. Let’s hope ZScaler keeps that ball rolling when it reports on September 9.

My current watch list is now limited to ZoomInfo (ZI) and Snowflake (SNOW). I guess you could say Twilio’s (TWLO) still hanging around, but barely. I’ve started poking around on Asana (ASAN) and (MNDY) but haven’t connected enough dots yet to know exactly what I think.

Fiverr (FVRR) exits this list after a decent quarter overshadowed by a terrible guide implying management has lost feel for where its business is heading. They blamed “what we call hyper-seasonality,” whatever the heck that is. Regardless, that’s weak gruel for a company already facing questions about how freelancing will evolve post-COVID. I have no interest in trying to figure it all out given our other options.

And there you have it. What a great way to end the summer (or winter for any southern hemisphere friends). Our portfolio spent most of August almost as hot as the temperatures outside. It hit a new all-time high on August 5 after DDOG and LSPD’s post-earnings pops more than offset ROKU’s post-earnings dip from the day before. Subsequent bursts by UPST, CRWD and ZS produced several more highs with our most recent peak at +40.9% YTD as I type this out on August 31.

That would make August a great result, though regulars know I consider process infinitely more important. At its simplest, I am trying to:

  1. Find only great companies.
  2. Own only great companies.
  3. Stay out of my own way so those great companies can do their thing.

Staying out of the way is often the hardest part, but it is vital to making this work. Just look at our monthly returns. Spikes like June and August do not happen without being able to ride out the heartbreaks of late February, the whole month of March, and the first half of May. If you check out past years – go ahead, they are right there for the clicking – you’ll find similar pukefests scattered throughout. That hasn’t stopped these companies from absolutely thrashing the market over the long term. You just need the conviction to hang in there when the inevitable drawdowns occur. In fact, new investors should probably read that last sentence again because you are going to learn that lesson over and over and over. You might as well get used to it.

I end the month with more cash than I usually like but decided to wait for our final two earnings reports and go from there. I don’t expect any position changes – c’mon DOCU and ZS, don’t let us down! – but will likely tweak some allocations once all the info is in. In a perfect world, DOCU and ZS both pull an UPST and giddily force me to buy more. :smirk: Then again, maybe not. Like you, I have no idea what the future will bring. I only know I have 100% conviction these companies give me a better than average chance to see more positive months than negative in the long run.

Thanks for reading, and I hope everyone has a great September.