Data collected for fiscal quarters ending within the reporting period. Companies are matched by ticker symbol across time periods.
Stock price percentage change following earnings announcement (typically measured as close-to-close or intraday swing).
The following table shows individual company data used in calculations. Total records: 12
| Symbol | Company | Report Date | Revenue | Rev Growth % | EPS | EPS Est. | EPS Growth % | Surprise | Reaction % |
|---|---|---|---|---|---|---|---|---|---|
| LW | Lamb Weston Holdings Inc | Apr 1, 2026 | $1.56B | N/A | $0.39 | $0.63 | N/A | $-0.24 | +8.0% |
| CALM | CalMaine Foods Inc | Apr 1, 2026 | $0.67B | -13.3% | $1.07 | $0.70 | -49.8% | +$0.37 | +5.7% |
| STKL | SunOpta Inc | Apr 1, 2026 | $0.22B | N/A | $0.06 | $0.05 | N/A | +$0.01 | +9.4% |
| MKC-V | McCormick Company Incorporated | Mar 31, 2026 | $1.87B | +1.3% | $3.78 | $0.60 | N/A | +$3.18 | +2.5% |
| DLTR | Dollar Tree Inc | Mar 16, 2026 | $5.45B | N/A | $2.56 | $2.53 | N/A | +$0.03 | +6.5% |
| LMNR | Limoneira Company | Mar 12, 2026 | $0.02B | N/A | $-0.48 | $-0.33 | N/A | $-0.15 | +4.6% |
| CVGW | Calavo Growers Inc | Mar 12, 2026 | $0.12B | -2.0% | $0.13 | $0.22 | -48.7% | $-0.09 | +6.5% |
| FIZZ | National Beverage Corp | Mar 12, 2026 | $0.26B | -8.2% | $0.44 | $0.44 | -11.1% | $0.00 | +4.5% |
| BJ | BJs Wholesale Club Holdings Inc | Mar 5, 2026 | $5.58B | N/A | $0.96 | $0.93 | N/A | +$0.03 | +6.7% |
| BF-B | BrownForman Corporation | Mar 4, 2026 | $1.06B | +1.9% | N/A | $0.34 | N/A | N/A | +5.3% |
| BF-A | BrownForman Corporation | Mar 4, 2026 | $1.06B | +1.9% | N/A | $0.47 | N/A | N/A | +2.8% |
| PXED | Phoenix Education Partners Inc | Nov 20, 2025 | $0.25B | N/A | $0.94 | $1.01 | N/A | $-0.08 | +8.6% |
SELECT
e.symbol,
e.revenue as current_revenue,
e.eps as current_eps,
-- Previous quarter (flexible 2-5 month lookback)
(SELECT revenue FROM earningscalendar
WHERE symbol = e.symbol
AND fiscalDateEnding < e.fiscalDateEnding
AND fiscalDateEnding >= DATE_SUB(e.fiscalDateEnding, INTERVAL 5 MONTH)
ORDER BY fiscalDateEnding DESC LIMIT 1) as prev_quarter_revenue,
-- Previous year (11-14 month lookback)
(SELECT revenue FROM earningscalendar
WHERE symbol = e.symbol
AND fiscalDateEnding BETWEEN DATE_SUB(e.fiscalDateEnding, INTERVAL 14 MONTH)
AND DATE_SUB(e.fiscalDateEnding, INTERVAL 11 MONTH)
ORDER BY ABS(DATEDIFF(fiscalDateEnding, DATE_SUB(e.fiscalDateEnding, INTERVAL 1 YEAR)))
LIMIT 1) as prev_year_revenue
FROM earningscalendar e
JOIN ticker t ON e.symbol = t.ticker
WHERE t.sector = 'Consumer Defensive'
AND e.fiscalDateEnding IS NOT NULL
AND e.revenue > 1000000 -- Minimum revenue threshold