Two software stocks, one investor, the same calendar year — and a bullish label and an "overvalued" label that look like a contradiction until you price the trades underneath them. In mid-April, as software shares were sliding, Michael Burry told his Substack followers he had bought Veeva SystemsVEEV-- and called it one of his largest holdings, with the stock already down about 29% year to date at the time. By the end of August it had nearly doubled, and he trimmed. In September commentary he described Snowflake as "overvalued" while remaining bullish on Veeva.
The two calls are not opposites; they sit on the same rule, at different points. VeevaVEEV-- was a buy-the-fall trade, now partway to being closed. SnowflakeSNOW-- was already the run, and he declined to chase it. That reframes the useful question: not whether Burry is bullish on software, but where each name stood on that entry-to-extension path when he spoke — because it changes what "bullish on Veeva" should mean to anyone following it.
Two stocks, two points on one rule
The facts both readings accept are simple. Veeva builds the software pharma uses to track doctor visits, manage drug trials, and assemble regulatory filings; its revenue grew about 16.5% over the trailing year, it converts roughly half of sales into free cash flow, and it reports a positive GAAP profit. Snowflake, the data-cloud company, grows far faster — revenue up about 32% year over year — but loses money on a GAAP basis. And Snowflake entered Burry's orbit already having run roughly 72% over the prior 120 days (Ainvest data), even while its trailing GAAP P/E stayed negative.
Both are near-net-cash, expensive, cash-generative businesses. The dispute is not about either company's quality. It is about what the current share price already reflects — whether the discounted part of the story has been bought or spent.
The fall he bought, the doubling he trimmed
Burry's Veeva entry was a drawdown buy, not a value buy on current earnings. He went long around April 13, in the middle of an AI-driven software selloff and after the stock had dropped about 29% year to date, and described the position as one of his largest holdings. His stated reason for buying beaten-down software names — Adobe, Autodesk, and Veeva together — was blunt about timing rather than discount: the credit side for software, he argued, was not large enough to keep driving these stocks lower for much longer.
VEEV's price tags from the June 2026 trough through the ~$285 end-of-August close, where Burry trimmed after the stock roughly doubled from his mid-April entry. Interpolated path is illustrative; only the tagged markers carry attested prices.
The price path above fills in the rest. Veeva bottomed near $150 (Ainvest data: a 52-week low of $148.05, and a low of $150.39 on June 18), then rose to roughly $285 by the end of August — an 89% move across that June-to-August window. Over the same stretch, the reported gain from his April purchase reached about 82% by late August. That near-doubling is what prompted the trim. Read as one sequence: he bought the fall, the market doubled it, and he took part of it off the table.
Laid out as a mechanism, the logic is coherent. A severe drawdown in a high-quality compounder is treated as the entry trigger rather than a defect signal; the quality floor — here a free-cash-flow margin near 50% and GAAP profitability — is what makes the fall survivable and buyable; and the extended stock is the exit, not a reason to add. Buying after the fall and trimming after the doubling is the same lens applied twice, once on the way in and once on the way out.
Snowflake was the run he declined
Snowflake was the mirror image, and this is the source of the "overvalued" label. It had already made the move Burry likes to be on the front end of — up roughly 72% over the trailing 120 days — while still trading near 21x trailing sales on a negative trailing GAAP P/E of about -89x (Ainvest data). That is growth capitalized in advance, before current GAAP earnings exist to stand under the multiple. Calling it overvalued is less an independent business judgment than the same rule declining to buy what has already run. The separation between the two names is not quality met with quality. It is one stock bought low in its cycle and one stock priced high in its run.
The ruling, and the tripwire that flips it
Here the "bullish Veeva" framing runs out of room, and this is where the score changes. Take valuation as of early September: Veeva's forward P/E of about 53x sits above its trailing P/E of about 45x (Ainvest data), meaning near-term consensus GAAP earnings are not accelerating relative to the trailing figure. The stock is not cheap on current consensus; it was cheaper, on a drawdown basis, back in April. So "bullish on Veeva" describes an entry that has largely been captured and a position he was trimming — not an open, high-conviction accumulation at today's price.
The verdict is a timing call dressed up as a quality call. Burry bought the fall in a cash-economical compounder, let the market double it, and took some off the table; he declined the name that had already run without an earnings floor. The template's forward repeatability, though, is not established — the buy, the run, and the trim come from secondary summaries at medium confidence, with no documented valuation threshold behind the pattern.
What would break the template: if Veeva's revenue growth slips from mid-teens toward low double digits while margins hold, then the fall he bought would re-read as a value trap rather than an entry — and the "best stocks fall by half first" line would be a story about one round trip, not a durable rule. And under Ainvest data, Veeva trades near an 11x EV/Sales; if it holds above roughly 15x EV/Sales for several quarters without growth re-accelerating, the buy-the-fall window is spent and the thesis stops compounding. For now, the evidence lands on the side of the took-profit: he bought the fall, the market doubled it, and he trimmed. That is the whole trade, and it is worth reading before the word "bullish" turns into a mandate.



Comments
No comments yet