Estimates
Source: S&P Capital IQ consensus via Xpressfeed · Generated 2026-07-27.
Every normalized EPS number on this tape comes from a single analyst
Because normalized EPS carries one estimate everywhere, its surprises run from -228% to +381% and its revisions swing in double digits — that is one broker's model, not a consensus. Coverage also thins fast beyond FY2027: revenue drops to three estimates in FY2028, and FY2029 has a single analyst on EBITDA, GAAP EPS and net income. GAAP EPS, with five to six contributors through FY2027, is the better-supported earnings line here.
FY2027 EPS up 18% over 180 days while revenue edges lower; FY2028 EPS cut 10% in 90 days
The FY2027 upgrade is entirely older than 90 days — the consensus has not moved in the last month. Both normalized EPS lines carry a single contributing analyst, so read the size of these swings with care.
Currency: USD · Scale: money in millions, absolute · Point-in-time consensus; Δ90d is Now versus 90d.
| Metric | FY | 180d | 90d | 30d | Now | Δ90d |
|---|---|---|---|---|---|---|
| EPS (normalized) | FY2027 | $1.75 | $2.06 | $2.06 | $2.06 | -0.3% |
| EPS (normalized) | FY2028 | — | $2.58 | $2.31 | $2.31 | -10.4% |
| Revenue | FY2027 | $945.50m | $959.31m | $939.81m | $939.81m | -2.0% |
| Revenue | FY2028 | $952.10m | $1.01bn | $993.95m | $993.95m | -1.5% |
Revenue beat consensus in six of the last eight quarters; the latest print missed by 2.4%
The beats were sizeable — four of them above 9% — while both misses came in under 5%. FY2026 Q1 fell short on revenue and normalized EPS together.
Current sequences by metric: Revenue: 1 consecutive miss; EPS (normalized): 2 consecutive misses.
Currency: USD · Scale: money in millions, absolute · Consensus is captured before each actual first became effective.
| Quarter | Metric | Consensus | Actual | Surprise | Outcome |
|---|---|---|---|---|---|
| Q1 FY2026 | Revenue | $227.60m | $222.20m | -2.4% | Miss |
| Q1 FY2026 | EPS (normalized) | $0.42 | $0.31 | -25.2% | Miss |
| Q4 FY2025 | Revenue | $211.37m | $225.40m | +6.6% | Beat |
| Q4 FY2025 | EPS (normalized) | $0.29 | $0.15 | -48.7% | Miss |
| Q3 FY2025 | Revenue | $192.98m | $215.10m | +11.5% | Beat |
| Q3 FY2025 | EPS (normalized) | $0.32 | $0.35 | +10.6% | Beat |
| Q2 FY2025 | Revenue | $195.32m | $186.90m | -4.3% | Miss |
| Q2 FY2025 | EPS (normalized) | $0.26 | $0.13 | -49.5% | Miss |
| Q1 FY2025 | Revenue | $189.92m | $209.20m | +10.2% | Beat |
| Q1 FY2025 | EPS (normalized) | $0.01 | $0.02 | +44.4% | Beat |
| Q4 FY2024 | Revenue | $168.34m | $183.80m | +9.2% | Beat |
| Q4 FY2024 | EPS (normalized) | $0.11 | $0.54 | +380.8% | Beat |
| Q3 FY2024 | Revenue | $168.34m | $191.30m | +13.6% | Beat |
| Q3 FY2024 | EPS (normalized) | $0.22 | $0.04 | -80.0% | Miss |
| Q2 FY2024 | Revenue | $149.93m | $150.60m | +0.4% | Beat |
| Q2 FY2024 | EPS (normalized) | $0.08 | -$0.10 | -228.3% | Miss |
EBITDA up 12% in FY2027 while free cash flow falls 70% — earnings and cash pull apart
Gross margin holds above 93% from FY2026 onward while EBITDA dips in FY2026 before recovering. The free cash flow row carries no analyst count in this feed, unlike the revenue, EBITDA and GAAP EPS rows beside it.
Currency: USD · Scale: money in millions, absolute · YoY uses the prior fiscal year from the feed; analyst count and range use the first displayed period.
| Metric | FY2025A | FY2026E | FY2027E | FY2028E | YoY | Analysts | Low / high |
|---|---|---|---|---|---|---|---|
| Revenue | $822.93m | $883.87m | $939.81m | $993.95m | — | 6 | $821.65m / $824.75m |
| EBITDA | $143.30m | $142.62m | $160.22m | $168.43m | — | 4 | $141.40m / $145.00m |
| EPS (GAAP) | $0.63 | $0.83 | $0.96 | $0.95 | — | 6 | $0.61 / $0.66 |
| Gross margin | 91.9% | 93.8% | 94.1% | 93.6% | — | — | — |
| Free cash flow | $156.70m | $131.60m | $39.80m | $90.40m | — | — | — |
Five analysts put FY2027 EBITDA anywhere from 138.5 to 187.6 — a spread near a third of the mean
The FY2027 revenue range is about 8% of the mean against 31% for EBITDA — the argument is over profitability, not demand. FY2028 revenue looks tighter partly because only three analysts remain on it.
Currency: USD · Scale: money in millions, absolute · Spread/mean is absolute high-low divided by absolute mean.
| Metric | Period | Mean | Low–high | Spread/mean | Analysts |
|---|---|---|---|---|---|
| EBITDA | FY2027E | $160.22m | $138.50m–$187.59m | 30.6% | 5 |
| Net income (GAAP) | FY2027E | $67.93m | $60.40m–$75.20m | 21.8% | 5 |
| EPS (GAAP) | FY2027E | $0.96 | $0.84–$1.04 | 20.7% | 5 |
| Revenue | FY2028E | $993.95m | $960.80m–$1.03bn | 7.3% | 3 |
Five targets span 9 to 15 around a mean of 12; four buys against one hold and one sell
Currency: USD · Scale: money in millions, absolute · Analyst counts shown explicitly.
| Street view | Reading | Analysts |
|---|---|---|
| Recommendation mix | Buy 4, Outperform 0, Hold 1, Underperform 0, Sell 1 | 6 |
| Consensus score | 2.00 | 6 |
| Target price | mean $12.00; median $12.00; high $15.00; low $9.00 | 5 |