Overview
Key stats
Fundamentals Sep 10- Open
- $146.48
- 52-wk high
- $186.78
- High
- $149.74
- 52-wk low
- $84.88
- Low
- $144.20
- Prev close
- $147.64
- Mkt cap
- $2.38B
- P/E
- 22.5x
- Volume
- 147.5K
- Fwd P/E
- 14.3x
- Beta
- 0.07
- P/S
- 1.3x
- P/B
- 6.1x
- Profit margin
- +6.5%
- Op margin
- +11.7%
- ROE
- +26.9%
What do analysts expect?
Analyst target and ratings are on paid plans
See the 12-month consensus target and the buy/hold/sell rating split.
Unlock the full resultsSmart money
8 funds hold a position and insiders have been net selling.
What insiders are doing
9 trades · 6 mo
Sold$4.7M
Earnings
Earnings came in 15.5% above what analysts expected.
Earnings per share
$2.46+15.5%
$2.13 expected
Reports Oct 27, 2026, in 47 days
EPS expected
$2.43
$2.31 to $2.54
Revenue expected
$467.7M
5 analysts
Last 30 days
2up3down
Analysts cutting estimates
Estimate drift
0.01
Change in 30 days
Financials
What it sold, what it cost, what was left.
Jun 2025Sep 2025Dec 2025Mar 2026
| USD | Jun 2025 | Sep 2025 | Dec 2025 | Mar 2026 |
|---|---|---|---|---|
| What came in | ||||
| Revenue | $402.5M | $441.3M | $442.0M | $451.8M |
| Cost of what it sold | $269.0M | $306.5M | $305.1M | $326.0M |
| Gross profit | $133.5M | $134.8M | $136.9M | $125.8M |
| What it spent | ||||
| Sales and admin | $80.2M | $81.3M | $79.9M | $84.7M |
| Other operating costs | $7.6M | -$2.4M | -$1.3M | — |
| Total operating expenses | $87.8M | $78.9M | $78.6M | $84.2M |
| What was left | ||||
| Operating profit | $45.7M | $55.9M | $58.3M | $41.6M |
| Interest on debt | $9.3M | $11.0M | $8.3M | $8.9M |
| Profit before tax | $27.7M | $42.6M | $43.3M | $27.1M |
| Tax | $8.3M | $12.2M | $12.6M | $3.8M |
| Net profit | $19.4M | $30.4M | $30.7M | $23.2M |
| EBITDA | $53.3M | $62.4M | $60.5M | $45.7M |
Technicals
Price structure
This stock's price action is mixed.
Trend
Mixed
45 / 100
RSI 14
35balanced
20D volatility
37%annualized
52-week range
$84.88$186.78
20D support
$143.18recent floor
20D resistance
$165.37recent ceiling
Returns
5D -4.9%20D -2.0%60D +36.8%
Price vs moving averages
SMA20 -4.1%SMA50 +9.5%SMA200 +7.5%
Volume pace
0.52xvs prior 20D