2019 Portfolio Year in Review (contains external links to all 2019 monthly recaps)
Total Return: +54.7% YTD (+25.8% vs S&P)
Please Note: This post contains references and links to a public board at the Motley Fool website where the original write ups were published.
December capped off quite a year. Where exactly to start? I began growth investing in August 2018 a couple months after deciding to refocus on managing my own portfolio. Despite some early fits and starts, I found enough rhythm by last December to try an end-of-year portfolio review. I fully expected it to be a one-time thing, mostly as a thank you for all the knowledge I had gained in such a short time. I mean c’mon man, how the heck is anyone supposed to keep up with all this stuff?!? Well, I was so stunned by the clarity that initial write up provided I’ve somehow kept up with it this entire year. What began as more of a personal accountability exercise is now an invaluable tool for managing my portfolio. At this point I don’t know why I’d ever do without it.
I realize these recaps can look like massive undertakings, but they’re not so bad. I’m not saying they don’t take time. They most certainly do even without all my extra rambling. I’m just saying they aren’t as difficult to put together as it might seem at first glance. They’re really just ongoing journals for each of my holdings. I add a tidbit here and a tidbit there, then post the whole shebang at month’s end. While some here like to comment as we go, I tend to save it all up and then spit it all out at once. As they say, to each his own. The broader point is even if this board disappeared, I’m certain I’d keep managing my info the exact same way. In light of that I can’t possibly give a stronger recommendation on the benefits of writing things down whether it be a journal, monthly review or random thoughts along the way. You might think you don’t have the time, but I assure you it’s well worth the effort. In fact, I’m positive you’ll be amazed at what you learn.
I know some of you might be new to investing. I’m also aware some of you might be questioning yourself if you’ve only done it a short time and seen mostly losses thus far. I can only encourage you to STICK WITH IT, especially if you are still early in your investing career. This process is not about what stocks you own or chasing some level of return. It’s also not about market conditions, business models or financial reports. It’s about educating yourself and potentially acquiring a skill set that lets you take better control of your future. The benefits are very real, and I’m appreciative of those I’ve found who are willing to share their experiences and expertise.
2019 is the most I’ve ever grown as an investor and it’s not even close. I learned a ton and gained a new perspective while also being fortunate enough to see significant gains. I’ve not only transformed my portfolio but also acquired abilities that will undoubtedly have a positive effect on my family’s future. I hope that journey continues unabated in 2020.
2019 Results:
December Portfolio and Results:
2019 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
Past recaps for anyone who’s interested:
Stock Comments:
I entered December with 11 holdings, ~1.3% cash and a boatload of earnings reports between 12/2 and 12/9. Keeping up with those releases proved to be quite a daunting task. In fact, I wasn’t quite able to do it in real time. A busy work week limited my access to the news and made quick deep dives pretty much impossible. Fortunately, there were no major disasters (although I guess you could argue ESTC was a minor one). There was a lot of new info to absorb, and it took a few extra days to sort it all out. After all the moving and shaking, I head into 2020 fully invested with 10 positions. Details below.
AYX – AYX remains both my highest allocation and highest conviction holding. I tapped the very dregs of my cash to add about ~0.1% this month when the stock dropped back into the $90’s. The size of my current position is the only thing that kept me from adding more. I’m expecting a strong 2020 for Alteryx. Fingers and toes crossed on this one.
COUP – Coupa kicked off this month’s earnings on 12/2 with your standard beat-and-raise. Revenues came in a tick below what I anticipated, but the rest of the numbers impressed. Subscriptions were 89% of revenues, gross margins were 72% and subscription gross margins clocked in at 81%. Their future looks solid with deferred revenue growth of 47% and calculated billings at 54%. COUP now has close to $1.5 trillion dollars of cumulative spend passing through their platform, and they continue to design tools giving customers even deeper insights into their spending habits.
Beyond the headline numbers, COUP showed some impressive bottom line leverage. Expenses as a percentage of revenues have decreased from 70% to 68% to 60% over the last three quarters. And their secondary metrics have trended as follows:
* Operating Margin: 2.7%, 5.1%, 11.3% (long term target 25%-30%)
* Net Margin: 2.6%, 5.6%, 13.9%
* FCF Margin: 19.8%, -2.4%, 21.8% (long term target 30%-35%)
* EPS: $.03, $.07, $.20
In the end Coupa keeps executing. Their platform increases customer efficiency, making it sticky. In addition, their community tools are starting to show network effects. Their Community Intelligence function lets users share ideas and compare aggregate results by industry or calendar. Meanwhile, their recently launched Source Together program lets clients combine common purchases to attract more suppliers and negotiate better terms than each could get on their own. The example given was five companies who had never worked together before joining on an IT hardware buy that resulted in >$1M in savings. That sounds like a pretty interesting value proposition to me and should only get better as more customers participate. I like what COUP is doing enough that I added about ~1% to my allocation after all my shuffling was done.
CRWD – CrowdStrike reported what I thought was a smokin’ hot quarter on 12/5. The company continues to post crazy growth rates, rapidly shrinking losses, improved margins and accelerating customer growth. To top it off, the company recorded its first FCF+ quarter in just its second release as a public company. While I realize there’s an argument the stock is pricey even after its big drop, I can’t imagine what else you’d want to see at this point as far as execution. The metrics were great, the underlying business shows little signs of slowing and the call comments were bullish across the board. Despite a general shrug by the market, I added ~1% right after earnings.
After combing through the rest of the reports, I decided CRWD was the best place for any cash that shook loose. I added ~3% more to start the following week while the price still languished at lockup expiration. I then bought another ~2% after deciding to trim MDB. I have no idea when market sentiment will come around again on CrowdStrike, but the fundamentals are just too good to think it won’t happen at some point.
DDOG – I commented last month how impressed I was with DDOG’s earnings even though I didn’t own it. Well, this month I do. Its numbers are outstanding, business is thriving, and the company is already on the verge of being profitable despite its youth. I couldn’t resist the chance to grab some shares when the stock pulled back below the IPO price. Besides, I needed a place to repurpose my – spoiler alert! – Elastic sale. Why not put those funds into a company that seems better able to monetize Elastic’s products than Elastic itself?
ESTC – Last month I wrote, ”ESTC either shows strong growth and improved leverage in its 12/4 report or it gets the boot.” To Elastic’s credit growth was pretty good. To its detriment, calling for increased losses both sequentially and YoY was the opposite of what I was looking for. Elastic clearly has a ton going on right now. Unfortunately, it’s becoming more and more difficult to see exactly where this scattershot approach toward profitability is going to hit its mark. In addition, I’m always leery when management seems to shift focus toward secondary numbers to gauge their business – in this case SaaS growth and varied TTM metrics – as opposed to more traditional, straightforward measures. Being honest, I don’t understand the business well enough to give them much leeway on the numbers. When you get right down to it, is Elastic anything more than a very good logging and search company trying to squeeze its way into some very crowded monitoring and security markets? I know that question might not be entirely fair, but I can’t say for sure I know the answer either. For better or worse, I found myself having NTNX-style “too hard” flashbacks trying to take it all in.
That post-earnings doubt along with my prior assessment made ESTC a sell. However, I was out of pocket at the time of the release and missed the chance for an immediate exit. After reviewing things, I felt the initial 15%+ drop was overdone and decided to hold a few days in case the stock bounced back while I worked through my remaining reports. No such luck however and I ended up exiting on 12/9 with a 27% overall loss.
There are a lot of really smart people who like and value Elastic. I respect their opinions and will continue to follow their thoughts. GauchoChris recently said he’d “love to see some more debate about ESTC.” That led to an interesting thread in which I posted the first couple paragraphs above and Bear made this very valid counterpoint:
stocknovice: Unfortunately, it’s becoming more and more difficult to see exactly where this scattershot approach toward profitability is going to hit its mark.
Bear: I suppose so, but my problem is that I can't really say any different for MDB, SMAR, OKTA, and many others. I have to invest in something. As long as revenue numbers are good, I either have to trust that profitability will come, or find some other differentiating factor.
That’s an excellent observation. We all must invest in something, and none of the above companies are currently profitable. So, what’s my differentiating factor? After thinking it through, the difference is I’m comfortable making a one-line elevator pitch for why I own MDB (the logical move to NoSQL), SMAR (managing unstructured work in an age of complex info and remote workers) and OKTA (the ever-increasing need for identity management and authentication). I also believe I can follow their numbers using relatively easy math. With ESTC I feel I’ve lost that ability. Bear noted this quote by CEO Shay Bannon:
”When you look at logs, if you take a right turn you get into the observability space…If you take a left turn you quite quickly get into security…”
That’s my dilemma. ESTC seems to be heading in multiple directions at once and most are outside my circle of competence. In addition, I find myself doing too many mental gymnastics trying to make sense of their numbers. While I can’t say Elastic has become any less focused as a company, I can say for certain I’ve lost focus on how to comfortably follow along. That’s not meant in any way to belittle ESTC as a potential investment. It only means I don’t have enough present understanding or conviction to own it. Despite the excellent work of others here, it’s become too hard for me personally. That being the case I’m perfectly content to take a pass on ESTC in favor of businesses where I better comprehend the thesis, especially considering the leap of faith required to invest in any unprofitable company. I guess when it comes to Elastic, I choose not to run.
MDB – I had trepidation before MDB’s 12/9 earnings. However, it wasn’t quite enough to make me trim any shares. The company had been very openly warning of Q3/Q4 headwinds, so it’s not like they were trying to hide the ball. In addition, I felt Mongo’s ~12% decline the week leading into the report had already baked some caution into the price. I decided I’d just buckle up and hang on.
I my opinion the report itself was kinda down the middle. Revenue growth was a tick better than I expected at 52.5%. Subscription growth was 56% and is now 95% of revenues. Atlas growth continues to impress at 185% and is now 40% of total revenues. Overall customer growth was 92% and Atlas customer growth was 129%, though this is the last quarter without the mLab acquisition in those comps. With that kicking in next quarter I’d anticipate customer growth dropping to somewhere in the low-30’s, which should still be good enough at these run rates. At some point the market will demand better profits and FCF, but there’s sufficient reason to think losses should continue to narrow in FY21.
The disappointing thing for me was management clearly stating they felt last year’s Q4 revenue spike was “not reproducible”. I still think they’ll beat next quarter, but the tough-comp message was a theme. That suggests another revenue slowdown (or at least less of a surprise than 4Q19), and it could be quite significant. From a thesis standpoint, Mongo remains firmly entrenched at the forefront of the move to unstructured data. However, it appears to me at least the “hyper” part of hypergrowth has dissipated for now.
In the big picture it’s hard to see how MDB isn’t a long-term winner. In the small picture I’ve reached the same conclusion as last quarter: ”While I strongly believe the world will continue its long-term march toward NoSQL…a short-term slog could be imminent for the stock.” That caused me to trim a couple percent for the second report in a row, this time to CRWD’s benefit. I still want to own MDB, just not quite as much of it. I’d likely consider trimming further if something else grabs my eye in early 2020.
OKTA – Last month I wrote, ”As we head into earnings, I do have some concern where Okta might land…anything short of Okta’s usual $8M-$9M revenue beat would mean a pretty sharp slowdown…I can’t see the market taking too kindly to a disappointing result, especially given the recent markup.”
Fortunately, Okta delivered with a $9.04M revenue beat. The rest of the numbers flowed about as expected from there. Their general growth rates are slowly descending, but I view it as the unavoidable law of large numbers rather than any deterioration in the underlying business. Okta’s raw growth and customer rates seem just fine while their bottom line and FCF numbers continue to march toward sustainable profits. That remains an attractive combination in my eyes.
In a nutshell, Okta’s future seems rock solid. As usual, their call was positive and confident. In addition, growth rates remained almost identical to Q2 for billings (42.4%, 41.6%), RPO (68.0%, 67.9%) and current RPO (52.0%, 52.0%) suggesting there’s little reason to think OKTA won’t continue along its present path. I view that path as a consistent 40%+ grower crossing over into steady profitability before too long. That’s a trip I remain willing to take.
PLAN – After a solid November earnings report, Anaplan had a quiet December. Despite its out of sight out of mind quality for much of the year, PLAN’s been a steady performer in the back half of my portfolio. In fact, since the stock held up relatively well this month PLAN exits 2019 at its largest allocation yet. I have similar expectations for it heading into 2020.
ROKU – I used my regular monthly contribution to add a teeny amount when Roku opened December down ~15% on a Morgan Stanley downgrade with a $110 target. Of course, a Needham analyst sent the stock up the very next day with an upgrade that included a Street-high target of $200. That’s quite a difference of opinion. I’m siding with Needham on this one since I make a point of never trusting anyone with two first names (my apologies to everyone out there with two first names). Here’s hoping the bulk of this holiday’s smart-TV upgrades end up powered by Roku’s OS.
SHOP – Good ol’ Shopify. I bought a small position in September as a better-than-cash play that as of 11/30 hadn’t quite worked out (-6%). SHOP responded with an early December surge that put the shares ~5.5% in the black. Not wanting to look a gift horse in the mouth, I liquidated the position to reallocate after the early-month reporting rush. It’s now spread amongst my post-earnings buys. Shopify has been a consistent highlight for my portfolio this year, and kudos to those still holding it as the stock is once again bouncing around the $400 mark and challenging new highs. Thanks, Tobi (the quirky CEO). I’ll tip a Labatt in your honour (Canadian spelling!) next time I’m in Ottawa.
SMAR – Smartsheet rejoins my portfolio after what I thought were strong earnings on 12/4. Another poster has called SMAR “the most cut and paste company I have ever followed”. I can’t think of a better description. Check out some of these growth rates for the first 3 quarters of FY20:
* Revenues: 55%, 53%, 53% (I’m estimating ~52% in Q4)
* Subscriptions: 57%, 56%, 55%
* Billings: 52%, 52%, 52%
* Deferred Revenues: 64%, 63%, 61%
* Gross Profits: 56%, 53%, 52%
* Gross Margin: 81%, 82%, 82%
* Subscription Gross Margin: 88%, 88%, 88%
* Average ACV: 48%, 49%, 48%
* Customers with ACV >5K: 56%, 55%, 51%
* Customers with ACV >$50K: 117%, 113%, 114%
* Customers with ACV >$100K: 139%, 128%, 120%
* NER: 134%, 134%, 134%
It’s hard not to be impressed by that kind of consistency at a run rate that should surpass $300M next quarter. Expenses were up a tick due to their customer conference and a brand ad campaign but should trend lower and back in line for Q4. The company is up to 5.8M users on its platform and now has 10 specialized add-ons letting clients customize use cases to specific business needs. SMAR also achieved FedRAMP status in mid-August, which clearly expands their market for Q4 and into FY21. The hickey here is losses are seemingly “cut and paste” as well, but FCF continues to grind in the right direction and is likely to be breakeven or even slightly positive next quarter. There’s enough growth and gross margin here to think any future leverage will fall quickly to the bottom line.
Taking a step back, Smartsheet’s business is movin’ right along.
The concern of a slowdown caused me to exit after last quarter’s earnings, but this report calms those fears for now. My final spot in this reshuffle came down to SMAR versus ZM. I’ve chosen to cast my early 2020 lot with SMAR and was fortunate to buy back in at roughly the same price I exited in September.
TTD – My 2019 Portfolio MVP. I’ve held most of my allotment for all of 2019’s 124% run, and my original 2017 purchase is now up 420%. I’ve also been fortunate enough to make a couple timely adds along the way. TTD’s allocation jumped quite a bit with its November rise, and I entered December open to trimming if something else popped during the early-month earnings rush. Nothing did, so I exit the year with all my shares. I can’t say I’ll hold this large an allocation indefinitely, but I fully expect The Trade Desk to continue outperforming longer term. I’m glad to own it.
ZS – ZS reported 12/3 in their first release since last quarter’s sales stumble. Despite a slight beat and raise, I found the overall numbers disappointing. Revenues came in about where I expected, but that still means growth has declined from 61% to 53% to 48% the last three quarters. Calculated billings growth – which was the big snafu last quarter – rebounded sequentially to 37% from 32% but still lags revenue by quite a bit. That will undoubtedly be a short-term drag (excellent job on some of the math here. RPO growth (+35%) lags as well, which suggests this is not just a temporary blip. Operating expenses as a percentage of revenues crept sequentially to 77% from 72% with this quarter’s 44% YoY rise being the largest in seven quarters. While not ideal, that increase at least makes sense as they boost S&M to ramp up their new sales program. As usual, ZScaler executed well enough to finish slightly profitable and post solid free cash flow. Despite all that, it’s clear they have work to do.
As for their future, my initial take was lukewarm. Bumping the company’s $100M top end Q2 guide by their recent average ~$3.5M beat would put next quarter’s growth at 39.3%. No matter how much you like the business – and I still do at its core – it’s hard to view a drop from just above 60% to potentially just below 40% in only three quarters as anything other than a significant slowdown, particularly with customer growth appearing flat. That bothered me and lowered my conviction as a result. So, despite finding the numbers interesting enough to hang around for the conference call I immediately trimmed ~1.5% after hours while I reassessed.
I found the call more upbeat than last quarter’s but can’t say I left it overly excited. There were obviously a ton of references to the new CRO and his efforts to revitalize sales. Unfortunately, most comments were just different ways of stating even though management is happy with his progress it will take time to sort things out. While I can appreciate the thoroughness of taking over a year to find the right person for this role, it’s clear ZS lost control of its sales along the way. They’ve seemingly managed themselves into the double-whammy of resetting their sales program while simultaneously trying to cross the chasm on the product adoption curve. Given their top-down selling model, I can’t see this being a quick or easy fix. My impression coming out of earnings was ZScaler has lessened the bleeding, but it’s still TBD whether they will turn things around.
After sleeping on it, I sold another ~1.5% at market open by exiting a position sitting slightly below breakeven in a taxable account. Those sales combined to cut my holdings by close to half. I’d already decided ZS was getting a smaller position no matter what, so I figured I might as well take the opportunity to grab some cash heading into the half-dozen or so reports still on tap. By the time the week was over, ZScaler had become the odd man out. The market has clearly given ZS something to prove, and I’ve decided to watch from the sidelines while they initially try to prove it. Rest assured I’ll be watching very closely because I believe there’s plenty of upside here if the company can regain their mojo.
My current watch list in rough order is ZM, DOCU, PAYC, ZS, ESTC and AVLR (a new name with interesting numbers but I need a better feel for its 2020 prospects). Twilio, Zendesk, Slack and Everbridge remain second tier. Moving DDOG and SMAR into my portfolio definitely makes this group less exciting. Here’s hoping another name or two bubbles to the surface over the next couple of months.
And there you have it. While December wasn’t an ideal finish to the year, I have zero reason to complain. Frankly, nobody gives a s$!t anyway. 😏 My stated goal has always been to beat the S&P. While I did that and then some this year, I now realize I’ve been thinking about it all wrong for the ~25 years I’ve been investing. Final returns and market comparisons are nothing more than results. In the bigger picture it’s the process used to get there that matters most. None of us has control over our actual returns. We only control what we own and why we own it. That’s my #1 takeaway from 2019. I believe I’ve not only built a portfolio that better reflects who I am but also better prepared myself to adapt to whatever the market has to offer. I eagerly await whatever lessons 2020 has in store…
Thanks for reading, Happy New Year and I hope everyone has a great January.