AI Research CRMCRM_earnings

CRM post-earnings drift over ~3 years: forward 20-day returns after EPS beats vs misses

We looked at every Salesforce (CRM) quarterly release over the past ~3 years (12 events) and measured the 20-trading-day forward return from the first market close on-or-after each reported date, classifying reports as beats, misses, or inline. The question: do EPS beats produce the classic post-earnings drift (PEAD) — small positive follow-through — or does the report-day move fully incorporate the surprise?

The answer here is no reliable PEAD. Beats averaged -0.56% over the next 20 days versus an unconditional -0.34% baseline (beat edge ≈ -0.22%, p ≈ 0.92), and the single miss was a -9.57% outlier — large but anecdotal (N=1). With 11 beats and one miss, the evidence is thin; the full analysis below shows the distributions, tests, and why this looks like noise rather than a repeatable edge.

The research question

For CRM over the past ~3 years, is post-earnings drift real — after a quarterly EPS beat do forward 20-day returns run above the everyday baseline (and misses drift lower), or does the report-day move fully price the news with no follow-through? Thesis: forward 20-day returns track the sign of the surprise, so beats keep grinding higher and misses keep bleeding, meaning classic PEAD still pays in Salesforce.

How this was measured

Resampled CRM minute bars to daily closes and computed forward 20-trading-day returns. Pulled quarterly earnings from CRM_earnings; kept reports with non-null surprise_percentage and reported_date within the last ~3 years. For each release, anchored to the first trading day on-or-after reported_date (t0) and measured close[t0+20]/close[t0]-1. Classified events as 'beat' (surprise_percentage>0), 'miss' (<0), or 'inline' (=0). Compared mean forward returns for beats and misses against the unconditional baseline 20-day forward return over the same price window using Welch's two-sample t-test (unequal variance).

The key numbers

Price window (trading days)
745
2023-07-12 to 2026-06-30
Earnings events analyzed
12
11 beats, 1 misses, 0 inline
Mean fwd-20d return — beats
-0.5619%
N=11
Mean fwd-20d return — misses
-9.5717%
N=1
Unconditional baseline mean (20d)
-0.3394%
N=725
Edge vs baseline — beats
-0.2224%
beat_mean − baseline_mean
Edge vs baseline — misses
-9.2323%
miss_mean − baseline_mean
Beat − miss mean gap
9.0098%
positive = beats > misses
Welch t (beats vs baseline)
-0.100
p-value (beats vs baseline)
0.9223
p=0.9223 ≥ 0.05 → no clear difference
Welch t (misses vs baseline)
0.000
p-value (misses vs baseline)
1.0000
p=1.0000 ≥ 0.05 → no clear difference
Welch t (beats vs misses)
0.000
p-value (beats vs misses)
1.0000
p=1.0000 ≥ 0.05 → no clear difference

Reading the numbers

Across 12 events (11 beats, 1 miss) the mean 20-day return after beats was -0.005618707584079402 versus an unconditional baseline of -0.003394456597047969; the single miss was much worse at -0.0957170313256892. Statistical tests show no clear difference (beats p=0.9223, misses p=1.0).

The charts

Mean forward 20-day return by group
What this chart says

The bar chart lines up mean forward-20d returns: Beats = -0.0056, Misses = -0.0957, Baseline = -0.0034. The eye is drawn to the miss bar, which is far below the others, while the beat bar actually sits slightly below the baseline. For the PEAD question this means beats do not show a clear positive follow-through versus the everyday baseline and the single miss shows a large negative move, but the means are close enough that statistical tests do not support a reliable beat-driven drift.

Forward 20d returns after EPS beats
What this chart says

This histogram of the 11 beat outcomes shows a wide spread (min -0.1363, max 0.1179) with mean -0.0056. Look at the mix of positive and negative returns rather than a single cluster to the right — several beats produce near-zero or negative 20-day moves. That dispersion explains why the average after beats is essentially indistinguishable from the baseline: beats do not uniformly 'keep grinding higher.'

Forward 20d returns after EPS misses
What this chart says

The misses histogram contains just one point: the single miss returned -0.0957 (N=1). The chart is therefore just that one deep negative outcome, which looks like strong post-earnings bleeding in isolation. For inference this is weak evidence: a large negative follow-through is visible, but it rests on one event only.

Unconditional forward 20d returns (baseline)
What this chart says

The unconditional baseline across 725 windows has mean -0.0034 and a very wide range (min -0.2935, max 0.256). The baseline distribution overlaps the beats distribution substantially, so small differences in means (beat edge = -0.002224) are swamped by volatility. In plain terms, the background noise in 20-day returns is large, making it hard to detect a consistent PEAD effect for Salesforce in this sample.

CRM earnings events — forward 20-day returns

reported_datesurprise_pctdirectionanchor_datefwd_datefwd_20d_return
2023-08-3011.58beat2023-08-302023-09-28-0.1053
2023-11-292.43beat2023-11-292023-12-280.0605
2024-02-280.88beat2024-02-282024-03-270.0241
2024-05-292.95beat2024-05-292024-06-270.1179
2024-08-288.47beat2024-08-282024-09-260.0261
2024-12-03-1.63miss2024-12-032025-01-02-0.0957
2025-02-266.51beat2025-02-262025-03-26-0.0361
2025-05-281.18beat2025-05-282025-06-26-0.0273
2025-09-034.68beat2025-09-032025-10-01-0.0247
2025-12-0335.19beat2025-12-032026-01-020.0479
2026-02-2524.92beat2026-02-252026-03-25-0.0086
2026-05-2723.96beat2026-05-272026-06-25-0.1363

The takeaway

No — this sample does not show a reliable post-earnings drift for CRM. Beats averaged -0.56% over the next 20 trading days versus the unconditional -0.34% baseline (beat edge -0.22%), and that difference is statistically null (p = 0.9223 — about a 92-in-100 chance the beat vs. baseline gap is just noise). The lone miss was a -9.57% 20-day move (beat-minus-miss gap ~9.01%), but that's a single event (N=1) and the miss comparisons have p = 1.00, so the big miss is anecdote, not a pattern. Bottom line: with only 12 earnings events (11 beats, 1 miss) the evidence is thin — this looks like a coin flip or a lean at best, not a tradable, repeatable PEAD effect for Salesforce over the examined window.

The fine print