Cairn · Learning Loop
48 assessedAn honest post-mortem on every deep analysis once it's 14 days old: what we said, what the stock actually did, and why — separating market-wide moves from our own calls, reading the macro/sentiment pressure our Quality+Value lenses can't see, and noting what we should change. We're not acting on this yet; we're learning. Click a row for the full reasoning.
| Ticker | Report Date Learning Assessed | Our Call | Predicted | Price → 14d | Verdict How Far Off | Opportunity | Honest read | Action Taken | |
|---|---|---|---|---|---|---|---|---|---|
| Gem 10 assessed Great business and cheap when we called it. | |||||||||
| BAH Selection Booz Allen Hamilton Holding Corporation |
Jun 7, 2026
Jun 24, 2026 · 5:35am
|
Gem Q +1 · V +23 Quality — nibble now, scale on weakness | — |
$79.48
$66.36
-16.5%
|
Missed -70 | +75 | Guidance miss + political uncertainty re-rating crushed BAH; we called a nibble on Quality/Value, but missed dominant macro-sentiment tailwind against defense consulting. | — | |
|
Our crux at the time
Whether the FY26 gross-margin reset is a benign reclassification or a real economic crack determines if $87 deserved value holds — or if $70 is the right anchor. Post-mortem
LAYERS OF THE MOVE: 1. Market context (1.28% S&P gain, VIX falling): The broad market moved up slightly and risk-off sentiment eased. This provided *no tailwind* to BAH and actually worked against it — when risk comes back, growth-oriented names should rally, but BAH did the opposite. 2. Company-specific catalyst (May 22, FY26 earnings release): BAH reported FY26 revenue of $11.2B (−6.4% YoY) and set cautious FY27 guidance of $11.2–$11.7B (0–4% growth, midpoint ~2%). The headline was *not* the earnings — it was CEO Rozanski stating "reacceleration of our business will take longer than we expected." This is exactly the crux we named: the FY26 gross-margin reclassification question turned out to mask *structural* revenue deceleration, not a benign accounting reset. Our thesis hinged on whether $87 or $70 was the right anchor; the guided slowdown pointed toward $70. 3. Sector/macro-narrative headwind (political uncertainty + DOGE headwind): Between June 7–21, defense contractors faced a two-layer sentiment reversal. First, <cite index="18-17,18-18">the DOGE cost-efficiency initiative aimed to reduce federal consulting and technology expenditures, resulting in slower procurement activity, contract reviews, and cancellation of several contracts within Booz Allen's civilian segment</cite>. Second, <cite index="28-2,28-3">political uncertainty over U.S. intelligence leadership, surveillance powers, and national security policy became a meaningful factor; when appointments stall and key laws such as Section 702 hang in the balance, contractors that rely on clear direction and timely approvals can see project pipelines and confidence put under pressure</cite>. BAH is 97–98% dependent on U.S. federal revenue and has heavy civilian exposure — a double hit. 4. Attribution breakdown: - Market: ~10% (broad market was flat/up; no support) - Sector: ~60% (political/DOGE pressure, guidance reset expectations in consulting/IT services) - Idiosyncratic: ~30% (the specific guidance miss and CEO tone that signaled structural slowdown, not just noise) GRADE AGAINST OUR CALL: We called BAH a Gem (Quality 1 / Value 23) on June 7 at $79.48. Our thesis was "Quality nibble now, scale on weakness." We explicitly named the FY26 gross-margin print as the crux — whether it held $87 fair value or signaled $70 anchor. The stock fell to $66.36 (−16.51%) in 14 days. We were wrong on direction and magnitude: - We were right that the margin story mattered; we were wrong that "scaling on weakness" would work because the weakness *accelerated* and was *macro/sentiment-driven*, not company-specific misunderstanding. - The market *repriced* BAH on two frames: (a) revenues ARE slowing durably (not a one-time reset), and (b) political uncertainty + DOGE pressure + Section 702 turmoil create *option value losses* for a pure-play consulting services name with 97–98% federal exposure and slow organic growth. WHAT WE MISSED: Our Quality and Value lenses gave us a correct *bottom-up* read — the business is solid, the valuation was reasonable — but we had zero visibility into the top-down macro/sentiment force. In early June 2026: - Defense consulting was under re-rating pressure due to perceived DOGE-driven cost-cutting and intelligence leadership chaos. - Booz Allen specifically was marked for civilian segment pain (procurement delays, contract cancellations). - No positive catalyst was visible for a services/consulting name in a political friction environment. We treated the May 22 earnings release as static data, when it was actually a *signal* that management's own forward guidance was tepid. We should have read "reacceleration will take longer" as "we are losing confidence," not "volatility = buying opportunity." THE TIMING & SIZE: The move happened fast (11 trading days saw −16.5%), with the worst days on June 10–11 (broad selloff regime, BAH down −2.09% when S&P down −1.62%, so outpacing downside by 50 bps). The June 18 drop to $66.36 (−4.5% single day) came as the broad market rallied, confirming it was company-specific or sector-specific, not market-driven. BOTTOM LINE: We nailed the *fundamentals* (the business is solid, margins are real, backlog is strong per-management). We whiffed on the *sentiment/regime*. BAH in June 2026 faced a narrative headwind (consulting = cost-cutting target; intelligence = political chaos; federal procurement = frozen) that our two-lens system cannot capture. We called it a Gem at the wrong time. What we missed
The dominant macro-narrative force: federal consulting services under re-rating pressure due to DOGE cost-efficiency initiative and intelligence/surveillance law uncertainty. We saw a solid business on static metrics and missed that *sentiment had turned decisively negative* toward labor-intensive, federal-dependent consulting in an environment of cost-cutting and political friction. Management's own tepid guidance ("reacceleration will take longer") was a tell we should have heeded as sentiment shift, not noise.
System signal — what we should change
macro blindspot
Add a live macro/sentiment screen to flag when large caps in government-dependent sectors (defense, consulting, IT services) face narrative headwinds (cost-cutting campaigns, policy uncertainty, procurement freezes). This case shows Q/V can be right while sentiment downgrades a name 16%+ in two weeks. A simple layer — 'is this sector/name under political or cost-cutting pressure right now?' — would flag the risk *before* we initiate.
Opportunity to improve +75/100
High-value fix: Add a real-time macro-narrative sentiment layer (parallel to Q/V) that flags cost-cutting campaigns, policy uncertainty, and procurement friction in federal-dependent sectors. This case reveals our system's blind spot is *not* missing fundamentals but missing the top-down pressure that can override them for 2–4 weeks at initiation.
|
|||||||||
| MOH Selection Molina Healthcare, Inc. |
Jun 7, 2026
Jun 24, 2026 · 5:33am
|
Gem Q +11 · V +22 Watch with a small starter — get aggressive sub-$165 | — |
$190.86
$195.37
+2.4%
|
Partial +15 | +45 | Stock drifted higher slightly on analyst upside revision + Illinois contract, but narrative tension between margin recovery thesis and persistent membership losses left the real story untested. | — | |
|
Our crux at the time
Whether 2026 state Medicaid rate updates restore the medical-cost spread fast enough to validate normalized ~4% margins — everything else is noise around that single variable. Post-mortem
### Attribution of the +2.36% move over 14 days: Market/Sector: ~1.0% (S&P was +1.28%, health insurance sector benefited from managed-care margin recovery narrative that started in April; broad market complacency + risk-on June 12-21 provided tailwinds). Company-specific: ~1.4% — driven by two catalysts: 1. JPMorgan PT raise (June 8): From $169 to $191, a 13% upside call. This matched our analysis-date price exactly ($190.86), so the call was priced-in immediately with no material follow-through. 2. Illinois Medicaid contract win (June 10): A medium-term growth catalyst, but stock rose only $0.80 that day (0.4%), suggesting modest market impact. Both catalysts were positive but incremental; the stock drifted sideways June 9-16 ($203 peak on June 9 faded to $195 by close June 21). ### How we fared against our thesis: What we got right: - We called it a Gem tier at $191 (Quality 11 = Mixed, Value 22 = Modestly Cheap). JPMorgan's $191 target confirmed that valuation. - We named the crux precisely: 2026 state Medicaid rate updates restoring the medical-cost spread. This is exactly what the market is now pricing (margin trough thesis, recovery in 2027). - Our overall read ('get aggressive sub-$165') made sense — the stock stayed above $190, never giving a lower entry. What we missed or under-weighted: - Membership loss severity: We did not flag that Molina burned through its *entire* 2026 disenrollment expectations in Q1 alone (2% drop). This is idiosyncratic to Molina and raises execution risk on the "margin recovery" story — *if Molina loses members faster than rates rise, the spread math breaks*. - Guidance conservatism: While peers (UNH, ELV) raised 2026 guidance post-Q1, Molina reaffirmed, citing "cost environment remains challenging." This is a yellow flag that execution uncertainty is *real*, not just noise. - Macro narrative blindness: We scored this as "Mixed Quality" and "Modestly Cheap," but the market *doesn't care* about the trough-year thesis if it doubts Molina's ability to *execute* the recovery. The 13% analyst upside from JPM signals the market *wants* to believe it, but the stock's refusal to run hard (peaked +7.38% on June 9, closed +2.36%) shows skepticism. ### Market and sentiment context: - The managed-care sector had a major tailwind: April 2026 saw Medicare Advantage rate guidance that was "better than feared," and the industry consensus shifted to "margin trough is here, recovery in 2027." - But MOH lagged its peers. On June 4, Wells Fargo stuck to a Hold; on June 8, JPM raised PT but kept Neutral. That's not a bullish chorus. - The Strait of Hormuz closure was live macro noise (risk-off early week), but by June 12 the market shifted risk-on. MOH rode the coattails but didn't outperform. ### The 14-day checkpoint: This is too early to kill the thesis, but it shows the thesis is contested, not confirmed. The stock had all the catalysts it needed (analyst upside, contract win, macro shift to "recovery") and still only gained 2.36% vs. the market's 1.28%. That's a weak delta. If the margin recovery story were compelling, MOH should have rallied 5-7% in a +1.3% market. What we missed
Severity of Q1 membership losses (2% in one quarter, using the entire 2026 budget) and Molina's **reaffirmation** of 2026 guidance vs. peers' upside revisions—a clear signal Molina sees **higher execution risk** on the margin recovery thesis. We under-weighted the idiosyncratic execution gap and over-weighted the 'trough year' narrative that, while true in theory, may not hold for Molina if membership bleeds faster than rates recover.
System signal — what we should change
macro blindspot
Our Q+V scores can't capture **policy execution risk** or **company-specific contingency risk** when the core thesis depends on external (state rate) and internal (membership stability) triggers both firing. Add a screen: when a thesis hinges on two interdependent rate+member movements, flag if one is already in trouble (membership down 2% in Q1 against 2% annual budget = alarm). This is a recurring blind spot in 'trough year' plays.
Opportunity to improve +45/100
Medium fruit: Flag 'multi-trigger' theses (rate recovery + member stability) as higher risk. If one variable is already stressed at announcement, the conviction on the other should fall. Add a simple membership-velocity check to the macro model: if Q1 uses >40% of annual budget, downgrade by 1 tier. Prevents over-confident 'trough year' calls that ignore execution fragility.
|
|||||||||
| BPOP Selection Popular, Inc. |
Jun 7, 2026
Jun 24, 2026 · 5:32am
|
Gem Q +73 · V +32 Quality — starter here, scale on dip | — |
$153.07
$159.24
+4.0%
|
Partial +15 | +65 | Right direction & driver (margin recovery, analyst revisions), wrong timing—called dip to $145, stock went straight up +4%; missed real-time estimate revision momentum. | — | |
|
Our crux at the time
Whether the price comes to me near $145, or whether the margin-recovery trajectory keeps compounding fast enough to make today's $153 look cheap in hindsight. Post-mortem
Market vs. Company: BPOP +4.03% vs. S&P +1.28% in a 14-day window ending June 21. Market accounted for ~30% of the move; sector tailwind (rate stability, bank rotation) ~20%; idiosyncratic (BPOP fundamentals & analyst revisions) ~50%. What Drove the Move: Three factors fired together: 1. Margin recovery thesis lived. Q1 guidance (April 23) signaled NII tracking at high end of 5–7% guidance. By mid-June, analysts had incorporated this into revised estimates—Zacks Consensus up 5.8% over three months. This was the margin acceleration we scored as Q73 and assumed would compound slowly; instead, it announced loudly and analyst revision velocity accelerated. 2. Capital discipline reinforced. $155M buyback, tangible book value up $2.33/share, OpEx guidance cut. This validated the thesis. 3. No bad news. Evertec breach was old (May 15), explicitly immaterial. No other idiosyncratic hits. The coast was clear for bullish re-rating. Where We Were Right: - Called the company GEM (Quality + Value coherent story); the fundamentals bore out. - Identified margin recovery as the crux; it delivered. - Risk-adjusted entry (starter 1/3 weight) was prudent. Where We Missed: - Timing: We said 'open here, scale on dip to $145.' The market offered no dip. By the time analysts were revising up (early-mid June), momentum was live and the dip thesis was broken. - Signal gap: We didn't weight that consensus estimates were already in uptrend (+5.8% in 3 months). In a 14-day window, real-time revision momentum can override point-in-time valuation calls. Magnitude Check: Our prediction tier (GEM = buy starter, not pound the table) was too cautious on timing but roughly right on direction. The stock didn't hit our upside targets ($180–185 in 6 months), but it moved decisively higher in 2 weeks. A reader who followed our "starter here" call and added on no dip would have outperformed. What we missed
Real-time analyst estimate revision momentum. We scored the company's Quality and Value but did not weight that consensus estimates were already up 5.8% in 3 months—a forward signal that overrides a 'wait for dip' thesis in a 2-week window. By June 10–12, when analysts were lifting numbers, the dip thesis was broken and we should have flagged momentum risk to a dip-buy call.
System signal — what we should change
data gap
Add a real-time earnings estimate revision check to the pre-window thesis: if consensus has been revised up >5% in past 3 months, it signals momentum is live and timing risk on dip-buy calls is high. Low-hanging fruit: one-line screen ('Estimate Revision Trend') integrated into the near-term outlook.
Opportunity to improve +65/100
Moderate-to-high value: fixing the estimate revision blind spot would catch cases like this where fundamentals are sound but momentum has already fired before the 2-week window; reduces false-negative on 'wait for dips' in strong revision environments. Non-recurring issue but fixable with light data integration.
|
|||||||||
| TTD Selection The Trade Desk, Inc. |
Jun 7, 2026
Jun 22, 2026 · 5:41am
|
Gem Q +83 · V +29 High-quality, modestly cheap — starter position, scale on weakness | — |
$19.95
$18.51
-7.2%
|
Partial -18 | +65 | Right on the thesis crux (growth deceleration under Amazon pressure), but wrong on timing and severity—the market repriced faster and harsher than our 'GEM/starter' call suggested. | — | |
|
Our crux at the time
Whether growth stabilizes in the 20%+ range — if it holds, today's ~12x headline / ~18x SBC-adjusted FCF is a steal; if it decelerates to mid-teens under Amazon pressure, this is fair value, not cheap. Post-mortem
The Window: No major company news (Q1 earnings pre-date analysis; CMO/board hires post-date but were positive). Stock fell 7.22% vs. S&P +1.28%—a −8.5pp idiosyncratic miss. The Real Driver: Structural—not news-driven. <cite index="37-1,37-8,37-12,37-13">TTD's Q1 2026 guidance projects 10% growth, continuing its downward trend. TTD has only experienced deceleration. TTD's downward trend kicked off in 2024. After averaging 26% growth through the first three quarters of 2024, TTD's Q4 growth slowed to 22%, resulting in missing guidance for the first time in 33 quarters</cite>. The market is re-rating this slow-motion train wreck. Our Crux Was Right, Our Grade Was Wrong: We nailed the key question—does growth stay 20%+ or fall to mid-teens under Amazon pressure? The market is now saying mid-teens or worse. But we graded it GEM (buyer) on the assumption 20%+ holds. It doesn't. <cite index="40-1,40-2,40-3">Advertisers are shifting millions in CTV budgets from The Trade Desk to Amazon's. Key reasons: lower fees, better UX, measurement visibility. One auto brand moved $80M in annual spend by Q1</cite>. Sentiment is deteriorating faster than fundamentals are falling—a classic repricing. Attribution: Market +1.28%, sector normalizing (not crashing), but TTD −8.5% idiosyncratic. The stock was down ~60% before our analysis; we were catching a knife. The 14-day move was the market continuing to catch it. What we missed
We under-weighted the **speed and severity** of advertiser migration to Amazon (already $80M+ in Q1 alone) and the **sentiment deterioration** around TTD's margin structure ('The Cha-Ching Desk'). Growth deceleration was real and foreseeable, but we priced it as 20% stabilization when the market is now repricing 10-15% as base case. Macro narrative (Amazon wins) is pressing harder than our Quality/Value lenses saw.
System signal — what we should change
macro blindspot
Add narrative/sentiment layer to catch structural re-ratings faster. Our Quality/Value scores are backward-looking (fundamentals); we miss **forward-looking sentiment shifts** (advertiser behavior, competitive narrative) that move faster than financials. A TTD-like case—high Quality, cheap Value, but broken growth thesis—should trigger a 'Watch for Flow' flag before it becomes a short.
Opportunity to improve +65/100
Medium-high: Add a forward-looking 'competitive narrative' layer to the score card (monitor Win/loss data, advertiser migration signals, management commentary on share losses) to catch structural re-ratings earlier. This would have flagged TTD's 'under pressure from Amazon' risk weeks before the market repriced 20% → 10% growth.
|
|||||||||
| QLYS Selection Qualys, Inc. |
Jun 7, 2026
Jun 22, 2026 · 5:40am
|
Gem Q +100 · V +11 Quality — starter position, scale in lower | — |
$109.90
$111.30
+1.3%
|
Market-driven -5 | +65 | Stock tracked market (+1.27% vs S&P +1.28%); no company catalyst; thesis untested as analyst sentiment downturn and AI-narrative re-rating cap multiple. | — | |
|
Our crux at the time
Whether competitive pressure from CrowdStrike/Palo Alto/Microsoft compresses Qualys's growth toward zero — because at $110 you're paying for durable mid-single-digit growth, not just the EPV floor. Post-mortem
Attribution: The stock's flat performance (1.27%) tracks the S&P 500's move (1.28%) almost perfectly. No meaningful idiosyncratic driver: Q1 earnings occurred before the window (May 5), CEO's 10b5-1 share sales on June 15 are mechanical/pre-planned (immaterial signal), and the June 10 annual shareholder meeting was routine. The intra-window spike to $114.65 on June 15 coincided with a broad tech rally (risk-off environment easing, Strait of Hormuz repriced), not company-specific strength. Analyst Repricing Dominates: The real headwind is not operational—QLYS delivered 10% YoY revenue growth and raised FY2026 guidance to 8–9%—but sentiment. Between May 5 and May 7, eight major firms (Morgan Stanley, Baird, Scotiabank, Piper Sandler, Canaccord, JPMorgan, Truist, Northland) cut price targets, citing 'uncertain long-term growth outlook' and 'growing debate around valuation.' This repricing happened *before* our analysis date (June 7) and persisted unchanged through the window. Thesis Status: Our crux—'will competitive pressure compress growth toward zero?'—is *exactly* what the street grappled with post-earnings. Analysts downward-revised growth expectations (implicitly: if PANW/CRWD/MSFT pressure Qualys, growth may fall from 6–7% to 4–5%), justifying lower PE multiples. We named this risk and said the stock deserved $125–130 vs. $110 spot *if* growth holds. The market has now priced ~12–15% downside from our $125–130 FV by cutting analyst targets; this is a re-rating, not a refutation of fortress quality. Macro/Narrative Overlay: The cybersecurity sector is rotating toward mega-cap platforms (PANW +45% YTD) and AI-security specialists. QLYS is solid remediation/vulnerability-focused, but that positioning isn't a growth narrative right now—it's 'steady state.' Even with tech rallying (June 15–19), QLYS didn't re-rate higher because the sentiment regime doesn't reward mid-cap, narrower-focus cybersecurity. This is a macro/sentiment headwind, not fundamentals. What we missed
We correctly named the crux but didn't forecast the speed and magnitude of analyst sentiment downturn post-Q1 earnings (May 5–7). Eight firms cutting targets in a single week signals a durable re-rating, not a temporary wobble. We also underweighted the macro narrative: even with broad-market tech strength, QLYS stayed flat because the sentiment regime is rotating *away* from mid-cap, function-specific cybersecurity toward consolidated platforms. Our $125–130 FV assumed growth holds at 6–7% with a stable multiple; the market is now pricing 4–5% growth and a compressed multiple, which is not a fundamental miss but a sentiment shift we didn't embed.
System signal — what we should change
sentiment blindspot
Add a real-time analyst sentiment tracker to flag when consensus is downgrading in clusters (8+ cuts in one week = regime change signal). Current system flags valuation junctures but not sentiment velocity. This case shows that even Fortress-quality, modestly-cheap stocks can stay pinned by macro narratives if the market is re-rating entire cohorts. Recommend: (1) Layer macro/sentiment scan at point-of-analysis to label regime (bull/bear/contested), (2) Weight analyst target cuts as a leading signal of multiple compression, (3) Distinguish 'fundamentals untested' from 'priced in risk' more explicitly.
Opportunity to improve +65/100
Moderate fruit: add analyst sentiment cluster-tracking to catch regime shifts early. Would have flagged the May 5–7 downturn as durable and signaled 'wait for new catalyst or valuation reset' more crisply. Generalizes well: this system identifies when the market reprices an entire cohort due to macro/narrative pressure, not company-specific news—catches false positives in our 'cheap + quality = buy' heuristic when sentiment is headwind-y.
|
|||||||||
| INTU Selection Intuit Inc. |
Jun 7, 2026
Jun 22, 2026 · 5:38am
|
Gem Q +98 · V +7 Quality compounder — starter now, scale on weakness | — |
$296.76
$267.00
-10.0%
|
Partial -25 | +50 | Direction correct (stock dipped to $260s), but missed structural pricing collapse in core DIY tax and AI threat severity; bought into wreckage post-crash without acknowledging magnitude of the deterioration. | — | |
|
Our crux at the time
Whether you get a second chance below $260 to build a real position, or whether the AI/IRS Direct File overhang lifts and you have to chase a quality-98 compounder higher. Post-mortem
### Market vs. Idiosyncratic INTU fell −10% during a +1.28% S&P 500 and a recovering tech sector (June 16–19 showed 'tech_rally' regime). Attribution: ~75% idiosyncratic (DIY tax pricing loss + AI threat narrative), ~15% sector (software multiple reset), ~10% macro (small benefit from risk-on). ### The Timing Trap Our analysis on 2026-06-07 was published *after* the May 20 earnings collapse (−$77, −20%) that revealed 'did not have the overall tax season we expected' and 2% TurboTax growth. By June 7, the stock was already at $297 from $384—we were buying the dip in a deteriorating stock, not recognizing the deterioration was structural. ### What Went Wrong 1. DIY Tax Margin Compression — We treated this as a tax-season cyclicality + IRS Direct File overhang. We missed that Intuit had *lost on price* to competitors and needed to restructure its low-end offering. This signals a durable, not temporary, revenue/margin hit. 2. AI Competitive Threat Underweighted — Goldman Sachs' June 2 downgrade (Neutral→Sell, $519→$276 PT) cited Perplexity Tax, Prime Meridian, Chime Tax as 'credible, scalable' competitors. Our Quality score (98) did not reflect this threat to TurboTax's 25% of revenue and operating income. 3. Mailchimp Softness Ignored — Supposed to hit double-digit growth by FY2026 end; posted YoY decline instead. 7% of revenue, but a signal of growth deceleration across the platform. 4. Workforce Restructuring as Negative Signal — 17% headcount reduction announced mid-window. This is a cost-cutting move that *should have flagged* we were wrong on margin trajectory. ### Market Context Tech sold off early June (Broadcom caution, memory chip oversupply, geopolitical risk), then rallied June 16–19. INTU did not participate in the recovery—company-specific pain dominated. S&P +1.28% for the window; INTU −10%. Clear divergence. ### The Thesis Grading We said: GEM, starter now, scale on weakness below $260. Direction: ✓ (it hit $267). Reasoning: ✗ (we assumed the weakness was an opportunity; it was a deterioration). Verdict: Partial. Right direction, wrong reasoning, and we arrived at the conclusion *after* the main event. What we missed
Failed to distinguish between temporary (IRS Direct File overhang, tax-season cyclicality) and structural (DIY pricing/margin collapse, credible AI competitors in tax filing, Mailchimp deceleration). Treated May 20 earnings miss as a dip-buying opportunity when it was a warning of deterioration in core 25%-of-revenue pillar. Underweighted the speed and severity of the sentiment shift from 'quality compounder' to 'disruption victim.' Did not account for the fact that the market had *already* crashed the stock 20% on May 21; our June 7 'buy' was reactive, not prescient.
System signal — what we should change
macro blindspot sentiment blindspot
Our Quality/Value lenses cannot see regime shifts in narrative (AI disruption suddenly repricing software incumbents) or catalyst timing (earnings miss detonating on May 20, not late June). Add a macro/sentiment overlay that flags high-Quality, high-Value names under active negative-narrative pressure from structural threats (AI cannibalization, pricing power loss) that are *independent* of our 5-year thesis. This case shows we need to weight 'Am I buying post-crash into a deteriorating story?' separately from 'Am I buying a fundamentally cheap, high-quality compounder?'
Opportunity to improve +50/100
Add macro/sentiment overlay flagging when high-Quality, high-Value names are subject to *active negative narrative flips* (AI disruption, pricing loss, sentiment panic). Would force hedge/size reduction. Moderate-lift, high-recurrence in current AI era.
|
|||||||||
| EPAM Selection EPAM Systems, Inc. |
Jun 7, 2026
Jun 22, 2026 · 5:37am
|
Gem Q +9 · V +10 Quality on sale — starter now, real size in the mid-$80s | — |
$98.04
$76.64
-21.8%
|
Missed -75 | +85 | Called GEM on strong Q/V metrics; stock crushed 22% on Accenture-led IT services panic + AI disruption narrative, not company fundamentals. Margin blindspot. | — | |
|
Our crux at the time
Whether gross margin stabilizes near current levels or keeps leaking under GenAI/staff-aug pressure — that single variable decides if $98 is a gift or a value trap. Post-mortem
## The Move EPAM fell 21.83% over 14 days to $76.64. The bulk (−11.6%) occurred on June 17–18, coinciding with Accenture's June 18 guidance cut (FY growth narrowed to 3–4% from 3–5%, consulting up only 1%, bookings down 2% YoY), which triggered an 18% crash for ACN and rippled across the entire IT services sector. ## Our Thesis vs. Reality We published a GEM verdict (Quality 9, Value 10) on June 7, based on: - Mid-teens P/E on a fortress balance sheet with 25% of market cap in net cash - Clean accruals, disciplined buyback at ~1× sales - Crux: gross margin stabilization - Implied upside to $110–125 (12–25%) Fundamentally, we were right about the fundamentals. Q1 2026 (published May 7) showed 7.6% YoY revenue growth, 14% YoY operating income growth, 18.7% EPS growth, and first gross margin improvement in years—exactly what we identified as the crux. The balance sheet remained fortress-like, the business was real, and the multiple was reasonable. But the stock fell 22% anyway, ending at $76.64—well below our stated "real size in mid-$80s" entry point. ## Why: Contagion + Macro Narrative The trigger was Accenture's June 18 guidance cut, which signaled that enterprise clients had become cautious on discretionary tech spending. This spoked the entire IT services complex, including EPAM. Simultaneously, a powerful macro narrative—that agentic AI could compress IT services work 10–15× and make headcount-heavy consulting models obsolete—reshaped sentiment around all legacy IT services firms, regardless of current financials. EPAM was caught in a sector whipsaw. No EPAM-specific bad news occurred during the window. One analyst (Jefferies) downgraded from Buy to Hold, but only *after* the Accenture shock. The market simply repriced the entire sector on AI disruption fears. ## Attribution
## Where We Failed We nailed Quality and Value. We correctly identified that the crux was margin stabilization, and margins *did* stabilize (first improvement in years). Our business analysis was sound. But we were completely blind to the macro/narrative/sentiment re-rating in progress. Our two lenses (Quality and Value) cannot see top-down regime shifts—and June 2026 was a regime moment for IT services. A name could be high Quality AND high Value and still get crushed if a powerful macro narrative is pressing on it. EPAM was—and is—caught in that narrative. We should have noted (a) the pre-existing AI disruption concerns flagged in our stored headlines (Morningstar: "No-Moat EPAM Systems Is Vulnerable to AI's Potential Disruption"), and (b) the heightened volatility in IT services sentiment. We called it a Gem, but we didn't hedge for the regime. ## Is the Thesis Still Intact? Yes—but timing and price matter. If EPAM's fundamentals continue to execute (margin recovery, AI revenue ramp to $600M in FY2026, low P/E), the stock could recover as sentiment shifts. But a 22% two-week drop on *no bad news* shows our system had a blind spot to macro pressure. What we missed
We ignored pre-existing AI disruption narrative (Morningstar flagged 'no moat' in Feb 2026) and did not hedge for macro sentiment shift in IT services. Our Quality/Value lenses are bottom-up only; we were blind to the top-down regime re-rating happening in the sector. The Accenture June 18 guidance cut was a catalyst, but the real driver was months of accumulating fear that LLMs make headcount-based IT services obsolete. We should have weighted this narrative risk explicitly and priced it into our thesis.
System signal — what we should change
macro blindspot
Add a third 'Macro Sentiment' lens (~0–100) to flag regime pressure on the sector/narrative, independent of Quality and Value. IT services/consulting is now highly sensitive to AI disruption sentiment; the same is likely true for legal, accounting, and other knowledge-work sectors. A weak signal here would have dropped our GEM to BUY or HOLD and flagged higher risk.
Opportunity to improve +85/100
High-leverage system fix: add a 'Macro Sentiment' screen that flags when a sector is under acute narrative pressure (AI disruption, regulatory, competition model shift). Catches false GEMs and fine-tunes conviction. This case shows bottom-up fundamentals can be 'right' and the stock still fall 22% on regime shift.
|
|||||||||
| ZTS Selection Zoetis Inc. v2 · 3 total |
Jun 7, 2026
Jun 23, 2026 · 1:01pm
|
Gem Q +100 · V +22 Quality name — starter here, scale on weakness | — |
$79.44
$78.71
-0.9%
|
Partial -8 | +55 | Called the right sector (Quality) but wrong timing/magnitude: stock flat vs. market +1.3% in a window shaped by post-earnings sentiment damage and litigation overhang we didn't price. | — | |
|
Our crux at the time
Whether the 2025 revenue deceleration from 8.4% to 2.3% is a blip or the new run-rate — that single question decides if today's price is a gift or a fair tag. Post-mortem
Market vs. Company vs. Macro Decomposition: 1. Market (60% of move): S&P 500 rose 1.28% over the window; ZTS fell 0.92%. The initial 3-day selloff (June 8–11) was macro-driven (Strait of Hormuz geopolitical risk, VIX elevated at 18.92). ZTS underperformed the S&P by ~2.2%, which is modest for a stock fresh off a 21% earnings crash. 2. Sector (25%): Healthcare outperformed, gaining ~5.5% over the month. ZTS benefited from this rotation in the June 12–21 relief rally. Without sector tailwind, ZTS would have been worse. 3. Idiosyncratic (15%): Litigation filings (June 17–19) and persistent sentiment damage from the May 7 crash. No new operational catalysts, but re-weighting of downside risk kept the stock anchored despite sector strength. The Real Issue: We published on June 7, one month after Zoetis stock dropped 21.5%, closing at $87.31 per share on May 7, 2026, following Q1 2026 revenue of $2.3B, flat on an organic operational basis, against a backdrop of intensifying competition and weakening pet owner spending. Our thesis rested on the crux: whether the 2025 slowdown (8.4% → 2.3%) was a blip. The May 7 earnings answered that question definitively: it was structural. The companion animal segment posted $1.5B in global revenue, down 4%, as key dermatology, parasiticides, and OA pain all declined simultaneously. Revenue has decelerated for four consecutive quarters. This is not cyclical pet-adoption normalization; it's structural competitive loss. We acknowledged the crux correctly in our write-up but mis-calibrated the magnitude of the risk. We rated it Value 22 (modestly cheap) on the assumption that the margin of safety from EPV would protect us. But that assumes stable—not eroding—cash flow. What We Got Right: - Quality score (100) is defensible: margins are holding, FCF is clean, balance sheet is strong. - The 'starter position, scale on weakness' playbook was sound in theory. - We didn't call it a slam-dunk; we said 'buy, but not a table-pound.' What We Got Wrong: - We priced litigation risk at zero. By mid-window, a securities class action was filed against Zoetis for a class period of January 14, 2025 through May 6, 2026, adding tail-risk overhang. - We didn't weight the durability of post-earnings sentiment damage. The stock bounced to $82.20 on June 9 (intraday +4.46%), but litigation and analyst downgrades kept it anchored to $78–$80 for the rest of the window. - Our EPV-based 'downside protection' doesn't scale for *erosion* risk. If Companion Animal is structurally impaired, EPV math breaks. What we missed
Litigation tail risk (class-action filings June 17–19) and the durability of negative sentiment after a 21% crash. We treated the 0.92% 14-day loss as white noise and attributed it to macro, but the stock's failure to bounce sustainably (peaked at $82.20 on June 9, fell to $78.71 by June 21) shows that sentiment remained fractured. Additionally, our EPV-based valuation doesn't account for competitive *erosion* risk in Companion Animal; it assumes stable cash flow, which the structural -4% CA segment decline contradicts.
System signal — what we should change
macro blindspot
Add a 'post-earnings sentiment durability' module: after a >15% single-day crash, measure whether the miss is cyclical (e.g., inventory, timing) or structural (e.g., lost market share, product failure). ZTS's flat organic Q1 growth + declining key franchises (Apoquel -11%, Librela -13%) = structural. Our system should flag this as a recovery-resistant case that requires a 2–4 quarter re-proving period before we call it cheap, not just a week-1 bounce.
Opportunity to improve +55/100
Moderate-high fruit: Overlay a 'structural vs. cyclical miss' screen on post-earnings cases. If miss is structural + litigation filed, add a 'sentiment recovery lag' modifier (hold the buy rating if the 14-day bounce <2%, even if valuation looks cheap). Would reduce false positives in 'buy dips' after franchise erosion misses.
Version history — 2 earlier assessments of this run
Showing the current read above; these are superseded but kept for the learning history. |
|||||||||
| CRM Selection Salesforce, Inc. v1 · 2 total |
Jun 5, 2026
Jun 20, 2026 · 9:23pm
|
Gem Q +86 · V +49 Quality at a discount — scale in now, get aggressive sub-$175 | — |
$185.66
$151.78
-18.3%
|
Missed -42 | +68 | We called a Gem with 30-40% upside at $186 on the back of durable growth and margin durability; CRM fell 18.25% on Agentforce monetization doubts and sector-wide macro pressure, not company fundamentals. | — | |
|
Our crux at the time
Whether CRM's low-double-digit growth and margin expansion are durable through the AI transition — if yes, the multiple re-rates and you make 30-40%; if growth stalls to mid-single digits, today's price is roughly fair. Post-mortem
### Market vs. Company vs. Sector Attribution Market-wide context: S&P 500 +1.58% over the window, VIX fell from 21.51 to 16.78. Early window (June 5-11) showed broad risk-off regime; late window (June 15-19) saw broad rally, especially in tech. The Strait of Hormuz closure kept macro elevated early, but the early-window risk-off and subsequent rally are both market-wide forces, not idiosyncratic to CRM. Sector pressure: <cite index="25-5,25-7">Investors focused on unit economics and whether AI-driven consumption could pay for itself, questioning whether AI agents could hit the core subscription model</cite>. This is sector-wide SaaS/AI anxiety, not CRM-specific. The broader AI-to-SaaS transition debate (seat compression, consumption-model pivot) loomed over all enterprise software. Company-specific drivers—the real story: 1. May 18 Bank of America Underperform & $160 target: <cite index="21-2,21-4,21-5">BofA reinstated coverage with a sell-equivalent rating and $160 price target, citing concerns about slowdown in new customer growth, weakening pricing power, and underwhelming monetization of Agentforce</cite>. This hit *during* our analysis window's run-up (early June), creating headwind momentum. 2. Q1 FY27 earnings (May 27): Reported *after* our June 5 analysis but *within the window*. Results were strong on headline: <cite index="6-11,6-12">EPS of $3.88 beat estimates by 23.96%, revenue of $11.13B exceeded forecasts up 13% Y/Y, non-GAAP margin at 34.8% (up 250bps)</cite>. Stock rose modestly in after-hours (+0.42%) but the market's reaction betrayed deeper doubt: <cite index="28-22">current remaining performance obligation (cRPO) grew only 14%, a step down from the 16% pace late last year</cite>, and <cite index="28-19">more than 50% of bookings came from existing customers</cite>—not enough new logo growth. This planted a seed of deceleration that the market would water for the next two weeks. 3. June 15 Fin acquisition ($3.6B): <cite index="17-1,17-2">Salesforce announced acquisition of Fin for approximately $3.6 billion</cite>. The move was strategic (bolstering Agentforce), but the market read it as defensive—CRM is *spending* to acquire AI capability rather than organically growing it. <cite index="18-14">Analyst sentiment turned more cautious amid concerns about softer near-term demand, subdued enterprise renewals, and limited immediate AI revenue impact</cite>. The deal, intended to accelerate adoption, instead highlighted that organic Agentforce growth was slowing (already signaled by Q1's 50% upsell-focused bookings). 4. June 18 analyst moves: <cite index="25-20,25-21">Monness Crespi Hardt upgraded CRM to Buy from Neutral with a $200 target, citing margins, cash flow, buybacks, and gains from Agentforce and Data 360</cite>. But this late upgrade arrived *after* the stock had already fallen 18% from our June 5 entry—it was a bottom-fisher's signal, not a reversal driver. ### Why We Were Wrong Our thesis rested on the crux: "Whether CRM's low-double-digit growth and margin expansion are durable through the AI transition." We answered 'yes' based on Q86 (strong business quality), the operating margin transformation to 21.5% GAAP, and FCF tripling to $14.4B. The market's answer was 'not yet durable.' The key miss: We under-weighted the monetization risk in Agentforce.
Our DCF math assumed the margin expansion and growth deceleration we cited would hold in a "hybrid" model (seats + consumption). But the 14% cRPO growth—below prior 16% and below our low-double-digit assumption—signaled that the *math was breaking*. We did not have real-time Q1 cRPO data on June 5, but we had Q4 proxy signals. We missed the forward-looking deceleration signal embedded in the multiple (P/E 17.57 by late June, vs. our calculated mid-$260s fair value) before the market priced it in. ### The Crux Verdict Our crux asked: "Is growth durable through the AI transition?" The window revealed: growth is *resuming* slightly (13% in Q1), but not durable at the rate and mix we assumed. Premium SKU adoption up 300% Q-o-Q is bullish; but if it's all upsells and not new logos, the long-term durability is in question. The market penalized the ambiguity by repricing from $186 to $151.78 (-18.25%). ### Attribution Breakdown
What we missed
We scored Quality at 86 correctly—the business is strong—but we ignored the **pricing model risk** embedded in the AI transition. Agentforce ARR growth looked exponential, but we did not interrogate the 50%+ upsell-driven mix or cRPO deceleration (14% vs. prior 16%) as a forward-looking signal of seat displacement and pricing pressure. We bought on margin expansion and FCF without stress-testing the assumption that margin and growth durability would survive a shift to consumption-based pricing. The Fin deal's framing (why acquire Fin's agent if Agentforce is truly winning?) was a signal we missed in the window.
System signal — what we should change
macro blindspot
Add an explicit 'AI transition risk screen' to the playbook: flag companies whose growth is tied to a product category (agentic AI) undergoing a pricing-model reset (seat → consumption). Current system scores only bottom-up Quality/Value and cannot see a macro/sector regime shift (in this case, the SaaS model itself being repriced). A simple check—ARR growth mix (new logo % vs. upsell %), cRPO trend (is it decelerating?), and investor commentary on 'AI ROI' and pricing power—would have surfaced the duration risk we ignored.
Opportunity to improve +68/100
High-hanging fruit: Add forward-looking metric screen for AI/agentic revenue model durability (new logo % mix, cRPO velocity, analyst sentiment on monetization) to flag structural pricing risk in nascent AI categories—prevents false positives in Quality scores when a business is strong but its growth narrative is in a regime-shift collision.
Version history — 1 earlier assessment of this run
Showing the current read above; these are superseded but kept for the learning history. |
|||||||||
| CHKP Selection Check Point Software Technologies Ltd. v1 · 2 total |
Jun 5, 2026
Jun 20, 2026 · 9:23pm
|
Gem Q +58 · V +1 Quality compounder — starter position, scale on weakness | — |
$135.82
$122.33
-9.9%
|
Missed -35 | +65 | Earnings miss + guidance cut + security vulnerability exposed structural firewall weakness and margin risk we under-weighted; stock fell 9.93% on company-specific setbacks while sector peers surged. | — | |
|
Our crux at the time
Whether the 42%→30% operating margin slide stabilizes; if it doesn't, the deserved value drifts down faster than buybacks can compound per-share value up. Post-mortem
Market context: S&P 500 +1.58%, VIX eased from 21.5 to 16.78 (risk-on backdrop). CHKP fell -9.93% and underperformed the tech rally — entirely stock-specific. Company-specific drivers: - Q1 earnings beat EPS but missed revenue by 0.68%; management cut FY2026 guidance due to firewall product weakness and go-to-market disruption not yet resolved. - Operating margins at 40% in Q1 (vs. our $30% stabilization thesis), still in decline and structurally pressured by 6% firewall growth vs. peers' double-digit expansion. - Multiple analyst downgrades: BMO ($210→$135), Citi ($190→$125), BofA ($260→$120). Street targets collapsed 30–50% in May–June. - June 8 VPN security vulnerability disclosure with confirmed active exploitation, triggering reputational/execution doubt and customer friction concerns at a time confidence was already shaken. - Insider selling signal (CEO Chelouche Form 4, June 2) at $139 added to negative sentiment. Sector backdrop: Cybersecurity leaders (PANW +45.56% YTD) were surging on AI security narrative and platform consolidation. Check Point's firewall legacy, 72% of revenue growing at only 6%, was re-rated downward vs. growth-focused peers. Attribution: Idiosyncratic ~70%, sector ~20%, market ~10%. Verdict: We got the direction right (weakness was justified), but we underestimated the magnitude and failed to escalate the margin stabilization risk. Our crux was correct; our downside scenario under-specified what happens if margins don't hold — the street repriced it 30–50%, not 15–25%. What we missed
We named the margin stabilization crux correctly but under-modeled the downside. If 30% doesn't hold, deserved value falls faster — and the street repriced CHKP 30–50% lower once Q1 confirmed margins were still in decline (40% vs. expected stabilization). We also missed the magnitude of the sector re-rating: in the AI security era, legacy firewall leaders (6% growth, share loss) are being structurally down-rated while platform consolidators (PANW, CRWD) are re-rated up. The VPN vulnerability in early June was bad timing, not the root cause, but it crystallized doubt.
System signal — what we should change
data gap
Add a forward-looking 'margin trajectory' screening layer: if a company's core margin is declining despite flat-to-low revenue growth, it signals structural competitive erosion or failed cost control. Flag re-rating risk when a peer cohort is winning on a new narrative (AI security, consolidation) while your name is structurally losing share. The early-June VPN disclosure also highlights a gap: we don't systematically track security incidents / disclosure timing risk in software vendors — add a 'disclosure calendar' to the event radar.
Opportunity to improve +65/100
Medium-high fruit: 'Margin Erosion Waterfall' screen — if YoY operating margins compress alongside low growth, add 40–60 bps downside p/e multiple compression per 100 bps margin loss; flag companies where peers are growing 3x+ faster in the same margin dollars for re-rating risk.
Version history — 1 earlier assessment of this run
Showing the current read above; these are superseded but kept for the learning history. |
|||||||||
| Bounce 3 assessed Cheap, but weaker business quality. | |||||||||
| SWKS Selection Skyworks Solutions, Inc. |
Jun 9, 2026
Jun 24, 2026 · 5:37am
|
Bounce Q -29 · V +7 Fading franchise — wait for mid-$60s | — |
$73.56
$73.44
-0.2%
|
Market-driven +2 | +35 | Stock flat on market-wide and sector macro churn; thesis (Apple binary) untested by idiosyncratic news in the window. | — | |
|
Our crux at the time
Whether Apple content share stabilizes — that single variable decides if normalized EPS troughs near $4 (stock works) or keeps grinding lower (the 'cheap' multiple isn't cheap). Post-mortem
Price action: $73.56 → $73.44 (−0.16%), well within intra-window noise (+7.67% high, −6.89% low). S&P 500 −0.29%, no strong directional pressure. Earnings/catalyst timing: Q2 earnings reported May 5 (before window); next catalyst is Q3 guidance (likely August). The 14-day window (6/9–6/23) was inter-earnings silence on SWKS fundamentals. Sector/macro drivers: Market regimes shifted from risk-off (6/9–6/11) → rally (6/12–6/22) → RF/semiconductor pressure late (6/23 HBM slowdown news). <cite index="7-3">SWKS dropped 5.2% after the HBM4 report on 6/23</cite>, but this was post-close, almost entirely after our window. Our crux (Apple content stability): <cite index="1-5">Company secured multi-generational Android OEM design win expected to generate $1B+ through 2030</cite> (disclosed May 5). This partially offsets the known iPhone 17 20–25% content loss but does NOT reset the Apple risk. No new Apple updates in June 9–23 window. Attribution: ~50% market/sector macro, ~35% sector rotation (HBM), ~15% company-specific (largely dormant). What we missed
We under-weighted the intra-earnings-cycle sentiment whipsaw. Our Apple binary crux was precise, but the window was inter-earnings silence where sector macro/sentiment dominated. We flagged Apple binary correctly, but did not flag that *timing* into a high-volatility semiconductor-sentiment window was inherently high-variance—the HBM 6/23 surprise could have spiked the stock OR crushed it.
System signal — what we should change
sentiment blindspot
Add a 'macro sentiment volatility flag' for semiconductor names with >50% concentrated customer (Apple) reliance AND leverage to sector rotation (AI/memory demand). Flag inter-earnings windows as high-variance for these names; recommend not publishing thesis into such windows without explicit volatility warning.
Opportunity to improve +35/100
Moderate improvement: tag high-volatility inter-earnings periods for concentrated-customer semiconductors so we can either (a) avoid publication, or (b) add macro-sentiment regime signal to the verdict. Not low-hanging (requires new data layer) but would reduce false-negatives on timing.
|
|||||||||
| OPCH Selection Option Care Health, Inc. |
Jun 7, 2026
Jun 22, 2026 · 5:35am
|
Bounce Q +0 · V +7 Starter position — scale in on weakness | — |
$20.51
$21.99
+7.2%
|
Partial +15 | +70 | Stock rose 7.2% vs. S&P 500 +1.3%, but driven by macro relief rally + healthcare sector rotation, not company-specific thesis; crux (margin stabilization) untested in 14 days. | — | |
|
Our crux at the time
Whether gross margin stabilizes near 18% or keeps bleeding — that single line determines if today's $20 is the EPV floor or a value trap waiting to re-rate lower. Post-mortem
Market vs. stock attribution:
Grade against our call: Our thesis ("Starter position—scale in on weakness") was that the stock at $20.51 ≈ EPV floor ($19.79), so a buyer on dips. The stock did dip to $20.08 early (June 8), then rallied to $21.99 by end-of-window, handing us a +7.2% return.
Macro pressure analysis: The prevailing force was the Iran/Hormuz resolution, which eased energy costs and geopolitical tail-risk, sparking a risk-on rotation (esp. June 12 onward). This lifted defensive, lower-volatility healthcare names like OPCH as an income/quality play while big tech rallied. The VIX drop from 18.92 to 16.78 signals risk appetite returning; OPCH's low beta (0.65 per Yahoo data) means it trails in absolute returns but benefits from "search for yield" when macro volatility declines. What we missed
No company-specific catalyst occurred in this window—no earnings, no guidance, no analyst upgrade/downgrade of OPCH itself (Goldman's early-June Neutral was not a surprise move). The stock's 7.2% rise reflects *macro and sector tailwinds, not a test of our crux (gross margin stabilization).* Our thesis was conditionally right (the stock didn't break the floor), but the mechanism of the gain is external, not internal. If we want conviction, we need Q2 earnings (August) or interim trading data to show whether the chronic portfolio (Stelara/CID) decline is truly stabilizing. **We were right for the wrong reason and in the right time frame by accident.**
System signal — what we should change
macro blindspot
Our Q/V lenses cannot price macro-driven rallies and sector rotations. OPCH's 7.2% gain was +56% of the S&P 500's 1.28% move, but nearly all of it was riding macro risk-on relief and healthcare's tactical beneficiary status, not company fundamentals. **System improvement**: Build a lightweight macro/sentiment filter that flags when a stock is benefiting from exogenous tailwinds vs. validating its crux. A 14-day window is too short to judge thesis, but early-stage price moves that lack company catalyst should trigger a "sentiment-driven, thesis-unproven" tag, preventing false conviction.
Opportunity to improve +70/100
High-leverage insight: Add a real-time macro headwind/tailwind classifier to flag when a stock move is sector/macro-driven vs. fundamental. Would prevent false positives in 14-day windows where thesis remains untested. Recalibrate confidence scoring in early windows to account for macro noise.
|
|||||||||
| CAG Selection Conagra Brands, Inc. |
Jun 7, 2026
Jun 22, 2026 · 5:31am
|
Bounce Q -22 · V +48 Cheap but mediocre — starter position, scale in on weakness | — |
$13.01
$13.20
+1.5%
|
Partial -25 | +75 | Stock edged up 1.46%, barely beating SPX—BOUNCE thesis stalled; FCF already worsening, demand soft, analyst downgrades matched thesis risk, but magnitude off: expected more bounce on weakness. | — | |
|
Our crux at the time
Whether the ~$1.3B FCF stream stabilizes long enough to deleverage — if it does, $13 is a steal; if it fades, the $8B debt eats the equity. Post-mortem
Market vs. idiosyncratic: CAG +1.46% vs. SPX +1.28%. The outperformance is trivial and entirely driven by the 6/12 small-cap rally (stock hit $13.74); the rest of the window it drifted lower. By 6/21 it closed at $13.20, only 1.5% above entry, with max drawdown of -1.31%—i.e., no real move. Our thesis vs. reality: We called BOUNCE tier on the logic that CAG is cheap (Value +48) but mediocre (Quality -22), and the crux was whether the ~$1.3B FCF stream stabilizes to deleverage the $8B debt. This was not a turnaround call—we explicitly said "don't need a turnaround, just 'not a disaster'." The market should have offered a bounce if FCF held. What broke: (1) FCF is already declining. Nine months FY26 operating cash flow was $896M vs. $1.35B prior year, a 33% decline. (2) Demand is softening—Deutsche Bank on 6/18 explicitly cited "lackluster" consumption in scanned retail. (3) Analyst downgrades (Deutsche Bank $14→$12, Morgan Stanley $15→$13, BofA also down) did *not* create a panic selloff, meaning the market had already priced much of the pain; there was no capitulation bounce to buy into. Attribution: ~60% market/sector (broad SPX strength carried CAG), ~35% company-specific (analyst cuts, FCF miss, demand weakness), ~5% macro narrative (consumer staples under pressure, but CAG didn't find a bid even as risk-on sentiment lifted peers). Why we missed: We anchored on valuation (21% FCF yield, 11x EV/FCF) and insider buying as proof-of-life, but we under-weighted the forward deterioration in the *source* of that FCF (cash margin compression, volume loss). The thesis assumes the cash is "real and stable"; the data says it's already eroding. A 33% YoY cash flow decline in 9M is not a floor—it's a warning. What we missed
We treated FCF as a fixed anchor ($1.3B) but it's already down 33% YoY in the nine months reported. We should have flagged that the crux itself (FCF stabilizes to deleverage) was already failing *before* our analysis date. We also underweighted the demand softness signal—"lackluster consumption" in scanned retail is not a minor headwind, it's a call that the business model is contracting. Finally, we missed that at a 10.6% dividend yield and visible FCF compression, the market is now pricing dividend-cut risk (Bernstein explicitly cited this), which dominates the narrative and kills any bounce thesis.
System signal — what we should change
data gap
Our FCF stability assumption was based on prior-year guidance ($1.3B FY25), but we lacked a real-time forward check on whether that was deteriorating in the current fiscal year. A cash-flow trend screen (9M YoY % change) would have triggered an amber flag on this exact name and prevented the 'anchor on stable FCF' thesis.
Opportunity to improve +75/100
High-value fix: add a 9-month YoY operating cash flow trend check to the Value screen. CAG's 33% YoY OCF decline would have downgraded it from "stable cash generator" to "deteriorating," invalidating the crux and shifting the verdict from BOUNCE to HOLD or PASS.
|
|||||||||
| Watch 22 assessed Great business, not cheap yet. | |||||||||
| MNDY Selection monday.com Ltd. |
Jun 9, 2026
Jun 25, 2026 · 5:38am
|
Watch Q +100 · V -18 Quality — wait for a dip, starter only | — |
$83.23
$70.01
-15.9%
|
Partial -22 | +65 | Called the downside direction, but misdiagnosed the driver—missed that pure macro sentiment re-rating ('AI kills SaaS') could overwhelm strong Q1 results. | — | |
|
Our crux at the time
Whether I get a real drawdown into the $60s, because at $83 the quality is undeniable but the margin of safety isn't. Post-mortem
Market vs. Stock Move: - S&P 500 flat (−0.29%), Tech sector +4.52%, yet MNDY fell 15.88% - Even during the 'tech_rally' regime (Jun 17–19), MNDY kept declining - This is overwhelmingly idiosyncratic/sentiment-driven, not market-driven What We Got Right: - Thesis called for downside: "wait for a dip, crux is whether we get a drawdown into the $60s" - Stock fell from $83.23 to $70.01, confirming directional risk - Our Quality score (100) was correct: Q1 2026 beat estimates with $351M revenue (+24% YoY), strong margins, FCF upside What We Got Wrong: - We expected a pullback tied to execution risk or guidance miss - Instead, MNDY fell despite raising full-year guidance and beating Q1 EPS by 41.98% - The fall was driven entirely by macro narrative: "AI eats software" and "seat compression" fears are crushing the entire traditional SaaS category - Our Value score (−18 / fairly valued at $83) looked right on fundamentals, but sentiment doesn't care—the market is re-rating the entire category lower Attribution: - Market: ~2% (S&P nearly flat) - Sector: ~3% (Tech rallied while MNDY fell) - Idiosyncratic/Sentiment: ~95% (pure re-rating on AI disruption fears) Macro Pressure (Sentiment): - Direction: Negative (hard) - Strength: 80/100 (overwhelming) - Note: "AI eats software" narrative is repricing all SaaS work-management plays; MNDY hit by "seat compression" fears despite strong fundamentals What we missed
We under-weighted macro/narrative sentiment pressure. Our Quality and Value lenses scored the business correctly (fortress balance sheet, 89% margins, 24% growth, beat Q1, raised FY26 guidance). But we missed that a sector-wide sentiment cascade—driven by fears that AI will compress per-seat revenue models—can overwhelm fundamentals entirely for weeks. At $70, the stock may be 'cheap' on intrinsics but still 'wrong' if narrative sentiment stays depressed. We treated $70 as a buying floor; it's actually a floor while sentiment is broken.
System signal — what we should change
macro blindspot
Add a third analytical lens to flag sector-wide narrative re-ratings (especially AI-disruption cascades). When 'AI kills SaaS' is the dominant narrative, even high-Quality names get repriced regardless of earnings beat. Detect via: consensus price-target cuts despite solid results, analyst downgrades on margin-of-safety (not fundamentals), and clustering of downgrades across the category. For MNDY, a 'sentiment stabilization' watch would have been more useful than 'wait for the dip'.
Opportunity to improve +65/100
High-value fix: add sector sentiment tracking. Before rating high-quality names in macro-sensitive sectors (SaaS, fintech, traditional enterprise software), screen for active re-rating narratives (e.g., 'AI kills software') and flag them as 'avoid until sentiment resets'—would have caught this and similar cascades.
|
|||||||||
| BBY Selection Best Buy Co., Inc. |
Jun 9, 2026
Jun 25, 2026 · 5:37am
|
Watch Q +20 · V -11 Quality-lite + Fair price — Pass, set a bid in the low-$60s | — |
$75.12
$75.15
+0.0%
|
Partial +5 | +60 | Nailed fair-value pass but missed near-term sentiment upside from Meta Lab partnership, earnings stabilization, and CEO clarity—stock flat but upside narrative went unseen. | — | |
|
Our crux at the time
Whether revenue truly stabilizes here or keeps eroding — that's what determines if today's ~$76 deserved value holds or drifts lower. Post-mortem
Market vs. Sector vs. Stock: - Market (S&P −0.29%, VIX flat): ~10% headwind. Strait of Hormuz closure early week created macro risk-off. - Sector (Retail): ~25% headwind. Q1 earnings strong but Q2 guidance downgraded; cautious tone on consumer spending. - BBY idiosyncratic: ~65% of move. Earnings beat (May 28, EPS $1.28 vs. est. $1.23), comp sales +2.0% (first turnaround in 8+ qtrs), Meta Lab partnership announced June 8, CFO Bilunas stepping down July 31 (initially −3% after-hours, recovered), analyst upgrades (JPM $84, Morgan Stanley $80, Telsey $90). Stock +5.84% peak (June 12, post-Meta/analyst surge), −3.47% trough (June 17), closed flat +0.04%. Grade Against Our Thesis: - We said: Pass at $75.12; Quality +20 (disciplined, harvester), Value -11 (fairly priced). Work a bid at $62. Crux: revenue stabilization. - What happened: Revenue *did* stabilize — comps +2.0%, the inflection we named. But we called it a PASS / wait-for-dislocation, and the market repriced upward on the *first sign* of stabilization + new narratives (Meta Lab, CEO clarity). - Outcome: Stock flat, so no loss. But the window showed *upside sentiment* emerge that our system didn't flag. We were right on valuation (still fair), but too cautious on the re-rating velocity and catalyst visibility. What We Missed: - Retail media upside (Meta Lab, Best Buy Ads). Market sees this as a real margin + revenue lever; we didn't weight it. Analysts repriced on earnings + partnership, not just hardware metrics. - CEO succession as positive (Bonfig is a 27-year e-commerce/supply-chain insider), not a risk. The CFO departure (announced June 22) was briefly negative but recovered—we didn't anticipate the positive leadership narrative. - Sentiment/narrative re-rating. Our Q/V system is bottom-up; it doesn't see "when a stock becomes a story." Meta Lab + comps stabilization + new CEO = a narrative re-rating force that we don't measure. What we missed
Retail media upside from Meta Lab partnership and the speed of analyst repricing on earnings stabilization + leadership clarity. We underweighted sentiment re-rating: BBY's pivot to retail media/ads + Bonfig's e-commerce credentials created a near-term upside narrative our system doesn't see. We were right on fair value but too cautious on the re-rating velocity.
System signal — what we should change
sentiment blindspot
Our Q/V lenses are bottom-up company metrics; they don't see narrative re-rating forces (partnerships, CEO clarity, new business models). A third lens or a sentiment trigger flagging 'potential for upside re-rating' would help: e.g., 'New retail media partner + insider CEO + stabilizing comps = likely sentiment boost.' This would turn a fair-value pass into a 'fair value but watch for re-rating on catalysts.'
Opportunity to improve +60/100
Moderate opportunity. Add a sub-lens to detect 're-rating catalysts' in large-cap names: new high-margin partnerships (retail media, ads), insider CEO transitions signaling acceleration, and first signs of metric inflection. This would flag 'watch for re-rating' without changing the core Q/V call.
|
|||||||||
| NXT Selection Nextpower Inc. |
Jun 9, 2026
Jun 25, 2026 · 5:34am
|
Watch Q +29 · V -53 Quality name — wait for a dip | — |
$119.27
$120.64
+1.2%
|
Partial +5 | +35 | Nailed fair-value range but missed the timing of earnings beat and acquisition-driven re-rating spike; stock ended window near our thesis but volatility around catalysts cost us directional accuracy. | — | |
|
Our crux at the time
Whether the software/recurring attach (TrueCapture, NX Navigator) proves sticky enough to justify paying a growth-software multiple for what is still cyclical tracker hardware. Post-mortem
Market vs. Stock: S&P 500 was flat (-0.29%); NXT outperformed on sector tailwinds from Hormuz relief. Thesis vs. Reality: We correctly identified NXT as Quality (29) + Fairly Valued (-53) at $119, with a $110–$125 fair band. The stock dipped to $111.95 on Jun 10–11 (within our band, confirming our "wait for a dip" advice) but then rallied hard Jun 12–18 on: (a) Q4 FY2026 earnings beat on EBITDA/revenue (Jun 16, stock +15.5%), (b) Geopolitical relief as Hormuz tension eased, driving solar sector re-rating, (c) Zimmermann PV-Steel acquisition (Jun 22, $378M, adds €300M revenue/€45M EBITDA, announced at Intersolar). Stock peaked at $129.07 (Jun 22), then reversed -6.53% on Jun 23. Closed window at $120.64 (+1.15%), near our fair-value upper bound. Our miss: We didn't flag the timing risk of near-term catalysts (earnings on Jun 16, acquisition on Jun 22) that would temporarily push sentiment above fair value, nor did we weight the narrative upside of "platform expansion into energy storage/AI data center" (Prevalon deal + Zimmermann). Attribution: Geopolitical sentiment shift (Hormuz relief) + company-specific earnings beat + M&A narrative drove the spike; broad tech selloff on Jun 23 reversed it. What we missed
We didn't weight (1) the timing catalyst risk of Q4 FY2026 earnings (reported Jun 16) and Zimmermann acquisition (announced Jun 22) that would temporarily spike sentiment above fair value, (2) the narrative upside of "platform expansion into energy storage and AI data center markets" (Prevalon + Zimmermann deals) which our Q/V lenses don't price, and (3) the strength and durability of the geopolitical relief narrative (Hormuz reopening odds mid-window).
System signal — what we should change
timing
WATCH-tier names with near-term catalysts (earnings, M&A, geopolitical events) need explicit *timing* flagging; our Q/V thesis was correct but we missed the *when*. Add a 'Catalyst Risk' field to force sub-2-week forecast on these names, separating fair-value conviction from momentum risk.
Opportunity to improve +35/100
Medium-value fix: flag near-term catalysts (earnings, M&A, geo-events) explicitly on WATCH tiers to avoid being right on thesis but wrong on timing. Doesn't fix the macro blindspot but improves entry discipline.
|
|||||||||
| FLS Selection Flowserve Corporation |
Jun 9, 2026
Jun 25, 2026 · 5:33am
|
Watch Q +81 · V -58 Quality — wait for a dip | -0.7% |
$75.97
$79.98
+5.3%
|
Missed -30 | +72 | We underestimated momentum from AI-infrastructure narrative, Starboard activism reaffirmation, and Hormuz ceasefire reducing energy-sector tail risk; stock rallied despite our 'too rich' thesis. | — | |
|
Our crux at the time
Whether you get a cyclical or execution-driven pullback into the high $50s; without it, the turnaround is already in the price. Post-mortem
Market Context (Attribution): - S&P 500: -0.29% (nearly flat; no broad headwind) - VIX: 19.87 → 19.49 (risk-off eased slightly) - Regime: Started risk-off (6/9–6/11), shifted to strong risk-on by 6/12 onward (small-cap rally, tech rally, complacency) - Macro catalyst: Strait of Hormuz ceasefire/reopening (~6/15–6/18 window) de-risked energy but didn't crash FLS—it became a *confidence restorer* for industrial capex cycle What Moved FLS: 1. Narrative inflection (50–60% of move): Starboard Value activism + management reaffirmation of margin/EPS targets in May created a *quality + operational execution* story. By early June, analysts and institutions rewiring their models around AI power/nuclear exposure. This was top-down sentiment shift, not bottom-up earnings surprise. 2. Hormuz ceasefire (20–25% of move): By mid-June, the Strait reopening removed a major tail risk (potential demand destruction, supply-chain chaos) that had weighed on industrial cyclicals. FLS beneficiary from both higher energy capex (from Hormuz premium) *and* reduced execution risk (certainty returned to project timelines). 3. Momentum/technicals (15–20% of move): Once the stock broke above $78, it held and ran; small-cap rally 6/12–6/18 swept FLS up. Analyst targets of $87–$91 (vs. our $69 6-month) were actively cited. Our Analytical Failure: - Quality score was right (81/Strong): We correctly diagnosed a clean, margin-expanding operator. This held true and became THE reason it re-rated higher. - Value score was right at the math level (-58/Rich at $76): At $76 with 4.1× consensus 2026 EPS of $4.11, forward P/E ~18.5x — genuinely not cheap by historical standards. - But we missed the *narrative override*: In a regime where AI infrastructure is a dominant meta-theme (data centers → power generation → industrial equipment), quality *itself* gets re-rated upward. We priced in 3–5% annual growth; the market repriced for 8–10% on the back of AI capex cycles + nuclear renaissance narrative. - Timing error: We said "wait for a dip." The dip came (day 1: $72.86), but it was shallow and brief. We were looking for a 15–25% flush; the market never gave it because institutional money was already *leaning into* Flowserve on Starboard's push. By the time real-money investors realized the Starboard reaffirmation was credible, the dip window had closed. - Missed the activist catalyst timing: Starboard's late May letter and management's May 29 response landed RIGHT BEFORE our analysis date (6/9). We saw the headlines but didn't weight them heavily enough as a *sentiment inflection point* that would drive re-rating. Market vs. Sector vs. Company Attribution: - Broad market: Essentially neutral (-0.29% S&P, but small-cap bias helped industrials) - Sector: Industrial equipment/flow-control benefited from Hormuz-driven energy confidence + AI infrastructure push - Company-specific: Management credibility (Starboard response), margin execution (Q1 beat on EBITDA despite revenue miss), strong analyst target consensus (most at $87–$91) The Crux We Named vs. Reality: Our crux was: "Whether you get a cyclical or execution-driven pullback into the high $50s." We got neither. Instead, we got *negative catalysts removed* (Hormuz risk) + *positive narrative confirmation* (AI, nuclear, Starboard) that together re-rated the margin story higher, not lower. The stock found support at $72.86 and never looked back. What we missed
We under-weighted the Starboard activism catalyst and its timing (late May reaffirmation, landing just before our 6/9 call). More critically, we mispriced how rapidly the market would re-rate *Quality* (our 81-score) upward in a macro environment where AI infrastructure spending is reshaping capex allocation across industrials. We anchored too hard on near-term valuation richness and missed that the entire valuation framework was shifting—from "is it cheap today?" to "is it positioned for the AI capex cycle?" The dip we were waiting for came on day 1 but was too shallow to matter; institutional buying was already strong enough to absorb it.
System signal — what we should change
macro blindspot
Our Quality and Value lenses are bottom-up; they cannot price a *narrative regime shift* (e.g., 'AI infrastructure is now the dominant macro allocation vector'). When a macro wave is this strong and re-rates entire sub-sectors regardless of valuation, our wait-for-a-dip thesis often fails because the dip is shallow and front-running money fills it instantly. Solution: Add a third lens—a macro/narrative pressure score (0–100) that captures whether the sector/company is in the flow of a major regime shift. Use it as a *gating mechanism*: if macro pressure is >70, increase dip-wait thresholds or shift to 'outperformance thesis' instead of 'mean-reversion.'
Opportunity to improve +72/100
High-value fix: Implement a simple macro/narrative pressure gauge (0–100) that flags when a company is riding a dominant thematic wave. This would have caught FLS's re-rating before day 1 and shifted us from 'WATCH / wait' to 'HOLD / monitor for breakout' or even 'BUY / on strength.' Recurring issue across our misses in AI-adjacent industrials, energy, and cyclicals. Easy to operationalize; high impact on quality of timing.
|
|||||||||
| TOL Selection Toll Brothers, Inc. |
Jun 9, 2026
Jun 25, 2026 · 5:32am
|
Watch Q +60 · V -33 Quality — wait for a dip | — |
$144.14
$150.96
+4.7%
|
Partial — | — | TOL rose +4.73% on upgraded guidance & analyst upgrade, plus housing bill optimism; we said 'wait for a dip' — it dipped first then rallied, so thesis technically intact but timing slightly off. | — | |
|
Our crux at the time
Whether 2024-style margins are the new normal for the luxury niche or a cycle peak that normalizes ~20% lower — that single judgment moves deserved value from 'fair here' to 'cheap below $115.' Post-mortem
Market vs Stock Breakdown: The S&P 500 fell -0.29% over the window while TOL rose +4.73%, so TOL outperformed the broad market by ~5% on an idiosyncratic basis. The Strait of Hormuz macro headwind was active but neutral/weak (VIX stable 19.87→19.49). Market regime was mixed (risk-off first two days, then tech/small-cap rally Jun 12–18). This move was heavily stock-specific and sector-positive. What drove the move: 1. Keefe Bruyette upgrade (June 8–9, published at our analysis date): $158→$161 PT, +150bp rating lift from Market Perform to Outperform. This happened *on* our analysis date. The upgrade thesis centered on luxury demand resilience, land inflation hedge, and improved Q2 results. 2. Q2 earnings (May 19, pre-window): Beat consensus (EPS $2.72 vs $2.59), raised full-year guidance (deliveries narrowed to 10,400–10,700), and signed contracts up YoY (+7% units, +8% value). Management cited steady luxury demand and pricing power. 3. 21st Century ROAD Housing Act passage (Jun 22–23): Bill passed overwhelmingly (85-5 Senate, 358-32 House). Market repriced TOL up on regulatory relief (NEPA streamlining, modular home standards, CDBG incentives). TOL stock jumped ~7.5% on passage news as homebuilder sentiment inflated. 4. Trump cancellation threat (Jun 24, post-window close): Technically outside the window but the uncertainty did not hit prices during the 14-day period we assess (through Jun 23). Attribution: - Idiosyncratic (company-specific): ~60–70%. Analyst upgrade + Q2 earnings beat + guidance raise + community openings (multiple announced Jun 17–23) drove base case. - Sector: ~25–30%. Housing bill passage lifted homebuilder sentiment broadly (LGI Homes +56% in 3 months, per headlines); TOL benefits from luxury-skew positioning vs entry-level peers (Lennar downgraded same day KB upgraded TOL). - Market (macro): ~5–10%. No macro tailwind; S&P flatish. Geopolitical risk (Hormuz) was offset by broader momentum into small/cyclical names during the 12–18 Jun rally. Grade against our thesis: We said WATCH (Quality 60 + Value -33) with the crux being: *'Is 2024 margin peak or new normal?'* and the call: 'wait for a dip.' What happened: - TOL opened at $144.14, dipped to $138.90 on Jun 10 (-3.7%), then rallied +9.6% to $155.67 by Jun 18, closing the window at $150.96. - The stock *did* dip as we said ('wait for a dip'). Then it rallied *beyond* the range we implied as fair value ($115–$144). - But the rally wasn't on margin improvement — it was on analyst re-rating (KB), beat/raise, and sector tailwinds (housing bill). Our thesis was that margins were cyclically rolling over; the market is saying luxury demand + regulatory relief + strong order book = margin support longer than we thought. What we got right: TOL's Quality fundamentals (21% share buyback, 4 Z-score, real FCF) are holding, and the luxury niche *is* more resilient than we gave it credit for. KB's logic (K-shaped market favors high-end) is sound. What we underweighted: - Sentiment re-rating: The analyst upgrade and earnings surprise repriced the stock +11% of its 14-day move independently of fundamentals. We had a WATCH rating, implying wait-and-see; market had animal spirits. - Regulatory relief: We didn't model the housing bill as a real margin/growth tailwind for luxury builders. It's modest (NEPA streamlining, modular standards), but market priced it as relief from permitting drag, especially for TOL's big landbank. - Margin stability signal: Q2 guidance raise (10.4–10.7k units) and signed contracts up YoY suggested margins *aren't* rolling over as steeply as our analysis feared. We said 20% haircut from 27.9% GM; the market is saying maybe 5–10%. Timing/sizing: We nailed direction (quality + wait = later = avoid downside). We missed magnitude (the upside surprise from analyst re-rating + sentiment shift + housing bill = +4.7%, not a dip-then-hold). A WATCH call is defensive; we got run past because the cohort (KB, BTIG, Citi all initiated/upgraded Jun 8–9) drove momentum. |
|||||||||
| TCBX Selection Third Coast Bancshares, Inc. |
Jun 7, 2026
Jun 24, 2026 · 5:35am
|
Watch Q +16 · V -40 Quality-lite — wait for a dip | — |
$39.21
$38.99
-0.6%
|
Market-driven +5 | +65 | Stock flat vs. prediction; S&P 500 +1.28% but TCBX −0.56%. Tech rally rotation hurt small-cap regional bank; company thesis untested by window. | — | |
|
Our crux at the time
Whether you get a chance to buy this at a real discount to tangible book before the dilution-funded growth story re-rates — entry price, not business quality, is the whole game here. Post-mortem
Market & sector layer: The S&P 500 rallied 1.28% over the window (6/7–6/21), but TCBX declined 0.56%, tracing a sharp underperformance. The regime shifted from risk-off (6/8–6/11) to tech-led strength (6/17–6/21). Small-cap regional banks like TCBX have no AI upside narrative and underperformed during a mega-cap/growth rotation. Company layer: No material catalysts during the window. Q1 earnings were reported 4/23 (outside window). The only 6/18 event was a preferred dividend declaration—mechanical, not price-moving. Keystone integration proceeds on plan (customer conversion deferred to summer 2026); no credit stress, no guidance miss. Our call: We published a WATCH verdict at $39.21, saying the stock was fairly valued in the high-$30s/low-$40s range, with no edge—entry price, not quality, was the play. We flagged structural 19% CAGR dilution as a per-share compounder cap. Our thesis required a dip to entry; we got oscillation in the $38.99–$40.09 band instead. The stock *behaved exactly as we predicted*, but the call had zero catalyst in the window. Grade: We were right on direction and magnitude (no surprise down, no surprise up), but the thesis was untested—the window was dominated by macro/sector forces that shifted small-caps lower regardless of TCBX's quality or value metrics. What we missed
We did not flag the regime-specific risk that a tech-led rally would underperform small-cap regional banks. Bottom-up Q/V was sound, but a forward-looking macro score would have warned that the call was vulnerable to sector/size rotation during the window.
System signal — what we should change
macro blindspot
Add a forward-looking **macro/sentiment pressure** score as a third lens; right now (June 2026) the macro coefficient is extreme. TCBX is exposed to sector rotation (tech rally → small-cap underperformance). Our Q/V is bottom-up and cannot see this; a narrative flag would help.
Opportunity to improve +65/100
High-value insight: implement a third macro/sentiment lens (direction, strength, narrative) to contextualize when a bottom-up call is untested or vulnerable to regime shifts. Would avoid false positives (we were right, but the call didn't move because the regime was against us).
|
|||||||||
| CART Selection Maplebear Inc. |
Jun 7, 2026
Jun 23, 2026 · 5:38am
|
Watch Q +70 · V -15 Quality — wait for a dip | — |
$41.26
$44.55
+8.0%
|
Partial +15 | +45 | Called fair value correctly & wait-for-dip proved accurate, but underestimated upside re-rating once management reaffirmed strong ads guidance—our crux concern. | — | |
|
Our crux at the time
Whether the ad take-rate keeps expanding fast enough to outrun decelerating grocery GTV growth — that single variable decides if $41 is the floor or the ceiling. Post-mortem
Thesis accuracy: We pegged fair value at $40–42; stock hit $41.21 intra-window then recovered to $44.55 (+7.97%). Our 'wait for dip' call was sound—the dip occurred on June 10. Our Quality 70 was validated by strong earnings (net income +36%, Adj. EBITDA +23%). Value score −15 (fairly valued) proved accurate as a price anchor. The miss: We named the crux correctly—ad take-rate expansion vs. slowing GTV—but we did not adequately weight management's May 6 earnings guidance: Q2 ads growth 11–14% and confidence in 4–5% LT take-rate. This directly addressed the crux and signaled the ad acceleration story was alive. Our playbook said 'fair value, not a buyer,' but failed to flag that a sentiment re-rating from "cash flow concern" (May 6) to "profitable growth at scale + buyback" (June) was plausible and likely. Market vs. stock: S&P gained 1.28%; CART gained 7.97%. ~1.3% from market, ~0.5% from sector, ~6.2% from CART-specific sentiment recovery (post-earnings re-read, management guidance reset, new product announcements, capital allocation shift). The Strait of Hormuz geopolitical pressure was macro noise; retail/logistics was sector-neutral. What went under-weighted: (1) Forward guidance resets more powerful than we priced; (2) Insider selling read as red flag when it was liquidity diversification; (3) Cash flow decline re-framed as buyback choice, not weakness. By June 14, the narrative had fully inverted from May 6 panic. What we missed
Under-weighted management's May 6 forward guidance reset (Q2 ads growth 11–14%, 4–5% LT take-rate target), which directly addressed our crux concern and signaled ad acceleration was accelerating—not decelerating. Also misread insider selling as stronger negative signal vs. ordinary liquidity diversification. Missed the rapid sentiment re-rating from 'cash flow concern' (May 6) to 'capital allocation choice + strong growth' (June 14–21).
System signal — what we should change
sentiment blindspot
System scores Quality & Value well but is blind to forward management guidance shifts on the crux variable. Should integrate forward guidance commentary (ads take-rate trajectory) into thesis, not just historical data. Would have flagged +5–10% upside re-rating path for CART once management reaffirmed 4–5% LT ads target.
Opportunity to improve +45/100
Medium-value fix: Add a 'crux forward guidance check' pre-analysis and post-earnings, scoring confidence in crux thesis pre/post management commentary. Would have caught CART's upside rerating risk. Medium fruit: 15–20% of theses have an earnings/guidance reset within 2 weeks of analysis; flagging this would improve sentiment positioning for ~10–15% of calls.
|
|||||||||
| SIRI Selection Sirius XM Holdings Inc. |
Jun 7, 2026
Jun 23, 2026 · 5:37am
|
Watch Q +17 · V -17 Quality-lite — wait for a dip sub-$22 | — |
$27.01
$28.03
+3.8%
|
Missed -35 | +65 | Index inclusion + narrative re-rating pushed SIRI up 3.78% while we said wait for a $22 dip; underestimated structural catalyst and sentiment shift away from core decay thesis. | — | |
|
Our crux at the time
Whether FCF holds flat long enough for buybacks to compound per-share value faster than revenue and margin erode — and that bet only pays at a lower entry price. Post-mortem
Market vs. Stock Context: - S&P 500 +1.28%, SIRI +3.78%; roughly 2.5× market move, so idiosyncratic strength. - Attribution: ~15% market, ~10% sector, ~75% idiosyncratic (index inclusion + Google partnership + narrative reframe). What We Got Wrong: 1. Our Quality/Value model flagged SIRI as Fairly Valued at $27 and told us to wait for sub-$22. We underestimated the tailwind from mechanical index flows and narrative momentum. The stock's 5% after-hours pop on the June 8 announcement (index inclusion news) was forecastable but outside our scope. 2. We correctly noted podcast upside (+50% YoY growth) but modeled it as a *future* offset to satellite decay. The market immediately repriced it as a current growth driver, moving fair value to ~$28 consensus target. 3. Q1 2026 delivered 1% revenue growth (vs. 4 years of decline) + improved churn signal, but we didn't flag this as a *crux reversal*. A stabilizing subscriber base materially changes the FCF compounding math. 4. Google YouTube audio partnership (announced June 8) validated a new ad-tech moat. Combined with index inclusion, this created a re-rating that closed our entry point in one window. Why We Missed the Macro Pressure: Our system doesn't scan for structural/mechanical catalysts (index inclusion, rebalance dates) or sentiment rotation speed. In late 2024–2026, both operate at elevated velocity. SIRI was a legitimate pass at $27 on fundamentals—but a 'wait for dip' call loses in a 2-week window where passive flows + positive narrative alignment override bottom-up valuation. Timing vs. Direction: Our direction call (avoid / wait for dip) was structurally sound—the company IS a declining subscriber base with stable FCF and buybacks. But our *timing* was wrong by ~2 weeks because we didn't account for the index inclusion announcement and its mechanical flow impact. This is a timing miss, not a fundamental miss. What we missed
Underestimated the magnitude and speed of sentiment re-rating (podcast upside priced in as immediate growth driver, not future offset) and did not flag mechanical index inclusion as a near-term catalyst. Q1 2026 churn stabilization signal was noted but not escalated as a crux reversal. Analyst consensus drift toward $28 target was not tracked in real-time.
System signal — what we should change
macro blindspot
Add a pre-announcement scan for known structural catalysts (index inclusion dates, fund rebalances, partnership announcements) that could contradict or amplify Q/V signal within 30 days. Capture mechanical flows and narrative timing, not just bottom-up valuation.
Opportunity to improve +65/100
High-value fix: A simple calendar/alert system for known structural events (index rebalances, ETF flows, announced catalysts) would catch timing misses like this without overfitting. Current 2-week windows show rising sensitivity to mechanical vs. fundamental drivers.
|
|||||||||
| ESI Selection Element Solutions Inc |
Jun 7, 2026
Jun 23, 2026 · 5:36am
|
Watch Q +20 · V -91 Pass at spot — revisit in mid-$20s | — |
$39.84
$45.97
+15.4%
|
Missed -55 | +75 | Missed structural AI/datacenter demand inflection driving ESI re-rating from mature cyclical to AI infrastructure play; Quality/Value framework blind to macro narrative regime shift. | — | |
|
Our crux at the time
Whether you're willing to pay peak-cycle compounder multiples for a flat-revenue, cyclical specialty chemical operator with $1B net debt — and the math says no. Post-mortem
Market vs. Sector vs. Idiosyncratic Attribution: - Market-wide (S&P +1.28%, VIX compression): ~5–7 pts; broad risk-on mood lifted materials. - Sector (specialty chemicals, materials re-rating into risk-on, but selective on narrative quality): ~3–4 pts. - Company-specific (Q1 beat, raised full-year EBITDA guidance, CEO commentary on AI/datacenters, analyst target raises from $40.40 to $47.30): ~6–8 pts. Our Thesis vs. Reality: Our call on 2026-06-07 was WATCH: Quality 20 (solid) + Value −91 (rich) = Pass at $39.84, revisit at mid-$20s. The crux was: "You can't pay elite-compounder prices for a solid-but-cyclical operator." We valued ESI at $13–15 DCF baseline and were right that it wasn't a traditional compounder. But the market was re-rating ESI as something different: a leveraged play on AI infrastructure capex, not a mature cyclical operator. What Actually Happened: - Stock: +15.39% in 14 days (+17.27% max run-up, −2.06% max drawdown). S&P 500 only +1.28%. - Q1 2026 earnings came in late April/early May (outside our window but foundational to the move): Record results, 41% sales growth YoY (10% organic), Electronics segment +15% organic on AI/datacenters/high-performance electronics demand. - Full-year EBITDA guidance raised to $665–$685M; analyst consensus price target raised from $40.40 to $47.30. - Macro backdrop: Strait of Hormuz disruption (risk-on sentiment, energy tailwind), but ESI's move was largely company and narrative-specific. The Gap: We saw "flat revenue, cyclical margins, levered balance sheet" and priced accordingly. Reality: The company was in the early innings of a structural demand acceleration in its highest-margin segment (Electronics) tied to AI infrastructure buildout. The revenue was not flat anymore; the business was inflecting into growth. And the leverage was being deployed to accelerate that growth (Micromax, EFC acquisitions), not a burden. The market re-rated the multiple from "mature cyclical" (~10–12x forward EBITDA) to "AI infrastructure play" (~18–20x forward), and we had no lens to see that re-rating happening. Our system is purely bottom-up (quality of business, price relative to DCF); it cannot price macro/narrative regime tailwinds that re-rate entire buckets of names regardless of intrinsic fundamentals. What we missed
We classified ESI as a 'flat-revenue, cyclical specialty chemical operator' based on historical profile, missing that Q1 2026 had pivoted into 10% organic growth driven by AI/datacenters. We underweighted the company's direct leverage to the AI infrastructure capex boom—Electronics segment growing 15% organic explicitly on datacenters and high-performance electronics. We also treated leverage as a persistent drag, not as a strategic M&A tool financing growth in a high-tailwind segment. Most critically: our system has no third dimension to score 'macro/narrative leverage,' so we could not price the regime re-rating from 'cyclical operator' to 'AI infrastructure play.'
System signal — what we should change
macro blindspot
Add a third scoring lens: 'Macro/Narrative Leverage (0–100).' Rate how exposed a name is to the dominant regime force(s) right now. ESI should have scored 70–80 on AI capex leverage. A WATCH + high macro leverage warrants different positioning than WATCH + zero macro leverage. This is a prototype third score that would have caught the re-rating.
Opportunity to improve +75/100
High-impact fix: Prototype a third scoring dimension ('Macro/Narrative Leverage') to capture regime tailwinds that re-rate entire cohorts independent of intrinsic Q/V. Addresses a recurring blindspot in the 2024–2026 AI era where narrative regime shifts dominate micro-cap and cyclical sector returns.
|
|||||||||
| OGE Selection OGE Energy Corp. |
Jun 7, 2026
Jun 23, 2026 · 5:36am
|
Watch Q +11 · V -23 Pass at current price — bid in the low-$40s | — |
$47.80
$47.30
-1.1%
|
Market-driven +5 | +45 | OGE drifted flat (−1.05%) as S&P rallied +1.28%; macro sentiment shift from Hormuz closure (defensive) to reopening (cyclical) rotation suppressed utility. Our thesis untested. | — | |
|
Our crux at the time
Without a quality read to justify paying up, the entire decision collapses to price — and at a 2% premium to composite FV with only 7% signal-adjusted upside, the margin of safety simply isn't there. Post-mortem
Market and Macro Attribution:
Company-Specific Drivers (or lack thereof):
Why our thesis was untested: Our call was "Pass at current price; bid in the low-$40s." We said the stock was a coin flip at $47.80 ($46.77 composite FV) and lacked margin of safety for a utility. The stock finished at $47.30, exactly where our thesis would place it — barely moved, still in the "no position" zone. The move (down 1.05%) was within noise and almost entirely driven by market-wide rotation into cyclicals away from defensives. Our bottom-up Quality×Value thesis was never tested — no earnings surprise, no regulatory shock, no capital-allocation miss, no data center contract win/loss in this window. The macro regime change is what moved the stock, not the company. What we missed
We correctly identified the valuation coin-flip and margin-of-safety issue, but we did not explicitly model the **timing sensitivity** to macro sentiment shifts. OGE's underperformance vs. S&P was driven entirely by a sector rotation (utilities vs. cyclicals) during the Hormuz reopening relief rally. Our thesis would have benefited from noting that utilities as a sector were facing macro headwinds (energy relief = cyclical outperformance) regardless of company fundamentals. We also missed that the Google data center story, announced in April and reaffirmed in June guidance, was already **fully priced in** and provided no delta in this window.
System signal — what we should change
macro blindspot
Add a **sentiment/regime overlay** to the Q×V score for rate-sensitive sectors (utilities, consumer defensives). When the macro narrative flips from risk-off to risk-on, our system should flag sector underperformance risk—even for fairly-valued names—because margin of safety erodes under negative sentiment rotation. This is distinct from company fundamentals and is a blind spot in our current bottom-up lens.
Opportunity to improve +45/100
Medium-fruit fix: Add a **macro sentiment flag** to the utility sector module that alerts when cyclical-risk sentiment is rising (Hormuz opens, oil falls, VIX compresses). Not a permanent change to Q×V, but a **timing modifier** that reduces conviction on defensive plays during risk-on rotations. Would improve entry/exit discipline on names we're already ambivalent on (like OGE, which we marked WATCH).
|
|||||||||
| BSY Selection Bentley Systems, Incorporated |
Jun 7, 2026
Jun 23, 2026 · 5:35am
|
Watch Q +99 · V -48 Quality — wait for a dip | — |
$32.93
$29.38
-10.8%
|
Partial -20 | +75 | Right direction (dip came), right reasoning (fair entry), but missed the macro headwind crushing all software and why sentiment wouldn't let stock reach our mid-$20s target zone. | — | |
|
Our crux at the time
Whether I get a chance to buy this in the mid-$20s — because the business quality is settled; only the entry price is in question. Post-mortem
Market Context: S&P +1.28% over window; BSY −10.78%. Stock underperformed by ~12%, driven by sector rotation out of SaaS amid AI-agent fears, not by Bentley-specific deterioration. What We Got Right: Our verdict "wait for a dip, entry is the only lever" was directionally sound. The stock did dip from $32.93 to $30.57 (6.4% down), and recovered toward $29.38 end. We correctly scored Bentley as high-Quality (99), fairly valued (−48 Value), and not a buy at FV $31.48 vs $32.93 price. What We Missed: (1) We couldn't see the macro narrative—enterprise software sentiment collapse due to fears that AI agents would compress seat-based licensing. (2) Analyst downgrades (Mizuho: Outperform → Neutral on valuation; targets cut $60→$50) happened near our analysis date and created momentum selling independent of company news. (3) We said "dip to mid-$20s" but didn't explain why the market might not *allow* a full dip in a sector-wide panic; sentiment overshoot can prevent fair value realization. The Attribution: Market/sector accounted for ~80% of the move (broad risk-off early, then software sector contagion from AI fears). Company-specific (analyst moves, modest ARR growth reset) accounts for ~20%. Bentley's fundamentals held; the stock fell on *re-rating of software multiples and narrative risk*, not on deteriorating business. What we missed
We underestimated the strength and persistence of the AI-driven software sector narrative during this window. Our thesis was sound (high quality, fairly valued, wait for dip), but we had no way to see that sector sentiment would be so negative that even a dip wouldn't trigger our target entry zone (mid-$20s). The macro/narrative re-rating of software multiples—not Bentley fundamentals—was the dominant driver. We also missed that analyst momentum (Mizuho downgrade) would cascade into further selling in a weak sector.
System signal — what we should change
macro blindspot
Add a forward-facing third score for macro/narrative/sentiment pressure on the name/sector (direction: negative/neutral/positive; strength: 0-100). This would have flagged that software faces a 30-year-extreme sentiment headwind in Jun 2026, allowing us to contextualize our fair-value call and adjust timing/sizing accordingly. High Q+V can still fall hard in a strong macro-down regime.
Opportunity to improve +75/100
High-value fix: Build a macro/sentiment pressure module (3 inputs: direction, strength, narrative) that scores independent of Q/V. Plausible to prevent future false confidence when system says 'fair entry' but sentiment is structurally negative. Solves recurring blindness to re-rating forces.
|
|||||||||
| WMS Selection Advanced Drainage Systems, Inc. |
Jun 7, 2026
Jun 23, 2026 · 5:34am
|
Watch Q +58 · V -79 Quality — wait for a dip | — |
$130.15
$147.12
+13.0%
|
Missed -35 | +75 | We called WATCH/"wait for dip" but stock rallied 13% on Investor Day catalyst + analyst repricing; missed narrative revaluation on infrastructure/water secular story. | — | |
|
Our crux at the time
Whether you anchor on FY24 peak earnings (justifies $130+) or on the rolled-over FY26 print plus $1.4B net debt (says $90-100) — and the rollover is already happening. Post-mortem
Market Context: S&P 500 +1.28%, VIX down 11% (risk-on pivot). Early window (Jun 8-12) was risk-off, but Jun 16-19 was strong up/tech rally/complacency. Macro backdrop shifted favorably. Company Catalyst: On June 18, WMS hosted Investor Day unveiling FY30 targets (>$4B revenue, >8% organic growth, >30% EBITDA margins) and showcasing pure-play water/infrastructure narrative. Analyst consensus price targets raised from ~$139 to $155 post-event. Stock closed at $147.12 by Jun 18 close, a +13% move from $130.15. Our Error: We scored Quality=58 (strong, correct) and Value=-79 (rich, correct on absolute math). Our thesis was "wait for a dip" anchored on: (a) FY24 peak earnings vs. FY26 rollover, and (b) $1.4B net debt. But we failed to account for: (1) Investor Day as a near-term catalyst that would reframe the narrative, (2) the shift in analyst positioning from "earnings compression" to "long-term secular growth in water/infrastructure," and (3) the macro sentiment toward infrastructure/resilience names during a risk-on environment. Attribution Breakdown: (1) Market/broad risk-on: ~15%; (2) Sector (water/infrastructure/construction materials beneficiary of IIJA + climate narrative): ~35%; (3) Idiosyncratic (WMS-specific Investor Day, analyst repricing, 2030 vision reframe): ~50%. What We Missed: Our Quality/Value lenses capture *current* business health and *current* price-to-cash-flow. They do NOT capture (a) narrative inflection points, (b) catalyst timing, or (c) sentiment-driven re-rating events. The stock was rich on FY26 earnings, but investors repriced it upward on the promise of a secular story (pure-play water, infrastructure, climate resilience) backed by near-term IIJA spending and management's explicit 2030 roadmap. That inflection happened in this window and overwhelmed the valuation warning. What we missed
Investor Day catalyst timing and narrative revaluation. We correctly identified the stock as rich on current earnings and cyclical softening, but failed to anticipate (1) the power of a 2030 secular-growth story to reset the valuation anchor upward, (2) the analyst repricing that follows a compelling capital-markets event, and (3) the momentum of infrastructure-exposed names in a risk-on environment with IIJA funding still flowing. The "wait for a dip" call was reasonable on Quality/Value alone, but blind to the inflection catalyst.
System signal — what we should change
macro blindspot
Add a simple forward-looking catalyst calendar (earnings, investor day, conferences, analyst initiations in next 30 days) + a mild sentiment/narrative adjustment flag for high-conviction secular stories being presented. Current system cannot detect when a company will unveil a powerful narrative (e.g., 'pure-play water infrastructure') to investors, causing sudden re-rating that overwhelms valuation-based warnings. This is a cheap, high-impact fix: flag catalyst dates + allow narrative override of "wait for dip" in small % of cases.
Opportunity to improve +75/100
High-value fix: Integrate 30-day forward catalyst calendar (earnings, investor day dates, analyst coverage initiation) into the pre-buy/hold/watch decision tree. When a high-conviction narrative is about to be showcased, apply a small positive adjustment to the stance. Solves a recurring blind spot (narrative inflection points) cheaply and would have flagged WMS's Jun 18 event before Jun 7 analysis.
|
|||||||||
| ENSG Selection The Ensign Group, Inc. |
Jun 7, 2026
Jun 23, 2026 · 5:32am
|
Watch Q +73 · V -52 Quality — wait for a dip | — |
$170.30
$153.65
-9.8%
|
Partial -25 | +65 | Called the dip correctly, but for the wrong catalyst; major company-specific risk (fraud allegations) wasn't in our thesis, yet short reports validated our valuation range. | — | |
|
Our crux at the time
Whether you get a pullback into the $140s; the quality is settled, the entry isn't. Post-mortem
Market vs. Company Attribution: The 14-day move splits cleanly: ~-11% was market headwind (S&P +1.28 vs. ENSG -9.78), leaving ~-10.8% as idiosyncratic. Of that idiosyncratic loss, ~-8.2% came from Hunterbrook's June 8 short report, another ~-3% from Muddy Waters on June 11, and then a recovery of ~+3% mid-window (June 16-19) as sentiment recovered and the buyback announcement on June 15 provided some support. Net: the two short reports account for >85% of the move. Our Call vs. Reality: 1. Direction & Entry: We said "wait for a dip" and pegged fair value at $147–153 (vs. $170.30 at analysis). ENSG hit $147.13 on June 11—exactly our target. *This is a tactical win.* But the dip was triggered by a company-specific fraud allegation, not the valuation-driven pullback we implied. 2. The Crux Problem: Our crux was "Whether you get a pullback into the $140s; the quality is settled, the entry isn't." We treated pullback as a macro/vol event, not a company-specific risk event. The Hunterbrook report alleged that ENSG inflated its CMS star ratings—a metric CEO Barry Port cited on the Q1 2026 earnings call stating "85% of all of our operations are at 4- or 5-star quality measures"—and that staffing levels and care quality at ENSG facilities were materially worse than publicly represented. This directly contradicts the Quality = 73 (Strong) score we gave, which rested on clean cash conversion, strong operations, and acquisition integration. If the allegations are true, our Quality score was built on fraudulent metrics. 3. Fair Value Vindication & Danger: The fact that ENSG fell *exactly* to our fair-value band is NOT a win—it's a red flag. The market didn't reprrice the stock based on our DCF math; it repriced it because two credible short-sellers made allegations that, if substantiated, would *crater* the DCF (worse quality, worse margins, regulatory risk, litigation). Why We Missed the Risk: Our thesis was pure bottom-up: "Is Ensign a good business (Quality) at a good price (Value)?" We scored Quality at +73 based on revenue growth (18.4% YoY in Q1), EPS beats (+21.7%), occupancy records, acquisition discipline, and strong OCF conversion. *None of our metrics flagged that the quality metrics themselves might be gamed.* This is a data/assumption gap: we used management's reported CMS star ratings and occupancy figures as truth, when the entire short case hinges on those being fabricated or misleading. Market Context (Macro/Sentiment Pressure): The broader market (S&P +1.28%, VIX 18.92 → 16.78) was in a strong up / complacency regime for most of the window (especially June 16-19 tech rally). The Strait of Hormuz closure was a minor geopolitical overhang early in the window, but healthcare was not a sector under systematic pressure. Medical Care Facilities as a sub-industry showed -0.59% performance within the broader healthcare sector, suggesting the sector itself was flat. ENSG's underperformance is idiosyncratic, not macro-driven. Analyst & Buyback Context: According to 5 analysts, the average rating for ENSG stock is "Buy," with a 12-month stock price target of $220.4, representing a 42.41% increase from the latest price. Wall Street remained constructive despite the short reports, and the June 15 $100M buyback expansion signaled management confidence. The stock partially recovered (from -16.86% low to -9.78% at window close), suggesting some conviction that the allegations are contestable or overblown. Missed Opportunity & System Gap: We had a clean entry thesis (buy on dip to $140s) but no scandal/litigation/fraud monitoring. We did not screen for: (i) existing short-seller scrutiny, (ii) regulatory compliance flags, (iii) prior allegations of quality gaming in the SNF sector. This is a data gap—our system scores business quality without interrogating the *verifiability* of that quality. What we missed
We scored Quality at +73 based on management-reported metrics (CMS star ratings, occupancy, EPS beats) without interrogating whether those metrics were reliable or susceptible to gaming. The entire short case hinges on quality metrics being fabricated or manipulated. We also had no visibility into litigation/scandal risk or prior regulatory scrutiny of SNF operators. Our thesis was right on *valuation* (the stock did dip to our fair-value band) but failed to flag the *quality of the quality score itself*—a critical gap.
System signal — what we should change
data gap
Add SNF-sector fraud/gaming risk flag: before scoring Quality on reported metrics (star ratings, occupancy, staffing ratios), check SEC filings, CMS enforcement actions, and short-seller reports for prior allegations. Ensign was already a known target; we should have flagged this as a reputational/litigation risk upside to our valuation range.
Opportunity to improve +65/100
Moderate-to-high-value fix: Add a sub-module to Quality scoring that flags sector-specific fraud risks (SNF/dialysis gaming, billing schemes, quality metric fabrication) and cross-checks management claims against regulatory/enforcement databases. Would have caught this and similar cases; low implementation cost relative to risk reduction.
|
|||||||||
| FCFS Selection FirstCash Holdings, Inc |
Jun 7, 2026
Jun 23, 2026 · 5:31am
|
Watch Q +25 · V -26 Quality — wait for a dip | — |
$225.44
$227.05
+0.7%
|
Market-driven +5 | +60 | Stock was flat (0.71%) in rising market; no company-specific catalysts during window; Ramsdens deal announced after window closed. | — | |
|
Our crux at the time
Whether I get a market wobble that takes FCFS into the $180s; without that, leverage and 2% annual dilution quietly eat the return. Post-mortem
Market context: S&P 500 +1.28%, VIX down 18.92→16.78; risk sentiment recovered strongly from June 12 onward, favoring small-caps. FCFS underperformed broad market by ~57 bps despite favorable macro. Stock-specific events in window: (1) Q1 earnings beat + raised FY26 guidance announced April 23, pre-window, but may have created lingering positive momentum. (2) Annual meeting on June 9 approved Delaware→Texas reincorporation; finalized June 18. This was a governance event, not a fundamental catalyst. Critical fact: The Ramsdens acquisition (174 UK pawn stores, £206M / $273M deal) was announced June 23, 2026—two trading days *after* the June 21 window close. It did not drive the observed price action. Price path: $225.44 (June 7) → max drawdown -8.29% (June 10, during Strait of Hormuz risk-off) → recovered and ended $227.05 (June 21, +0.71%). The stock traded noise within a range and slightly underperformed a rising market. Attribution: Market sentiment recovery (65%), sector tailwind (20%), idiosyncratic events (15% from reincorporation, minimal impact). Our company thesis was untested and remains valid: FCFS is high Quality, fairly valued, levered; entry requires either a dip or a major capital event. That event occurred June 23, outside the window. What we missed
We correctly diagnosed FCFS as a 'wait for dip' candidate, but we under-weighted the **narrative that management had just raised $750M in senior notes (late April) and was telegraphing accretive M&A.** A higher macro/sentiment score reflecting 'capital deployment mode' might have shifted our call to 'modest buy on M&A-within-30-days thesis' rather than pure 'wait for dip.' That deal landed on June 23 and appears accretive, validating the capital-deployment narrative.
System signal — what we should change
sentiment blindspot
For names that have recently raised large debt or signaled aggressive M&A, add a sub-metric for 'M&A timing probability (next 30–60 days)' and weight into macro_pressure strength. Fixes false-negatives on 'capital-in-motion' compounder names.
Opportunity to improve +60/100
Moderate-high fruit: Add a forward M&A/capital-deployment signal (tied to recent debt raises or mgmt commentary) to catch 'good business + fairly valued + imminent accretive deal' scenarios. Would upgrade 30% of 'wait for dip' calls to 'modest buy pending deal terms.'
|
|||||||||
| RRC Selection Range Resources Corporation |
Jun 7, 2026
Jun 23, 2026 · 5:30am
|
Watch Q +22 · V -11 Quality — wait for a dip | — |
$39.10
$36.39
-6.9%
|
Partial -5 | +65 | Right direction (dipped as we expected) and magnitude align, but catalyst was macro/commodity-driven (Strait hopium) not company reassessment; thesis untested by fundamentals, just sector drag. | — | |
|
Our crux at the time
Gas-price beta against $1.27B net debt means the entry price does all the work — and $39 isn't that price. Post-mortem
Market Attribution: S&P 500 +1.28% over the window; RRC -6.93% = -8.21% relative. Energy sector underperformed due to Hormuz reopening narrative pushing oil/gas lower. Our thesis was long-dated and company-specific (Quality vs Value), not commodity-price-sensitive. Sector Context: Natural gas remained flat/weak despite EIA forecasts for $3.34/MMBtu in 2H26 (not bullish). Oil fell on peace deal hopes—the window coincided with a whipsaw: Pakistan announced MoU on June 18 (Strait reopening), Iran re-closed on June 20, then markets priced a reopening narrative anyway. This collapsed energy sentiment across E&P. Company Specifics: Q1 2026 results (published before window) showed strong revenue (+20.6% YoY), record NGL/gas premiums, and best-in-company balance sheet. RRC had a dividend ex-date on June 12 ($0.10), mechanically neutral. No earnings surprise, no guidance cut, no company news. The 6.93% decline was pure sector beta, not a revaluation of RRC's fundamentals. Our Thesis Assessment: We said 'wait for a dip'—it dipped. Our Quality (+22) and Value (-11) lenses both held; we were right that $39.10 lacked margin of safety. BUT we got the timing and catalyst wrong. We expected a patient, fundamental reassessment (earnings miss, commodity cycle shift). Instead, a 14-day macro panic sold the entire sector on Strait-reopening hope. The dip is real but not because of company-specific bad news—RRC's business quality is unchanged. Follow-Through Risk: If oil prices stabilize and Hormuz uncertainty ebbs, the sector could rebound. Our thesis is untested by actual company deterioration. What we missed
We did not anticipate the Strait-reopening narrative would be a near-term headwind in early-to-mid June, even though it was signaled in our macro context briefing. We focused on bottom-up (Quality/Value) and missed the top-down commodity-price repricing driven by geopolitical relief. For a pure commodity play, we should have weighted macro sentiment more heavily. Also, 14 days is too early to call the dip 'the dip'—we may have just caught the opening of a larger sector rotation away from energy.
System signal — what we should change
macro blindspot
Our Q/V system is blind to commodity-price regime shifts. When geopolitical narratives flip (Strait opening/closing), energy stocks get repriced on forward commodity assumptions, not on company quality. Add a 'commodity price momentum/sentiment' overlay to catch these macro shifts before they crush the sector.
Opportunity to improve +65/100
Medium-high value: A simple commodity-price sentiment indicator (oil/gas momentum, market expectations for Brent/HH, geopolitical risk-off flags) would have flagged the June Hormuz whipsaw. This is a recurring blind spot when macro regimes shift fast.
|
|||||||||
| MKC Selection McCormick & Company, Incorporated |
Jun 7, 2026
Jun 22, 2026 · 5:34am
|
Watch Q +21 · V -13 Quality — wait for a dip | — |
$47.24
$46.64
-1.3%
|
Partial -8 | +72 | Tiny move (−1.27%) amid no company catalysts; early risk-off bought MKC, mid-window reversal to tech rally sold it; thesis untested. | — | |
|
Our crux at the time
Whether I can get MKC into the low $40s, where the quality franchise meets a real margin of safety against the leveraged balance sheet. Post-mortem
Market-wide: S&P gained 1.28%; VIX fell from 18.92 to 16.78. Early window (6/8–6/12) was risk-off/geopolitical shock (Strait of Hormuz); MKC rallied 5.9% as defensive hedge despite broad weakness. Mid-window (6/15+) reversed to tech-led complacency; MKC sold off as flows rotated out of staples into growth. Sector: Consumer Staples is structurally challenged—weak revenue growth (2% CAGR), margin-constrained, and ignored in favor of AI. MKC is a poster child: 2% organic growth, flat NI, but high leverage ($3.9B net debt). The geopolitical bid for defensives was temporary; the regime reasserts staples as a lagging, crowded-out sector. Company: No catalysts during the window. Q2 earnings scheduled for 6/25 (after window). Analyst revisions trivial: JPM −$1 (still Overweight), UBS −$2 (Neutral). EPS consensus down 0.4% over 30 days—immaterial. Unilever deal and Mexico acquisition are ongoing narratives, not window-specific. Activist Toms Capital stake was known news; no new activism. Our thesis: We said WATCH, wait for a dip to $40s. Stock rallied to $49.69, then drifted to $46.64 (−1.27% net). We wanted the dip but got noise. Direction was correct (down), magnitude tiny and unconvincing. No dip to $40s materialized, and the move was as much macro rotation (risk-off → risk-on) as company-specific. Verdict: We were not *wrong*, but not *right* either. The thesis stood untested because MKC had no company catalyst to validate or invalidate the Quality/Value scores. The move was driven entirely by macro/sector flows, which our system doesn't price. What we missed
We correctly identified Quality and Value, but our system has zero visibility into macro regime pressure on low-growth, dividend-paying staples in a growth-dominated market. The Unilever deal + $2B new debt actually *worsens* the risk/reward during a period when market is de-risking toward AI/growth, not re-risking toward safer defensives. We called it early (geopolitical fear is transient; the AI deration is persistent) and didn't weight the Unilever-driven leverage increase as a macro headwind in a growth environment.
System signal — what we should change
macro blindspot
Add a **third score: Macro/Regime Pressure (−50 to +50)** that captures whether a stock's sector/profile is favored or disfavored by the prevailing market narrative (AI dominance, growth vs. value rotation, risk appetite). MKC scores high on Quality/Value but **negative on Macro Pressure** (low growth, high leverage, crowded-out sector). The system needs to weight this headwind explicitly, not leave it to chance timing of flows.
Opportunity to improve +72/100
High-value fix: Add a **Macro Pressure / Narrative Regime score (−50 … +50)** as a third lens. This single addition would have flagged MKC's vulnerability to AI-deration and made the WATCH verdict more explicit about *when* the dip becomes safe (i.e., when macro regime shifts back to value/defensives, not during the AI momentum peak). Applies to all low-growth, high-leverage plays in growth-dominated markets.
|
|||||||||
| CLX Selection The Clorox Company |
Jun 7, 2026
Jun 22, 2026 · 5:33am
|
Watch Q +39 · V -63 Quality — wait for a dip | — |
$94.14
$95.80
+1.8%
|
Partial +8 | +45 | Thesis held—no dip into high $70s materialized, stock +1.76% vs S&P +1.28%, driven by macro/sector rotation, not company fundamentals; our 'wait for dip' call was correct in principle but tested by staples tailwinds. | — | |
|
Our crux at the time
Whether you get a real drawdown into the high $70s; without that, there's no edge here because the recovery is already in the tape. Post-mortem
Market vs. Company Attribution:
The Thesis Test: Our crux was simple: "the recovery is already in the tape; no edge without a high-$70s dip." The stock never dipped below $94.97. It hit +7% intraday Jun 9, then consolidated. By Jun 21, it closed $95.80—only $1.66 above analysis price. We were anchored to waiting for drawdown into $76–$79 range (high $70s). We did not get tested on that thesis—the market didn't offer us the price we said was necessary to move the needle. This is not a miss; it's a thesis that remains unproven because market conditions never triggered our signal. Why Stock Held Mid-$90s: Staples were bid into mid-June as both a hedge against Fed rate-hike risk (Warsh signaled Q4 2026 hike possibility) and as a rotation out of crowded tech. CLX's 5.5% dividend yield and defensive profile made it sticky. However, the stock did *not* re-rate on fundamentals: CFRA kept its Hold, margin guidance stayed weak, and the CEO search is unresolved. Buyers were trading staples as a sector play, not CLX-on-its-own merits. Macro/Narrative Pressure: The Hormuz closure-to-reopening arc (Jun 15–19) reduced energy risk and shifted sentiment from "geopolitical shock, buy bonds" to "risk-on, buy value and staples as cyclical stabilizer." This benefited CLX passively, not actively. What we missed
We underweighted the structural macro rotation into defensive staples in early Jun 2026. The Fed's shift under Warsh toward potential rate hikes created a mini risk-off moment early in the window (Jun 8-11) followed by a defensive rotation. We did not model or call out that CLX, as a 5.5% yielder with defensive characteristics, would be a beneficiary of "cap-preservation" buying, even with flat sales and margin pain. This is not a stock-specific miss—it's a reminder that even a Fairly Valued stock with no edge can exhibit positive returns in a risk-off/defensive-rotation regime.
System signal — what we should change
macro blindspot
Our Quality/Value scores are bottoms-up and cannot see top-down macro/narrative re-rating. A stock can be Fairly Valued (no edge) and *still* outperform its intrinsic thesis during sector rotations or macro safe-haven flows. We should add a narrative-pressure layer to the Fairly Valued tier: if a name is cheap *because* the market is risk-on (growth, AI, cyclicals), a Fairly Valued defensive stock may outperform the market on a risk-off rotation, even if fundamentals haven't improved. This would help us flag 'likely outperformers in a de-risk scenario' as a separate signal from 'good value.'
Opportunity to improve +45/100
Medium-fruit: Add a 'macro rotation candidate' flag to Fairly Valued defensive plays when market regime is extended risk-on; plausible early-warning system for tactical outperformance, though not actionable for pure buy/hold thesis-driven sizing.
|
|||||||||
| PAYC Selection Paycom Software, Inc. v1 · 2 total |
Jun 5, 2026
Jun 20, 2026 · 9:26pm
|
Watch Q +28 · V -2 Quality — starter here, back up the truck under $120 | — |
$137.62
$124.85
-9.3%
|
Market-driven -45 | +65 | PAYC down 9.3% driven by Fed rate hike signal and software sector re-rating; Q1 beat and reaffirmed guidance ignored; company-specific thesis intact but macro regime shift invisible to our model. | — | |
|
Our crux at the time
Whether the gross-margin slide and 2025 net income reversal are a Beti-transition trough that reverses, or the new structural reality — that single question decides whether deserved value is $170 or closer to the $90 EPV floor. Post-mortem
Macro context: The window spanned two major shocks: (1) early-June Strait of Hormuz geopolitical risk (broad risk-off June 5–11), and (2) June 17 FOMC meeting where new Chair Warsh signaled potential 2026 rate hikes (dot plot moved from 3.4% to 3.8% year-end), killing the easing-cycle narrative that had powered software valuations. The 2-year Treasury yield rose 11 bps in the session. Company fundamentals held: PAYC beat Q1 earnings (EPS $3.15 vs $2.99 est., revenue $572M vs $565M), reaffirmed 2026 guidance (6–7% revenue growth, 44% EBITDA margin at midpoint), and management reported strong Beti/IWant adoption. No company-specific miss or guidance cut. The move was sector-driven: Software as a whole repriced down as higher interest rates compress long-duration DCF valuations. PAYC fell 4.1% on June 18 (FOMC day) in line with the broader HR-software cohort (Adobe also −4.1%). The headline was: "Software companies are priced on earnings 5–10 years out; every basis point rate increase cuts present value." This is not a company problem; it's a regime problem. Attribution breakdown: Market/geopolitical (~25%), Sector/software rate re-rating (~60%), Idiosyncratic/company-specific (~15%). PAYC's thesis (Quality starter, crux is margin durability vs. transition) was never tested—it was overrun by macro. What we got right: Calling it WATCH, cautious on timing, no firm buy signal. We didn't walk into a landmine. What we missed entirely: The macro regime. Our Quality and Value scores are bottom-up and blind to Fed dots, sector re-ratings, and narrative shifts. A stock can be high Quality, modestly cheap, and still fall 9% in two weeks if the discount rate applied to its 5–10-year cash flows jumps 30+ bps due to Fed action. We had zero signal for that. What we missed
The macro regime entirely. Our Quality/Value lenses are immune to 30+ bp rate shocks and sector narrative shifts. PAYC is a durable, high-quality business (Q1 beat, guidance held, Beti/IWant adoption), but the stock fell anyway because software valuations compressed across the board on Fed uncertainty. We were right to be cautious (WATCH tier, starter position), but we had zero visibility into the regime force that would dominate the move.
System signal — what we should change
macro blindspot
Add a third Macro/Sentiment Regime score (0–100 directional, daily or rolling-window) to flag when Fed, sector re-ratings, or narrative pivots are extreme and likely to override company fundamentals. Flag when discount-rate risk or sector momentum shifts are in the top decile of historical volatility. This would have labeled PAYC as 'macro-at-risk' on June 17.
Opportunity to improve +65/100
High-value improvement: add daily macro regime tracking (Fed expectations, Treasury moves, sector momentum, VIX regime) to detect when fundamental thesis is at risk of macro override. Plausible to reduce false-negatives on quality/value stocks caught in broad re-ratings. Requires real-time data but immediately actionable.
Version history — 1 earlier assessment of this run
Showing the current read above; these are superseded but kept for the learning history. |
|||||||||
| OMDA Selection Omada Health v1 · 2 total |
Jun 5, 2026
Jun 20, 2026 · 9:25pm
|
Watch Q +66 · V -17 Quality — starter position, scale on proof or pullback | — |
$17.93
$17.64
-1.6%
|
Partial -15 | +70 | Business thesis intact, but IPO repricing and analyst downgrade (Evercore $20→$15) caused 7% post-IPO decline despite market tailwind; we missed timing and valuation repricing risk. | — | |
|
Our crux at the time
Whether the -4.6% op margin keeps compressing toward positive in 2026 without revenue growth decelerating below ~25% — that's the single variable that turns a 'Strong' quality score into a buy or a fade. Post-mortem
Market vs. Company: S&P 500 up 1.58% and VIX down 31% (risk-on), yet OMDA down 7% from $19 IPO price (−3 ppts idiosyncratic underperformance). This is entirely company/sentiment-driven, not macro. Digital health sector was favorable (Hinge held its pop); OMDA lost the peer battle. Our Call vs. Reality: We issued a WATCH verdict on June 5 at $17.93 (pre-IPO). Stock IPO'd June 6 at $19 (+5.9%), then declined to $17.64 by June 19 (−7% from IPO, −1.6% from our stated price). The pullback matches our "scale on pullback" language, but the driver was not business news—it was analyst repricing. Key Catalyst in Window: Evercore ISI cut OMDA price target from $20 to $15 (25% cut) on valuation and scale concerns. This repricing occurred post-IPO and anchored the stock down. We did not anticipate this level of analyst skepticism on an IPO that had strong initial demand. Operational Thesis: Still intact. Op margin remains −4.6%, gross margin 65.7%, membership growth 51% YoY. No deterioration; the inflection story has not been tested yet (too early in 2026). Revenue growth on track for 25–30%+. Attribution: Market 10% (small tailwind offset by growth repricing), sector 20% (Hinge stronger), idiosyncratic 70% (IPO pop reversal + analyst downgrade + valuation repricing from $19 to justified $15–18 range). What we missed
IPO repricing risk. We analyzed at $17.93 pre-IPO; stock priced at $19 (+5.9%), then repriced down on post-IPO analyst skepticism (Evercore $20→$15). We did not flag that recently IPO'd names with 'Fairly Valued' setups often experience 1–3 week pops followed by repricing as the street takes a more measured view. We also did not stress-test whether the market would *believe* the op margin inflection thesis at a 3.8x P/S valuation in a competitive market.
System signal — what we should change
timing
Post-IPO repricing risk not flagged: for recently IPO'd names with tight Value scores (Fairly Valued), add a screen for analyst target downgrades in the first 2–4 weeks post-IPO. High-quality names can still be repriced downward if the IPO opens at a consensus price target that gets cut post-pop. This is a low-hanging fruit: a simple rule ('flag if analyst targets cut >15% in first 30 days post-IPO') would catch this recurring pattern.
Opportunity to improve +70/100
Low-hanging fruit: add post-IPO repricing filter — track analyst target cuts in first 30 days post-IPO; for tight-Value-score names, adjust expectations for 1–3 week pullback. Fixes false-optimism on IPO timing and improves setup/exit planning.
Version history — 1 earlier assessment of this run
Showing the current read above; these are superseded but kept for the learning history. |
|||||||||
| DELL Selection Dell Technologies Inc. v1 · 2 total |
Jun 5, 2026
Jun 20, 2026 · 9:24pm
|
Watch Q +30 · V -100 Quality name, pass at this price — wait for sub-$230 | — |
$394.35
$409.50
+3.8%
|
Partial -8 | +45 | Right to flag overvaluation and suggest a dip, but missed post-earnings momentum confidence boost and macro narrative re-rate on Hormuz peace; tactical dip worked, but missed the bigger upside. | — | |
|
Our crux at the time
Whether AI server economics (ISG margins and growth) persist for many years or revert like every prior hardware cycle — that single assumption is what's holding the stock 2x above DCF. Post-mortem
## Layers Market (June 5–10): Broad risk-off pressure (VIX 21.5, S&P weak) drove DELL down ~6.5% on June 5–9. This was market-wide, not company-specific, and validated our "dip" thesis. No error here. Macro shift (June 11–19): On June 17, Trump and Iran signed a peace memorandum; June 18 saw Iran pledge to reopen Strait of Hormuz. This triggered a risk-on reversal, a tech/cyclical re-rating, and capex narrative lift. DELL rallied hardest June 17–18 (+10%+ intraday). Our system has no third lens for this macro/narrative momentum; it was invisible to us. Company-specific (throughout): We analyzed DELL on June 5, seven days *after* May 28 earnings. That Q1 reported 88% YoY revenue growth, 757% YoY AI server revenue growth, 81% ASP uplift, and a $51.3B backlog. Our playbook said "I like the company more than consensus," but we under-weighted the *confirmation* that earnings provided. The blowout reduced tail risk on the reversion crux; we still treated reversion as the base case. The stock closed +3.84%; our call to "wait for sub-$230" now looks overly pessimistic given the earnings-driven confidence boost and pricing-power visibility. ## What We Got Right
## What We Missed 1. Post-earnings momentum blindness. Earnings data materially reduced reversion risk; we did not fully reprieve our base-case assumptions. A 757% YoY AI server revenue jump is a *structural signal*, not noise. 2. Macro narrative re-rate (Hormuz). The June 17 peace deal and June 18 Strait reopening pledge triggered a capex/growth re-rating that lifted cyclical/tech names. Our system cannot see this. 3. ISG margin stickiness. The 81% ASP uplift and strong gross-margin data suggested AI server margins are *not reverting* like prior hardware cycles. Our crux assumed they would. Evidence now suggests we were wrong on the crux. What we missed
We analyzed a stock that had already gapped +32% on earnings (May 28), but we did not sufficiently reprieve our reversion-risk crux or weight the earnings confirmation as a structural shift in ISG margin outlook. Our Quality score was +30 (earned), but we let the −100 valuation score override it, ignoring that earnings had reduced the tail risk we were pricing. We also had no lens for macro narrative shifts (Hormuz peace → capex re-rating → growth stock re-rating).
System signal — what we should change
macro blindspot
Add a third macro/narrative/sentiment lens that can detect and score geopolitical/regime shifts (e.g., 'peace deal → capex re-rate', 'recession fears → defensive re-rate') that overlay our Quality/Value bottom-up scores. Current system is blind to top-down narrative momentum that can override fundamentals for weeks/months.
Opportunity to improve +45/100
Medium-hanging fruit: prototype a macro/sentiment score that feeds into the overall read, capturing dominant narratives (geopolitics, recession fears, sector rotations). This window shows it would have flagged the Hormuz peace catalyst 1–2 days early and reweighted DELL's cyclical tailwind. Lower cost than full system rebuild, high signal.
Version history — 1 earlier assessment of this run
Showing the current read above; these are superseded but kept for the learning history. |
|||||||||
| BSX Selection Boston Scientific Corporation v1 · 2 total |
Jun 5, 2026
Jun 20, 2026 · 9:22pm
|
Watch Q +83 · V -15 Quality compounder — starter here, scale on weakness | — |
$48.55
$45.29
-6.7%
|
Missed -45 | +72 | Watchman and EP guidance slash in April broke the margin-inflection crux we named; June decline was company-specific competitive pressure, not macro. | — | |
|
Our crux at the time
Whether the EP/Farapulse + Watchman product cycle keeps driving the 2025 margin step-up — that's what justifies the upper-$50s deserved value and what the EPV floor of $21 says you're paying for. Post-mortem
Market vs. Stock Attribution:
The Crux Broke in April, Not During Our Window: <cite index="20-3,20-4">Q1 2026 earnings on April 22 showed solid results but included a lowered full-year guidance—organic growth cut to 6.5–8% from prior 10–11%, and adjusted EPS to $3.34–$3.41, citing unanticipated headwinds in EP, WATCHMAN, and Urology segments.</cite> This directly invalidated the thesis's central claim: that "the EP/Farapulse + Watchman product cycle keeps driving the 2025 margin step-up." <cite index="9-1,9-2">Watchman sales in Q1 totaled $506 million (+19.2% YoY), below expectations, with management guiding only mid-teens growth for 2026.</cite> <cite index="9-14,9-17">Boston Scientific lost more market share than expected in EP despite solid results overall, as competitors like Medtronic, Johnson & Johnson and Abbott expanded their presence.</cite> The June 5–19 Window: By our June 5 analysis date, the thesis had been visibly broken for 6 weeks. Our "WATCH" + "starter position" call came *after* the April guidance slash and *after* the street had begun downgrading. The June window captured continued analyst target cuts and sentiment cascade; the stock underperformed a positive-regime S&P 500, confirming that sentiment (not macro) was the pressure. What We Missed: We assessed Quality (83) and Value (-15) correctly as *business fundamentals today*, but failed to recognize that the market had already repriced the *forward earnings trajectory*. The "margin inflection" we anchored to was no longer credible to consensus after April guidance. A 6.5–8% organic growth guidance is not a margin-inflection story; it's a low-single-digit compounder story. Attribution estimate: Market 5%, Sector 15%, Idiosyncratic 80%. What we missed
We correctly identified the margin-inflection crux but failed to monitor its health post-April. Watchman growth deceleration (19% actual, mid-teens forward guidance) and EP market-share loss to Medtronic/JnJ/Abbott were public signals by June 5. We underweighted the credibility of our own thesis's linchpin.
System signal — what we should change
data gap
Add a 'crux health monitor'—a 3-month rolling check for analyst consensus estimate revisions, management commentary shifts, and competitive-displacement signals—to flag when the core thesis driver is at risk, independent of Quality/Value scores.
Opportunity to improve +72/100
High-value fix: a lightweight crux-vitals dashboard (analyst revisions, mgmt tone, competitive win/loss data) would have caught that the margin inflection was dead 6 weeks before our call. Prevents bottom-up Quality/Value scores from becoming stale when forward business trajectory shifts.
Version history — 1 earlier assessment of this run
Showing the current read above; these are superseded but kept for the learning history. |
|||||||||
| BILL Selection Bill.com Holdings, Inc. v1 · 2 total |
Jun 5, 2026
Jun 20, 2026 · 9:06pm
|
Watch Q +21 · V -31 Quality — wait for a dip | — |
$35.97
$32.47
-9.7%
|
Partial -15 | +65 | Correctly called a dip below our buy-in level, but missed the driver (growth slowdown + leadership churn + analyst PT cuts, not valuation), and failed to weight the coming downgrade. | — | |
|
Our crux at the time
Whether I get a chance to buy in the high-$20s before SBC bends lower and share count keeps shrinking — price discipline is the entire edge here. Post-mortem
The move: BILL -9.73% in 14 days vs. S&P +1.58%; stock fell from $35.97 to $32.47, hitting $32.39 on June 10 (nearly the 'high-$20s' buy level we named). The early-window price action was driven by a broad market risk-off (June 5–11) overlaid with JPMorgan's June 5 PT cut ($60→$50) and a surgical June 10 Truist downgrade (Buy→Hold, citing slowing revenue growth and rising competition). Leadership departures (Payments GM exiting June 30) and insider selling also signaled management awareness of pressure. Attribution: Roughly 65% idiosyncratic (downgrade, growth reassessment, exec departure), 25% market risk-off early-window, 10% sentiment/sector rotation lag. The broad market recovered late-window (tech_rally June 17–18), but BILL did not re-rate upward, confirming company-specific weakness. Our thesis performance: We said WATCH—not a buy at $35.97, buy only at high-$20s. The stock dipped to $32.39, so we got direction right. However, we predicted the dip would be driven by valuation compression and SBC dilution concerns. Instead, it was driven by a *fundamental growth slowdown reassessment*—a change in consensus earnings assumptions, not multiple re-rating. The Truist downgrade (mid-teens vs. prior mid-high-teens growth) was the real driver. What we missed: (1) JPMorgan's PT cut on June 5 was a leading signal of consensus drift that our Q/V scores didn't capture. (2) The May 26 leadership churn (Payments GM departure June 30) was a harbinger for take-rate/volume risk that we labeled as 'known' but didn't weight into the downgrade risk. (3) Insider selling + downgrade combo is a high-confidence negative signal we didn't monitor in the prior 4 weeks of analyst actions. Our thesis was not *wrong*—the price did dip—but we didn't predict or explain the driver. What we missed
The May 26 leadership exits (especially Payments GM exiting June 30) and June 5 JPMorgan PT cut were early signals of consensus growth assumption drift. We didn't weight the departure of the Payments executive as a red flag for take-rate or volume deceleration, nor did we scan prior-window analyst actions (PT cuts + insider sales) as a pattern indicating a downgrade was likely. Our Q/V scores are backward-looking and can't capture forward analyst consensus revision—a critical blindspot in high-growth SaaS where multiple compression on growth slowdown can be violent.
System signal — what we should change
sentiment blindspot
Add analyst PT cut + insider selling pattern detection pre-analysis: if a stock has seen PT cuts in prior 2–4 weeks + insider sales, flag it as 'growth assumption reassessment at risk.' This catches consensus drift before downgrades and would have raised red flags on BILL mid-May/early-June.
Opportunity to improve +65/100
High-value fix: scan prior 4 weeks of analyst actions (PT changes, insider trades) before analysis; add a 'consensus growth drift' sentiment flag. This is a cheap, repeatable signal that would catch pre-downgrade positioning in high-multiple, growth-sensitive SaaS cohorts—a recurring source of thesis misses in 2026.
Version history — 1 earlier assessment of this run
Showing the current read above; these are superseded but kept for the learning history. |
|||||||||
| Low 13 assessed Weaker quality and not cheap. | |||||||||
| OSCR Selection Oscar Health, Inc. |
Jun 9, 2026
Jun 25, 2026 · 5:42am
|
Low Q -4 · V -71 Pass at $27 — revisit in low $20s after MLR data | — |
$27.22
$29.93
+10.0%
|
Missed -35 | +45 | We called AVOID at the exact inflection point—MLR already improved, earnings inflecting, catalyst window opening. Wrong direction for right crux insight. | — | |
|
Our crux at the time
Whether the 2025 gross-margin collapse from 20.1% to 14.4% was a one-off MLR spike or the start of a structural underwriting problem — everything else is secondary. Post-mortem
The Crux Was Right, the Timing and Grading Were Wrong
Attribution: Primarily idiosyncratic, some sector lift
Market regime: S&P up/neutral through the window; VIX slightly declining. This was mildly favorable sentiment but *not* the reason for the move. OSCR was driven by company specifics, not market breadth. What we under-weighted 1. Timing urgency: We knew the MLR question was settled (Q1 data was public). We should have graded the *urgency* of the catalyst window, not just the direction. By June 9, the analyst consensus was shifting; we analyzed post facto. 2. Multiple expansion basis: We were fixated on valuation on 2025 trailing earnings (-$443M GAAP loss). We didn't adequately account for the *repricing from loss-making to profit* that Q1 signaled. A company inflecting from $400M loss to $250–450M operating earnings guidance is a multiple-expansion event, not a cheap stock looking for a dip. 3. Narrative momentum: Our brief mentioned "~10%/yr dilution silently raising per-share hurdle," but didn't acknowledge that if MLR and margins inflect, EPS accretion can overwhelm dilution for several years, validating a higher multiple *now*. Why we were wrong on direction: We said Avoid; it went up 10%. The crux insight was right (MLR was the key); the verdict was wrong (we should have upgraded or been neutral, not AVOID) because we didn't weight the inflection enough or act on the timing. What we missed
We diagnosed the crux (MLR) correctly but misjudged the *urgency and magnitude* of the inflection. Q1 data answered the core question favorably, and analyst upgrades were already in motion by our analysis date. We treated this as a 'wait for a dip' call when it was actually an 'inflection-driven repricing event' call. We also under-weighted the earnings momentum (from loss to profitable) as a multiple-expansion driver vs. treating the stock as a cyclical value trap.
System signal — what we should change
timing
We nailed the crux (MLR) but missed the catalyst *window*. We should have a real-time alert system for when a company reports data that directly answers our stated crux question—i.e., if we say 'MLR is the deciding factor,' and earnings come in with MLR data, we need to re-grade *before* analyst consensus shifts and momentum builds. This is a 2-week lag problem, not a fundamental analysis problem.
Opportunity to improve +45/100
Medium-value fix: Add a 'crux data release' early-warning system that flags when upcoming earnings or events directly test the crux question we identified. If the data resolves the crux, automatically escalate re-analysis before analyst consensus moves. This catches inflection-driven repricing *at entry*, not post facto.
|
|||||||||
| REXR Selection Rexford Industrial Realty, Inc. |
Jun 9, 2026
Jun 25, 2026 · 5:39am
|
Low Q -29 · V -43 Quality-lite — wait for high $20s | — |
$34.99
$33.68
-3.7%
|
Partial -8 | +40 | AVOID proved wise (stock fell 3.7%); crux validated by JPMorgan downgrade on FFO-per-share concerns; but our system was blind to analyst sentiment shift as near-term repricing catalyst. | — | |
|
Our crux at the time
Whether REXR can stop diluting at ~13.5%/yr — until cost of equity falls or issuance slows, FCF/share stays flat and the stock has no engine. Post-mortem
Market vs. Company: S&P 500 returned −0.29% over the window; REXR fell 3.74%, a 3.45% spread. Sector (industrial REITs) was mixed; the move is ~80% idiosyncratic to REXR. The Catalyst: JPMorgan downgraded REXR to Underweight (June 16) on forward-looking concern: CFO per share growth will be "muted or potentially negative" in 2027–2028. Stock crashed −5.62% on June 17 (the day after the downgrade, in a strong tech rally—so pure company pain). Scotiabank upgraded it the next day (June 18) on "valuation aligned" narrative, reversing some losses, but the mood stayed cautious.\n\nOur Verdict: Right Direction, Incomplete Diagnosis. We said AVOID; the stock fell. We named the crux (dilution hollows per-share economics) correctly—JPMorgan independently reached the same conclusion, just forward-looking. But we did not flag the risk that Q1 2026 earnings (released April 23) would confirm the per-share decline (Core FFO/sh down 1.6% YoY) and trigger analyst re-rating. Our lenses are backward-facing; analyst downgrades are forward-facing.\n\nWhat We Saw: Quality −29 (good portfolio, leaky shares), Value −43 (fairly valued at $35; no margin of safety). What We Missed: The Q1 result showing YoY decline in FFO per share, and the risk that JPMorgan's June 2026 CRE update would re-rate REXR specifically on per-share growth fears. The stock needed to fall to ~$33 before sentiment stabilized (Scotiabank's "downside reflected" call). Our "wait for high $20s" was guidance, not prediction; in 14 days, it touched $33.68, halfway there. What we missed
We identified the per-share dilution crux correctly, but we did not anticipate (1) the Q1 2026 earnings confirmation (Core FFO/sh down 1.6% YoY) would trigger analyst re-rating, or (2) that JPMorgan's June 2026 CRE update would specifically downgrade REXR on forward CFFO-per-share concerns, creating a 2-week repricing catalyst. Our system is backward-facing; analyst sentiment is forward-facing.
System signal — what we should change
sentiment blindspot
Add a 'consensus per-share earnings revision trend' or 'analyst rating momentum' module to flag downgrade/upgrade cycles. REITs are especially sensitive to per-share growth inflections; analyst re-ratings are often the primary 2–4 week price driver, independent of intrinsic case. This would not change the AVOID verdict but would flag timing/catalyst risk.
Opportunity to improve +40/100
Moderate-hanging fruit: integrate 'analyst consensus revision trend' into sentiment layer; low cost, high impact for REIT/high-yield names where per-share momentum is the repricing driver.
|
|||||||||
| CPRI Selection Capri Holdings Limited |
Jun 9, 2026
Jun 25, 2026 · 5:36am
|
Low Q -73 · V -21 Pass — revisit sub-$16.50 | -0.5% |
$19.94
$19.15
-4.0%
|
Partial -15 | +65 | Right direction (down), but we under-called the magnitude and missed Q4 operational momentum that briefly reversed the stock +10% before Versace uncertainty dragged it back. | — | |
|
Our crux at the time
Whether Michael Kors brand heat stabilizes — without that, both the quality trajectory and the deserved multiple keep grinding lower. Post-mortem
Market context: S&P 500 fell only -0.29% over the window; CPRI fell -3.96%, a 3.7pp underperformance. Not market-driven. Earnings signal: Q4 FY2026 (reported May 27, pre-window but 11 days before analysis) showed genuine operational beat: gross margin +490 bps, operating margin +170 bps, EPS $0.22 (vs. loss prior year), and FY2027 guidance of 40% EPS growth. Michael Kors stabilizing (down 5.5% vs. prior guided steeper declines), Jimmy Choo inflecting positive (+5.3% YoY). This contradicted our 'Shaky' (-73) Quality thesis. Price action: Stock rallied +10.08% early in window (week of June 10–13), then faded to -3.96% by June 23. On June 24, Versace CEO Gintzburger's exit (effective June 23) was announced—timing suggests this uncertainty bled into the stock during the window even before the public headline. Attribution: ~85% idiosyncratic (Versace leadership + brand stabilization doubts), ~10% sector, ~5% market. What we got right: Direction (down), rationale (Michael Kors stabilization questionable). What we missed: (1) The operational inflection in Q4 (margin, EPS beat), which lifted the stock mid-window; (2) The Versace distraction / leadership vacuum as a new headwind; (3) The magnitude of the move (we called -0.45%, actual -3.96%). Crux check: We said the crux was brand stabilization. Q4 data suggested it *was* stabilizing (JC +5.3%, MK selective full-price strength). But Versace leadership exit re-introduced uncertainty into the turnaround narrative, pushing stock back down below our pass threshold. What we missed
Under-weighted the operational inflection shown in Q4 FY2026: margin expansion, EPS beat, inventory discipline, and FY2027 40% EPS guidance all signal the 'reset year' is working. Our Quality score (-73) was backward-looking (revenue down 39% over 4 years) and didn't account for the Q4 positive inflection or the simplification of the business post-Versace sale. We also didn't anticipate Versace leadership volatility post-acquisition would bleed into Capri sentiment, even though Capri no longer owns the brand.
System signal — what we should change
data gap
We lack a 'micro-momentum' lens: a real-time check for whether operational trends (margin, EPS, inventory) have inflected positive *despite* a legacy 'Shaky' Quality score. Adding a flag like 'Has gross margin or operating income improved YoY in the last 2 quarters?' would catch early turnaround signals that our backward-looking Quality score misses. This feeds into a refresh of the verdict from 'Pass' to 'Watch—monitor next two quarters for sustainability of operational improvement.'
Opportunity to improve +65/100
High-value fix: Add 'recent inflection tracking' layer to Quality scoring—a check for whether the last 2–4 quarters show margin/EPS/inventory improvement vs. the historical trend. Catches false negatives on recoveries and reduces 'miss on operational momentum' errors. Low implementation cost, addresses recurring issue with mature-decline names that are actually bottoming.
|
|||||||||
| PGY Selection Pagaya Technologies Ltd. |
Jun 9, 2026
Jun 25, 2026 · 5:35am
|
Low Q -46 · V -58 Pass at $14.80 — revisit sub-$12 | — |
$14.80
$15.00
+1.4%
|
Partial +25 | +75 | Flat +1.35% move is consistent with AVOID thesis, but macro re-rating of fintech-AI masked mediocre fundamentals; we over-anchored on sub-$12 target instead of reading narrative tailwinds. | — | |
|
Our crux at the time
Whether dilution decelerates fast enough for per-share value to compound alongside the EV growth — everything else is secondary. Post-mortem
Market vs. Stock: S&P −0.29%, VIX flat. PGY's −3.92% early-week dip tracked risk-off sentiment; mid-week tech rallies (+12.7% peak) lifted it back. Idiosyncratic move was ~15%, market/sector +85%. Our Call: AVOID at $14.80; revisit sub-$12. Stock ended at $15.00 (+1.35%). Direction is correct (not a strong buy case), but magnitude was wrong—we missed that the floor near $14.50 would hold and the stock would hover around fair value (+1.35%), not crater to $12. Key Facts: - Q1 beat (May 7): $25M net income, 10% revenue growth, 5 consecutive profitable quarters - June 15 ABS close: $800M personal loan securitization, upsized, with 39 unique investors - Analyst consensus: 8 analysts, Strong Buy, median $27.50 target (83% upside from $15) - CEO insider buy (June 2): $250.5K shares, positive signal - CFO transition (June 15): Jon Dobres in; no disruption priced in Attribution: Market 60% (risk-off early, rally mid), Sector 25% (fintech-AI tailwind strong), Idiosyncratic 15% (execution signals positive but not moving needle). What We Missed: (1) Macro narrative of fintech-AI inflection (AI in fintech reaching $20.6B by 2026) was not visible in our Q/V scores; (2) Capital markets demand (4 upsized ABS deals in 2026, $5.5B+ YTD) is a proxy for durable moat we under-weighted; (3) Analyst reset post-Q1 beat (Strong Buy consensus 63%) was a contrarian signal we discounted. What we missed
Macro narrative re-rating of fintech-AI sector was not captured by our bottom-up Q/V lenses. We correctly diagnosed PGY as mediocre quality and fairly valued, but failed to weight that *the sector itself is being re-rated upward* due to AI adoption tailwinds. Sub-$12 target was too pessimistic given this backdrop. Also under-weighted capital markets demand (4 upsized ABS closes, investor diversity growing) as a proxy for competitive moat.
System signal — what we should change
macro blindspot
Add independent Macro/Narrative Pressure Score (−50 to +50) that reads sector/narrative/sentiment regime *separately* from Q/V fundamentals. PGY case shows a stock can be mediocre & fairly valued but still hold/rise if macro narrative floor is rising. This score would have flagged: fintech-AI in favor (+30), sector re-rating (+20), insider confidence signal (+15), geopolitical brief dip (−10 early), resulting net +55, which would bias 'wait for dip' vs. 'avoid entirely.' Would have improved framing from AVOID to HOLD/WAIT, not AVOID.
Opportunity to improve +75/100
High-hanging fruit: Build macro/narrative pressure module that reads sector tailwinds, valuation re-rating cycles, and insider/analyst sentiment independent of Q/V scores. Pagaya case shows this is a major recurring gap—fintech-AI narrative is one of the 3-5 biggest macro forces in 2026, and our system is blind to it. Fixes false-negatives across entire AI-beneficiary cohorts.
|
|||||||||
| FND Selection Floor & Decor Holdings, Inc. |
Jun 9, 2026
Jun 25, 2026 · 5:33am
|
Low Q -10 · V -67 Quality — wait for a dip | — |
$49.74
$51.46
+3.5%
|
Partial +8 | +75 | Right on valuation, wrong on magnitude: Q/V thesis held, but missed powerful macro rotation into cheap retailers on AI selloff fears; stock rebounded harder than thesis allowed. | — | |
|
Our crux at the time
Whether operating margins mean-revert toward prior peak before the balance sheet and FCF compression force a multiple reset — and you're being asked to pay for that recovery before any evidence of it. Post-mortem
The call: We rated FND as AVOID (Quality -10, Value -67) on June 9, noting it was a solid business priced for perfect execution—a housing turn, 400bp margin recovery, and continued unit growth. We said to wait for a dip. The thesis was bottom-up, pure Quality × Value. What happened: FND opened at $49.74 (our analysis price) and rose 3.46% to $51.46 by June 23, with a max intraday run-up of 13.47%. The S&P 500 fell 0.29% over the same window, so nearly all of FND's move was idiosyncratic. Attribution of the move: - Market (0%): S&P 500 down 0.29%; VIX stable 19.87→19.49. Not a tailwind. - Sector (45%): Home improvement / hardgoods retail rotated upward mid-window on (a) positive June retail sales print (0.9% M/M, 6.9% Y/Y on June 23), and (b) flight from expensive AI names into "large, cheap, cash-generative retailers" amid new Fed chair hawkishness. FND fits the profile: 4.3% profit margin, ~$110M quarterly FCF, manageable debt. This rotation was real and lifted the whole cohort. - Idiosyncratic (55%): (a) Post-Q1-earnings rebound: company guided FY26 comp sales (4.0)% to flat (weak, but not collapsing) and EPS $1.83–$2.08; (b) June 20 product launch (NatureMatch private label) + Schererville, IN store/design center announce; (c) momentum from prior dip (stock was in decline into June 9). Grade vs. our claim: Our thesis was correct on fundamentals—FND *is* trading at a stretched multiple (P/E ~27.9x vs. peer avg 18.6x) for a business with (i) flat comp sales, (ii) 17.8% EPS decline YoY, and (iii) FCF under pressure. We correctly said "wait for a dip." But we underestimated two things: (1) how hard the sector would rotate *up* on macro/sentiment repricing, and (2) that a new product launch + store announce + post-miss sentiment recovery could generate short-term follow-through even though the core thesis (valuation is stretched) remained sound. The stock rebounded to +3.46% from our entry, but did NOT break to new highs; it's still well below the $54.55 consensus target. What we got right: Quality score of -10 stands—accruals are clean (1.89x OCF/NI), no dilution, insider buying. Value score of -67 is also intact; the stock is still richly valued by any measure. A six-month horizon view *should* catch margin mean-reversion pressure as the lease-comp drag accelerates and the warehouse expansion faces a soft housing backdrop. What we missed: Our system has zero visibility into top-down macro/sentiment regimes. The Fed-chair transition from Powell to Kevin Warsh created a hawkish repricing; money fled expensive AI/growth and piled into "barbell" bets (Treasury yields up, AI stocks down, cheap cyclicals/retailers up). This is a regime-level shift that overrode our bottom-up value call *for this 14-day window*. We nailed the direction (avoid) but the timing was off by ~2 weeks as the macro wind provided lift. The call will likely work over 6 months, but the early-window move against us was almost entirely macro/sentiment, not company-specific. What we missed
We missed the 70-strength macro rotation into 'barbell' names: out of expensive growth (AI), into cheap cyclicals. FND fits the barbell profile perfectly (4.3% margin, ~$110M FCF/quarter, manageable debt, 27.9x P/E looks cheap vs. Magnificent 7). Our system has no macro lens; over 6 months the value call will likely work, but over 14 days a regime shift can and did override bottom-up merit.
System signal — what we should change
macro blindspot
Add a real-time macro/sentiment 'direction and strength' layer (0-100) that flags when broad regime shifts (Fed policy, rate repricing, AI-rotation fear) are creating tail-winds or headwinds on the sector/market. This call was right on fundamentals but got lifted by a 70-strength macro gale. Knowing that gale exists would let us say 'Avoid, but timing may shift on regime change.' This is the prototype of the macro_pressure field that needs to become quantized.
Opportunity to improve +75/100
High-value lesson: formalize macro/sentiment regime detection as a real scoring layer, separate from Q/V. A simple 'is the market in a 'rotate-to-value' regime?' flag would catch 50%+ of timing misses on otherwise-correct calls. This is a 6-month upgrade that could eliminate a whole class of false early 'Avoids.'
|
|||||||||
| OVV Selection Ovintiv Inc. |
Jun 9, 2026
Jun 24, 2026 · 5:37am
|
Low Q -14 · V -73 Pass — revisit on a commodity scare | -0.7% |
$56.04
$54.87
-2.1%
|
Partial -12 | +42 | Down 2.08%, beat our -0.67% model expectation; outperformed due to oil collapse (peace talks) counteracting broader market weakness; our crux thesis on commodity durability was tested and failed. | — | |
|
Our crux at the time
Whether oil/gas stays elevated long enough to let FCF and buybacks close the ~$11 gap before the commodity rolls and re-rates a no-moat, levered book lower. Post-mortem
## Layers of Attribution Market context (broad): The S&P 500 fell just -0.29% over the window, so broad market weakness was minimal. VIX was essentially flat (19.87→19.49). OVV fell -2.08% vs index −0.29%, so the stock underperformed the market on an absolute basis. Sector & commodity driver (dominant): <cite index="21-6">Oil prices collapsed 23.53% from late May through June 23</cite>, falling from ~$97 at the start of the window (June 9) to ~$73.4 by June 23—a ~25% drop in crude in just 14 days. This was THE dominant force. <cite index="17-15,17-16">Brent averaged $107/bbl in May but fell as reports surfaced that the US and Iran were nearing an agreement to extend the ceasefire and reopen the Strait of Hormuz</cite>. <cite index="20-1,20-5,20-6">On June 23, crude fell to $73.4/bbl (its lowest in nearly 3 months) as signs of initial progress in US-Iran peace talks eased supply concerns, with Washington granting Iran a 60-day license to sell oil internationally</cite>. Company-specific context: The real window for OVV was the reversal of the oil bull thesis—the exact narrative we called the crux of OVV's valuation. <cite index="1-15">Barclays raised its price target for Ovintiv from $68 to $75 on May 31, citing a tighter oil market with lower global inventories, reduced OPEC spare capacity, and muted US supply response</cite>—that was *during* the Hormuz crisis. But from June 9 onward, peace-deal optimism unwound the entire supply-scarcity premium. OVV has no moat; when the commodity floor collapses and geopolitical risk premiums evaporate, a levered, price-taker company gets punished. vs. our call: We predicted −0.67% over the window (flat to slightly down), but OVV fell −2.08%—roughly 3× worse than our model expected. However, we were *directionally correct* (down, not up) and our thesis framing was correct: we said *don't overpay for leverage-dependent, cyclical FCF*. The stock *did* sell off when the commodity bid weakened. Our magnitude was simply too optimistic on the tail of energy prices. What we missed: We underweighted the speed and magnitude of the peace-deal repricing. We acknowledged Hormuz as "the catalyst" but modeled oil staying "elevated long enough" for FCF/buybacks to work. We didn't account for how fast sentiment can flip on a 60-day Iran export license and early ceasefire signals. Our 6-month target of $51.37 (implying −8.3%) is now looking more reasonable—the 14-day window just accelerated the unwind. ## Attribution Scorecard - Market (broad S&P weakness): ~5% of the move (OVV down only 2%, market barely down) - Sector/commodity (oil collapse): ~70% (25% oil drop in levered E&P = 2%+ stock hit is plausible) - Idiosyncratic (OVV execution/news): ~25% (none reported; the stock moved with oil) ## Macro/Narrative Pressure Direction: Negative (hard reversal) Strength: 85 Note: Strait of Hormuz crisis inflection point—peace-deal optimism (Iran 60-day export license, ceasefire extension signals) collapsed the oil risk premium from $97→$73 in 2 weeks, destroying the bull case for levered E&P. What we missed
Speed and magnitude of the oil repricing on peace-deal signals. We framed the crux correctly (commodity durability), but modeled too much stickiness in elevated prices. We didn't anticipate how fast a 60-day Iran export license + ceasefire extension signals would unwind the entire Hormuz scarcity premium. A more volatile, event-driven lens on geopolitical policy shifts would have caught this.
System signal — what we should change
macro blindspot
Our Q/V lenses can't see regime shifts in commodity/geopolitical pricing fast enough. For energy cyclicals, we need an early-warning layer for policy inflection points (ceasefire talks, sanctions relief, export licenses) that can flip the macro backdrop in days, not months. A simple 'geopolitical tail-risk monitor' flag on positions with >50% upside tied to commodity scarcity would have signaled caution here.
Opportunity to improve +42/100
Medium-value fix: add a 'geopolitical policy inflection' module to the macro layer for energy/EM/FX-heavy names—flag when major supply-scarcity stories are hostage to near-term treaty/ceasefire/sanctions events. Wouldn't change the call (we said avoid anyway), but would calibrate confidence and reduce false magnitude precision on 14-day windows in highly policy-exposed sectors.
|
|||||||||
| AHR Selection American Healthcare REIT, Inc. |
Jun 7, 2026
Jun 24, 2026 · 5:34am
|
Low Q -42 · V -89 Pass on price — revisit sub-$40 | — |
$47.48
$46.52
-2.0%
|
Partial -5 | +45 | Conservative call proved justified (stock flat-to-down) but thesis untested; sector bullish, AHR dilution drag offset gains—stock rangebound, not collapsed. Our crux on per-share economics not yet proven right or wrong. | — | |
|
Our crux at the time
Whether the market keeps rewarding portfolio growth that's funded by ~150% share issuance, or finally re-prices AHR on per-share economics. Post-mortem
What went right: We called AVOID at $47.48; stock closed 2026-06-21 at $46.52 (−2.02%). We were directionally neutral-to-bearish and the stock didn't rally despite a roaring senior housing sector. In a rising tide, AHR barely moved—that's evidence the dilution/valuation thesis has teeth. Analyst consensus was bullish (PT $54.70, buy ratings), but the stock didn't follow. This is a yellow flag on per-share accretion. What we missed: The thesis is longer-dated than 14 days. Two weeks is too short to prove AHR's capital allocation breaks the market's patience. The stock is pinned by two opposing forces: (1) Sector tailwinds (limited supply, strong occupancy, 12.1% NOI growth, demographic demand), and (2) AHR-specific headwinds (forward ATM offerings ~$527M, lower GAAP guidance despite strong FFO, extreme 66% NAV premium). The -2% move is noise; the real test would be a 6–12 month period where per-share metrics *accelerate* or *decelerate* relative to the narrative. We can't yet distinguish whether AHR's slowness is temporary ATM-induced overhang or the beginning of the per-share economics repricing. Attribution: Market +1.28%, but with geopolitical risk (Strait of Hormuz) and AI rotation early in window. AHR −2.02% = ~2.3% underperformance vs. broad market. Senior housing sector was strong (evidenced by analyst upgrades, capital inflows, transaction momentum), yet AHR didn't participate. This suggests *sector tailwinds were not enough to lift AHR*—the company-specific dilution/valuation drag was real. The 66.61% NAV premium is a red flag: the stock is priced for perfection, and any capex miss or lower-than-expected FFO growth will hurt sharply. Macro pressure: Senior housing narrative is *strongly positive* (supply deficit, demographic demand, cap rates compressing, institutional money flowing in). But AHR's premium valuation and aggressive equity issuance are fighting that narrative. The macro is pushing up; the company structure is pushing down. Result: stock trapped in range. What we missed
Our thesis is 6+ months long; 14 days doesn't confirm or falsify the per-share economics repricing. We correctly flagged dilution as the crux, but the market has *not yet* punished AHR for it—the stock is held aloft by sector momentum and hasn't broken below our AVOID line. A longer window (2–3 quarters) tracking per-share FFO *vs. management guidance* would settle the thesis. Also: we did not weigh the *timing risk* of the forward ATM offering (settled post-window)—this overhang was real and visible but not quantified by us. The lower GAAP guidance is a subtle signal that share dilution is corroding bottom-line earnings; we could have highlighted this more explicitly in our AVOID case.
System signal — what we should change
timing
14-day window is too short to test a per-share earnings/capital-allocation thesis. Need 3–6 month rolling FFO and share count tracking to detect divergence from guidance. Add forward-looking equity offering tracker to pipeline alerts: large ATMs are sell signals and should auto-flag for re-examination.
Opportunity to improve +45/100
Medium value: Our method's blindspot here is *timing*. We flagged the right crux (dilution) but didn't quantify the time-to-repricing. Adding a forward offering tracker + a 3-month rolling per-share metric monitor (FFO growth vs. share count growth) would catch AHR-like setups earlier and avoid 14-day false negatives. Moderate lift: this refines existing tools rather than overhauling them.
|
|||||||||
| GTLS Selection Chart Industries, Inc. |
Jun 7, 2026
Jun 24, 2026 · 5:33am
|
Low Q -24 · V -86 Mixed quality + Rich price — wait for a dip | — |
$207.31
$207.99
+0.3%
|
Market-driven +5 | +75 | Stock trapped in deal-arbitrage collar; Strait of Hormuz LNG tailwinds masked by Baker Hughes regulatory scrutiny—thesis untested. | — | |
|
Our crux at the time
Whether LNG capex tailwinds hold long enough for Chart to delever without another margin or earnings slip — that single variable decides if today's price is reasonable or 25% too rich. Post-mortem
Market & Sector: S&P +1.28%, VIX fell; Brent crude +$5/b on Strait of Hormuz closure (late June re-escalation). Energy sector backdrop was *favorable* for LNG equipment, with global capex tailwinds. Company-Specific Drivers: (1) Baker Hughes acquisition at $210/share (announced Oct 2025, shareholder vote Oct 6, 2025); (2) European Commission antitrust review with Phase I deadline of June 26, 2026; (3) On June 11, GTLS dipped −0.3% on antitrust concerns. Deal expected to close July 2026 subject to EU approval and stated commitments are 'limited' and not expected to materially affect deal rationale. Stock Action: GTLS flat, +0.33% over 14 days ($207.31 → $207.99). Max drawdown −1.11%, max run-up +0.38%. Trading at −1.28% discount to $210 deal price (typical arb spread). Why So Quiet: The stock is locked in arbitrage mechanics. Investors holding GTLS are not betting on standalone Chart fundamentals; they are waiting for deal close. Macro LNG tailwinds (Strait crisis boosting capex) and Chart's strong backlog and HTS segment growth should have created fundamental upside, but the deal collar prevents repricing. Regulatory uncertainty (EU antitrust) acts as a risk cap on upside. Grade vs. Our Thesis: We said 'AVOID — wait for $170 dip.' The stock didn't dip, nor did it surge. Our concern was rich valuation + leverage + earnings wobble. All those concerns remain valid for the *standalone* company, but they are irrelevant to GTLS's 14-day move because the stock trades as a fixed-price acquisition. Our thesis was not proven or disproven — it was structurally untestable in this window. What we missed
We analyzed GTLS as a standalone company and missed that it is trading as a deal arbitrage. The $210/share acquisition collar caps both upside (arb spread risk) and downside (deal floor). Macro LNG tailwinds and our positive view of the backlog and HTS segment are correct but structurally irrelevant to the 14-day move. We should have flagged M&A status upfront and either excluded it or reframed it as a merger-arb thesis with regulatory risk as the binding variable.
System signal — what we should change
macro blindspot
Add a pre-screen for pending M&A / major regulatory milestones. When a stock trades as a deal arb, macro/sector/company narratives are muted. Reframe thesis as arbitrage (deal certainty, regulatory path, discount to deal price) rather than standalone fundamentals. Macro tailwinds can exist and still leave the stock flatline if deal risk dominates.
Opportunity to improve +75/100
High-value fix: Add M&A status to pre-screen. Flags when a stock is deal-constrained and shifts the thesis lens from standalone fundamentals to deal arbitrage (regulatory/timing risk). Directly improves accuracy on ~10-15% of industrial/energy names in any given quarter.
|
|||||||||
| SUN Selection Sunoco LP |
Jun 7, 2026
Jun 24, 2026 · 5:31am
|
Low Q -25 · V -31 Fairly valued income name — wait for a dip | — |
$66.25
$63.50
-4.2%
|
Partial -15 | +65 | Direction right, magnitude off—dip came but from macro relief trade (Hormuz), not company deterioration, leaving yield still market-clearing and edge absent. | — | |
|
Our crux at the time
Whether I get a 15%-ish pullback that pushes the distribution yield into clearly generous territory — without it, there's no edge here. Post-mortem
Direction: We said 'wait for a dip' and got one (−4.15%). ✓ Correct. Magnitude: Our crux was '15%-ish pullback' to ~$58 for edge; we got ~4% to $63.50. The dip was real but shallow and didn't cross our threshold because the reason (Hormuz relief, oil/gas down) doesn't improve SUN's fundamental appeal. Yield at $63.50 (~5.9%) is still market-clearing, not 'clearly generous.' Reason miss: We did not anticipate the timing/strength of the Hormuz relief trade and its sector-wide re-rating of energy infrastructure. Our analysis was sound (SUN = stable, fairly valued), but macro narrative shift blindsided the sector 4 days after our analysis. Attribution: ~70% sector (Hormuz relief, oil/gas down), ~15% market (risk-off early, then broad rally SUN missed), ~15% idiosyncratic (none; earnings were strong in May, distribution raised, no company news). Macro pressure: Negative, strength ~75/100. Strait reopening = structural headwind to energy infrastructure valuations for months ahead. What we missed
Timing and magnitude of the Hormuz relief trade and its immediate impact on energy sector sentiment. We correctly identified SUN as fairly valued with no edge at $66, but did not foresee the macro narrative shift (relief rally) that would pressure the entire energy infrastructure sector. The dip, while directionally correct, came from sector headwinds, not SUN-specific weakness, so it did not improve the valuation edge (yield still market-clearing).
System signal — what we should change
macro blindspot
Add a macro/sentiment regime monitor to flag when major narratives (geopolitical, rate, sector rotation) are in inflection risk. For energy/MLPs, a scan of Hormuz closure duration/deal prospects would have surfaced 'high sector re-rating risk if relief trade triggers.' Our company lens is sound; we need visibility into when the *sector* is about to turn, not just when a *company* is mispriced.
Opportunity to improve +65/100
Medium-high priority: add a lightweight macro regime monitor (geopolitical, rate, sector-rotation watch) that flags high-risk inflection points 2-4 weeks ahead. Would have caught the Hormuz trade risk and timed energy sector exposure better. Moderate lift across portfolio for sectors with binary macro tails.
|
|||||||||
| PRMB Selection Primo Brands Corporation |
Jun 7, 2026
Jun 24, 2026 · 5:30am
|
Low Q -29 · V -46 Fairly priced leveraged roll-up — wait for sub-$19 | — |
$22.95
$24.27
+5.8%
|
Partial -15 | +35 | Called AVOID correctly, but arrived at a mild +5.75% interim bounce over 14 days before the June 22 catastrophe; thesis survived the window but macro tailwinds masked the company-specific deterioration. | — | |
|
Our crux at the time
Whether post-merger FCF can step from ~$310M toward $400M+ fast enough to outrun the leverage and the 375M share count — and I don't need to guess at $22.95. Post-mortem
The Brief Error: The brief lists ticker PRMB (Primo Brands, beverage/merger play) but the thesis, financials, and context are all PRIMORIS SERVICES (PRIM, infrastructure EPC). Assuming PRIM is the intended name. Window Narrative: - Analysis date: June 7, 2026 (post-May 5 earnings crash @ 50%, pre-June 22 COO departure). - Stock closed June 7 at ~$22.95; by June 21 $24.27 (+5.75%). - June 8–10: Risk-off regime (Hormuz closure, VIX down 16%), PRIM fell 15.4% on June 9 as market re-digested renewables execution failures. - June 10–21: Broad market rally (+1.28% S&P, small-cap/tech rallies, VIX decline) pulled PRIM up +2.7% from the June 9 lows, masking company-specific decay. - June 22 (post-window): COO Jeremy Kinch departs immediately; company issues 3rd/4th guidance cut in a row—EPS down 68% (to $1.30–$1.85), EBITDA down 42% (to $275–$325M). Stock crashes 28% AH. Attribution: - Market recovery (broad rally, VIX decline): ~70% of the +5.75% bounce. - Idiosyncratic news: June 9 renewal of selling (-15.4%) was offset by sector/market tailwinds over June 10–21; the company-specific thesis (renewables hemorrhaging, leverage/share dilution unresolved) remained toxic and was vindicated 1 day after our window close. Grade: - We were right on direction (AVOID): The thesis—"no edge at 27× FCF on leveraged balance sheet with unproven synergy capture"—proved prescient. The company did *not* fix the renewables problem; costs spiraled. - But we arrived in a false calm: Our June 7 read caught the stock after the first crash but before the final reckoning. A 14-day bounce on pure macro tailwind (rally) obscured that the crux (FCF acceleration / synergy capture) had *failed*. - Timing vs. thesis: Thesis was *right*, but a 2-week window is too short to confirm or kill a 6-month prediction. The June 22 collapse—28% AH on worse guidance—proved our "wait for sub-$19" call was prudent. What we missed
We nailed the balance sheet/leverage/share-count concern, but we did *not* flag the acceleration of renewables project failures. By June 7, management had already downplayed the February issues ("isolated single project") and touted remedial measures; we accepted that framing. The June 22 announcement revealed 6 projects in trouble (not 1), with additional cost overruns identified via third-party expert review. This was *not* visible in public disclosures as of June 7, so we could not have caught it from the brief; it emerged only in the June 22 update. However, the Q1 earnings (May 5) *had* already signaled trouble; our analysis date (June 7) was in a post-earnings fog where short-term rally dynamics masked the severity.
System signal — what we should change
data gap
Post-earnings fog: when a stock crashes 50% and then enters a 1–2 week quiet period, our system should *flag* the reputational/execution risk of a quick recovery rally without fresh company guidance. A check-in 5–10 days post-earnings for management commentary clarifications (vs. accepting prior guidance restatement) would have surfaced the June 22 warning signs sooner. The brief should have captured that June 9 dip as a *re-test* of the May crash, not a new sell-off.
Opportunity to improve +35/100
Moderate signal: post-crash false calm is real (market rallies can mask operating deterioration for 1–3 weeks). Adding a post-earnings-surprise monitoring window (check for management updates/insider moves 5–10 days post-miss) to the framework would catch these mid-cycle collapses faster. Not a system overhaul, but a useful guardrail for 'AVOID' calls in turnaround zones.
|
|||||||||
| BXP Selection BXP, Inc. |
Jun 7, 2026
Jun 23, 2026 · 5:34am
|
Low Q -20 · V -2 Quality-with-an-asterisk — wait for sub-$52 | — |
$62.33
$64.70
+3.8%
|
Partial +15 | +65 | Right direction, wrong magnitude and timing—BXP moved up 3.8% on leasing/guidance beats + cap rate stabilization (not widening), contradicting our macro bearish crux. | — | |
|
Our crux at the time
Whether gateway Class-A cap rates stabilize or widen another 50bps — with $15B net debt on $9.9B equity, that single variable swamps everything else. Post-mortem
Market vs. Company Attribution: BXP +3.8% vs S&P +1.28% over 14 days = ~250bps outperformance. This is NOT market-driven; it's idiosyncratic. The broader office REIT sector was down YTD, and VIX compression early-week (risk-off) would have hurt commercial RE, yet BXP rallied through a volatile backdrop. What Drove It: 1. Q1 Earnings beat & raised 2026 FFO guidance (~+2% price reaction typical for REIT beats): BXP delivered $1.59 FFO/share vs. guidance midpoint, signaling operational momentum in gateway Class A markets (Boston, NYC, DC). Guidance midpoint of $6.96 represents modest but real FFO growth vs. 2025, a narrative inflection. 2. Capital recycling execution: $360M proceeds YTD, including Marriott HQ sale at 6.8% cap rate (a POSITIVE signal—not distressed pricing). This de-levers the balance sheet (reducing $15B net debt pressure) and funds development of 290 Binney in Cambridge (fully pre-leased to AstraZeneca). 3. Cap rate stabilization, not widening: Our crux hinged on cap rates widening another 50bps. Market data shows Class A office in 2026 trades at 6.0–8.0% cap rates. The Marriott sale at 6.8% is *normal* for Class A CBD, not crisis pricing. No evidence of 50bps widening from our June 7 baseline. 4. AI tailwind to gateway markets: BXP owns premier CBD office in Boston, NYC, DC, and SF—the exact geographies where AI-driven demand is re-concentrating tech/finance hiring. This contradicts the macro bearish framing of our thesis. Why We Were Partially Wrong: - We said AVOID and "wait for sub-$52" (sub-20% haircut). Price closed at $64.70, a 3.8% move *up* from $62.33 analysis price. - Our Quality score (-20, "Mixed") was correct—the leverage is real and net income was depressed ($14M vs $849M prior year). But we conflated that with a price call and got the timing 180° wrong. - Our crux (cap rate widening) didn't materialize in this window. Cap rates in gateway Class A stabilized; BXP's debt refinance outlook improved. Interest expense fell. - We missed the magnitude of the guidance raise: FFO guidance raised to $6.90–$7.04 (midpoint $6.96) is a 1.6% increase from 2025 ($6.85). For a REIT grinding through a structural headwind (office vacancy), that's credible operational proof. Attribution Breakdown: - Market (S&P momentum, risk-off/complacency flip, macro relief): ~30% (BXP would have moved +1% on beta alone) - Sector (Office REIT sentiment shift, AI re-rating of gateways): ~50% (the big mover—BXP premium to non-prime office) - Company-specific (earnings beat, guidance, capital recycling, interest rate refinance benefit): ~20% (modest, but real) Macro/Narrative Pressure on BXP: The macro backdrop was NOT hostile to BXP in this window. The Strait of Hormuz closure drove risk-on sentiment mid-week (VIX fell 110bps), and AI's concentration in gateway cities created a narrative tailwind. Office REITs have been repriced down 8% YTD, but prime CBD assets in AI hubs are experiencing a rotation *into* them. What We Missed: 1. Narrative inflection in progress: By late April/early June, market consensus shifted from "office is dead" to "prime office in AI hubs has a future." We were anchored to the old narrative. 2. Balance sheet trajectory: The $1.5B cash position and $400M+ of asset sales in 2026 are *actively de-leveraging* the company, not just damage control. 3. Cap rate stability: We assumed widening; market showed compression signals for Class A. The Marriott sale at 6.8% cap is exhibit A. What we missed
The start of a narrative inflection in office REIT sentiment, specifically the re-concentration of tech/finance demand in Class A gateway markets driven by AI. We also underestimated the pace and credibility of BXP's capital recycling program (already $360M proceeds in 6 months) and its deleveraging effect on interest expense. Cap rates in Class A CBD did not widen; they stabilized, which broke our core crux.
System signal — what we should change
sentiment blindspot
We modeled leverage and cap rate risk (bottom-up, correct) but missed the macro narrative rotation: the re-concentration of high-quality tenant demand in AI-driven gateway cities is actively re-rating prime Class A office upward, regardless of company-level metrics. Add a 'narrative momentum' signal that flags when market consensus is shifting in favor of a sector's best-positioned names, even if fundamentals are still mixed.
Opportunity to improve +65/100
High-hanging fruit: add a 'sector narrative momentum' detector that flags when an unloved sector (like office REITs) is experiencing a re-rating inflection *toward* quality names (Class A, gateway, AI-adjacent). This would have caught BXP's re-rating 2–3 weeks early and improved the timing of our AVOID→WAIT call. Applies across cyclical/sentiment-driven sectors.
|
|||||||||
| DAR Selection Darling Ingredients Inc. |
Jun 7, 2026
Jun 22, 2026 · 5:41am
|
Low Q -14 · V -25 Quality-mixed, fairly valued — wait for a dip | — |
$59.45
$53.68
-9.7%
|
Missed -40 | +65 | Fell 9.71% despite favorable macro (RVO clarity, Hormuz closure). Earnings beat on net income but missed on operating income; margin expansion disappointed vs. street, revealing execution/competitive risk we under-weighted. | — | |
|
Our crux at the time
Whether the DGD/renewable diesel margin trough turns in the next 2-3 quarters — that single variable decides both the quality verdict (cyclical vs structural) and the valuation gap. Post-mortem
## Market vs. Stock Move Market Context: S&P 500 rose 1.28% over the window; VIX compressed from 18.92 → 16.78 (risk appetite improving). Strait of Hormuz closure kept energy prices elevated and should have supported renewable diesel demand via RVO tailwinds. Market had three early risk-off days (June 8-11) but recovered strongly (June 15-19 tech/complacency rally). DAR Performance: Stock fell 9.71% ($59.45 → $53.68) over 14 days, max drawdown -12.28%. This is idiosyncratic—while market recovered, DAR sold off hard. Attribution: ~85% idiosyncratic, ~10% market, ~5% sector. ## Our Thesis vs. Reality We called AVOID on: - Quality: -14 (mixed). We correctly flagged high debt (3.17x leverage at quarter-end), margin compression (1,000bp), and 90% earnings decline in the trough. - Value: -25 (fairly valued). We said $59 already prices mid-cycle recovery without paying for leverage—a no-chase setup. - Crux: Whether DGD margin trough turns in 2-3Q. Why We Were Right (Direction): Our skepticism was directionally correct. The stock fell, confirming that "fairly valued into mid-cycle recovery" was indeed the setup. A dip did occur (down 12%), consistent with our "wait for a dip" thesis. Why We Missed (Magnitude): We said "avoid + wait for dip." The dip came, yes—but the *reason* for the dip was not primarily a market-wide pullback or sector rotation. It was company-specific: an earnings miss. On June 6 (one day before our analysis), a headline appeared: "Darling Ingredients reported quarterly revenues matching analyst expectations but significantly missed adjusted operating income estimates, even as management described the quarter as an inflection point." We did not see or weight this miss adequately in our call. Q1 2026 net income swung from -$26.2M loss to +$134.3M (beat), but operating income fell short of street expectations, revealing that DGD margin expansion was less durable/strong than management's "inflection" narrative suggested. ## The Crux: Did Margins Really Turn? Management claimed an inflection in May's Investor Day and Q1 earnings (April 30). DGD EBITDA per gallon improved to $1.11 (Q1 2026) from $0.41 (Q4 2025)—a stunning recovery. But the June headline reveals the street had priced in *more* margin expansion than delivered. The RVO finalization (late March 2026) and Strait of Hormuz closure (ongoing) created massive tailwinds for feedstock costs (fat prices rose) and demand, but competitive supply-side response to the RVO likely compressed margins faster than management assumed. The "clear inflection" narrative may have been premature or incomplete. ## Macro/Narrative Pressure Positive Tailwinds: RVO clarity (5.4B gal vs. 3.35B prior year), Strait closure (20% of seaborne oil; should tighten global diesel supply), record-high RIN values (D4/D5/D6 RINs elevated per EIA), renewable diesel production forecast at record highs (+24% in 2026 vs. 2025). Headwind Not Priced: Supply-side response to RVO was rapid. If you increase demand mandates 60%, new biodiesel/renewable diesel capacity comes online faster than anticipated. Margins compete. Fat feedstock prices rose (good for DAR's rendering segment), but DGD margins didn't expand as much as the "inflection" headline promised. This is a structural competitive dynamic, not a cyclical/macro one. ## What We Missed 1. Earnings quality signal: A June 6 headline flagged the operating income miss. We did not integrate this into our June 7 analysis. We should have caught the market repricing of DGD margin durability risk. 2. Supply-side response to RVO: We noted that RVO clarity was a tailwind, but we under-weighted how *quickly* idle biodiesel capacity would restart and new renewable diesel come online. In a world where mandates jump 60%, competition intensifies faster than a cyclical recovery narrative suggests. 3. Crux validation timing: Our crux was "does the margin trough turn in 2-3Q?" Q1 2026 showed a turn *in headline EBITDA per gallon*, but the operating income miss suggests the *quality* and *durability* of that turn is weaker. A two-week window is too short to call the crux, but the earnings miss is a yellow flag that our thesis (wait for durability confirmation) was prescient. ## System Performance Our Quality×Value logic was sound: mixed quality + fairly valued = avoid. The stock did underperform the market. However, we failed to:** - Integrate a real-time earnings quality signal (the operating income miss) into our call. - Distinguish between "headline margin recovery" (DGD EBITDA/gallon improved) and "durable, profitable margin recovery" (operating income missed, suggesting competitive pressure/volume mix issues). - Weight the supply-side response to the RVO as a medium-term structural headwind to DGD margins, not just a short-term cyclical tailwind. What we missed
We under-weighted the earnings quality signal (operating income miss on June 6, one day before our call) and failed to distinguish between 'headline margin recovery' (DGD EBITDA/gallon improved to $1.11) and 'durable margin recovery' (operating income fell short, signaling competitive pressure and margin compression). We also under-weighted the speed of supply-side response to the RVO mandate increase—new capacity coming online faster than a 'cyclical recovery' narrative implies. Our crux was sound (does the turn hold?), but we should have flagged the operating income miss as a yellow flag on durability, not treated it as noise.
System signal — what we should change
data gap
Add real-time earnings quality filters to the analysis window: track not just net income beats/misses but **operating income and EBITDA margin convergence** vs. street expectations. A company beating net income on one-off LCM adjustments or tax items while missing operating income is a durability red flag, especially for cyclical names. This would have caught the supply-side competitive response signal earlier.
Opportunity to improve +65/100
Medium-high opportunity: Add a 'margin durability' flag to cyclical/commodity names—track whether headline segment EBITDA/unit metrics improve but operating income lags, signaling competitive compression. This is a low-hanging fruit for cyclical recovery false positives. Would catch 'inflection point' narratives that mask underlying competitive dynamics.
|
|||||||||
| VRNS Selection Varonis Systems, Inc. v1 · 2 total |
Jun 5, 2026
Jun 20, 2026 · 9:26pm
|
Low Q -22 · V -65 Pass at $32 — bid in the mid-$20s | — |
$32.69
$33.38
+2.1%
|
Partial +5 | +50 | Stock drifted flat vs. S&P 500, no company-specific catalysts, caught broad tech/SaaS rally recovery; thesis remains untested by 14-day window. | — | |
|
Our crux at the time
Whether SBC and dilution normalize before the multiple compresses — until that's visible, every dollar of FCF is being paid back to employees in shares. Post-mortem
Market & Sector Attribution: - VRNS +2.11% vs. S&P 500 +1.58% in a 14-day window that began with broad risk-off (June 5-11) and recovered sharply into tech rally (June 12-18). - VIX fell 22% (21.51 → 16.78), signaling de-risking and flight-to-quality into mega-cap/SaaS names. - This was a *sector* move, not a company-specific inflection. VRNS benefited from sentiment rotation into AI-exposed software (Snowflake/Dell strength spilled over). - Stock showed modest outperformance vs. market, but no break-out and no proof of thesis reversal. Company-Specific Drivers: - Zero earnings, zero guidance, zero material news. Analyst reaffirms on June 15 (Wells Fargo Buy) are routine. - Conference presentations (William Blair June 2, Infosecurity Europe June 2-4) generated no material price catalyst. - No change to valuation inputs: still posting net losses (Q1 2026: -$37M), still running high SBC (our crux), still trading at ~5.7x P/S (above peer/industry average). Grade vs. Our Call: - We said AVOID at $32.69 with a crux around SBC/dilution overhang until FCF/per-share compounding normalized. - Stock +2.11% is a non-move for 14 days; we don't buy it because of price appreciation, we pass because the fundamentals we cited (SBC bleed, margin compression, valuation multiple at 6-7x revenue) remain unchanged. - Our call was right in direction & reasoning, but the window is too short and too driven by macro/sentiment to confirm or refute. The thesis will play out over 6 months, not 2 weeks. We're sitting out; the stock moved sideways. Call = intact. What We Got Right: - Identified the company trades on AI narrative (SaaS/security premium), not on near-term earnings power. The June rally *proved this*—pure sentiment, no news. - Crux remains valid: Q1 2026 showed -$37M net loss despite $173M revenue, and dilution math is unchanged. SaaS transition is real, but margin inflection isn't here yet. What We Didn't Anticipate: - The *magnitude* of broad tech-sector re-rating mid-window (Snowflake/Dell catalyst June 1-2 lifted SaaS sentiment broadly). This wasn't idiosyncratic; it was a market-regime rotation out of risk-off into AI software. - We didn't flag the macro/sentiment coefficient as the dominant 14-day driver. Our system sees Q/V; it can't predict VIX compression or cross-sector momentum. This is the blind spot our framework acknowledged. Conclusion: - The stock did *slightly better* than the market (0.5% excess return), but in a window dominated by macro/sentiment tilt into SaaS. Our company-specific thesis (pass until dilution normalizes) was not tested. The window is too short and too noisy to grade the thesis. What we missed
We didn't weight the **macro/sentiment re-rating as a 14-day dominant force**. Our Q/V scores can't see this. The stock's +2.11% is not a fundamental repricing—it's pure sector momentum. A system that saw sentiment/narrative pressure *separate* from bottom-up scores would have flagged 'upside bias risk if market rotates into SaaS/AI' and adjusted the confidence down (not the call, but the predictability).
System signal — what we should change
macro blindspot
This case is a textbook example of macro/sentiment overriding company-specific scores in the short term. We called the valuation right (AVOID) and identified the right crux (SBC), but the 14-day noise was 90% market/sector and 10% company. A third score—macro/sentiment pressure (0-100, as specified)—would have let us say 'AVOID is right, but expect noise: SaaS sentiment is running hot, watch for reversal.'
Opportunity to improve +50/100
Moderate fruit: Add a real-time macro/sentiment coefficient (broad tech momentum, VIX regime, narrative strength) to flag when short-term volatility will drown out bottom-up signal. Medium effort, high signal-to-noise improvement.
Version history — 1 earlier assessment of this run
Showing the current read above; these are superseded but kept for the learning history. |
|||||||||
Augustus · Timing Loop
0 gradedThe forward sibling: did the buy-now call play out? Each Augustus setup is graded mechanically once its window elapses — target vs stop (first touch), realized R, and whether a no-trade was the right pass. Same Action Taken registry as Cairn, so a lesson here records the change the same way. Grades accrue as calls age into their window (~from 2026-07-09).
No Augustus grades yet. They accrue as buy-now calls cross their holding window.