Overview
Key stats
Fundamentals Sep 9- Open
- $101.73
- 52-wk high
- $153.69
- High
- $103.74
- 52-wk low
- $71.88
- Low
- $100.00
- Prev close
- $103.40
- Mkt cap
- $5.58B
- P/E
- 15.4x
- Volume
- 335.5K
- Fwd P/E
- 14.4x
- Beta
- 1.20
- Div yield
- 2.15%
- P/S
- 6.5x
- P/B
- 4.8x
- Profit margin
- +32.1%
- Op margin
- +45.9%
- ROE
- +32.4%
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 buying.
What funds are doing
11 moves · 6 mo
Buys/Adds$397.6MSells/Trims$237.9M
Earnings
Earnings came in 27.6% above what analysts expected.
Earnings per share
$1.94+27.6%
$1.52 expected
Reports Nov 3, 2026, in 54 days
EPS expected
$1.75
$1.50 to $2.28
Revenue expected
$225.7M
4 analysts
Last 30 days
0up3down
Analysts cutting estimates
Estimate drift
+0.25
Change in 30 days
Financials
What it sold, what it cost, what was left.
Sep 2025Dec 2025Mar 2026Jun 2026
| USD | Sep 2025 | Dec 2025 | Mar 2026 | Jun 2026 |
|---|---|---|---|---|
| What came in | ||||
| Revenue | $190.9M | $198.6M | $193.6M | $275.3M |
| Cost of what it sold | $55.7M | $60.9M | $58.5M | $83.3M |
| Gross profit | $135.1M | $137.7M | $135.1M | $192.0M |
| What it spent | ||||
| Sales and admin | $55.4M | $51.7M | $52.8M | $65.5M |
| Total operating expenses | $55.4M | $51.7M | $52.8M | $65.5M |
| What was left | ||||
| Operating profit | $79.7M | $86.0M | $82.2M | $126.5M |
| Interest on debt | $3.8M | $3.7M | $3.6M | $3.5M |
| Profit before tax | $117.6M | $120.0M | $129.8M | $150.0M |
| Tax | $14.0M | $27.3M | $15.6M | $25.1M |
| Net profit | $70.9M | $58.4M | $66.2M | $80.5M |
| EBITDA | $123.9M | $126.2M | $135.8M | $156.0M |
Technicals
Price structure
This stock's price action is mixed.
Trend
Mixed
55 / 100
RSI 14
55balanced
20D volatility
39%annualized
52-week range
$71.88$153.69
20D support
$98.67recent floor
20D resistance
$109.88recent ceiling
Returns
5D -2.8%20D +2.0%60D +32.9%
Price vs moving averages
SMA20 -1.3%SMA50 +10.6%SMA200 -2.4%
Volume pace
0.71xvs prior 20D