Post-earnings drift — the tendency for stocks to keep moving in the direction of their earnings surprise for weeks after — has been documented in finance research since 1968. The Performance page is the screener that lets you act on it.
The question it answers
After companies report, which ones keep moving — and by how much, by sector, by quarter?
You get five core metrics for every cohort you slice:
| Metric | Why it matters |
|---|---|
priceChange1d | Initial reaction. Mostly noise but sets direction. |
priceChange1w | Follow-through window. Weak hands sell here. |
priceChange1m | Drift window. Real PEAD lives here. |
priceChangeNextEr | Extended drift to the next print. |
epsSurprisePercent | Surprise magnitude. Bigger surprises drift longer, historically. |
The real edge, from our own data
Last 120 days, mid-cap and up, healthcare excluded:
| Status | Sample | Avg 1d | Avg 1w | Avg 1m |
|---|---|---|---|---|
| Beat | 939 | +0.79% | +1.67% | -1.18% |
| Miss | 302 | -1.30% | +0.13% | -2.73% |
| Inline | 46 | -0.26% | +1.36% | -2.93% |
Two things to notice. First, the ~2pp day-1 gap between beats and misses is the headline edge. Stack it across a portfolio rather than betting big on any single name. Second, the 1-month numbers are negative across the board right now. This is a regime signal — the current market rewards beats short-term but sells them by week 4. That changes which trade you should run: more day-trade flips, fewer hold-the-drift swings.
How to slice the data
Three filter axes that compound:
Quarter — select a single fiscal quarter. Plus gets 1 year of history, Pro gets 3.
Sector — multi-select. Filter to Tech alone for sector PEAD; Tech + Comm Services for the AI-adjacent cluster.
Industry — multi-select, cascades after sector. Semiconductors, Software-Infrastructure, Specialty Retail, and so on.
Plus a toggle: includeIncomplete (still-reporting earnings vs final/settled only).
Three plays this page is built for
Sector momentum screen
On Performance, set the quarter to most-recent-complete. Look at the sector breakdown. The sectors with the highest 1m return are where the post-ER flow is going. Bias your next earnings trades toward those sectors. Current read: Energy +5.72%, Comm Services +1.38%, Utilities +0.97% — everything else negative on 1m. Energy is where the drift is paying.
The asymmetry check
Compare the beat row vs the miss row. If beats average +X% and misses average -2X% over a month, the tape favors beats and earnings trades are favored. If symmetric, the tape is rangebound and prints are getting faded. Right now the asymmetry favors avoiding misses more than chasing beats: misses dropping 2.7% over a month, beats only down 1.2%. Defense over offense on individual names. The Avoid Disasters flow walks through the protective side of this.
Find the sleeper sector
Sort the sector table by 1m return descending. Anything outside the top 3 is probably ignored by financial media. The Performance page surfaces these quietly. Last quarter, Energy was top and earnings trades in oil names paid far more than any tech beat.
How this connects to the rest of the product
Performance feeds back into every other page:
- It tells you which sectors to bias on the Calendar and in the Calendar guide.
- It validates (or undercuts) names showing up in Top Picks — the Top Picks guide explains the funnel.
- It contextualizes the regime score in the Market Model — the Market Model guide covers the regime bands.
What's gated
Free: blurred teaser. Plus: full Pro access (grandfathered, 3 years of history + all sections). Pro: 3 years history + Trend Analysis + Compare Companies (side-by-side for up to 4 tickers). Manage your plan on your account page.
Honest limitations
The screener is descriptive, not predictive. It shows what happened after recent prints. Whether the pattern continues depends on the regime, sector rotation, and macro backdrop. Cross-check with the Market Model before sizing into anything based on what you see here.