Overview
Key stats
Fundamentals Sep 10- Open
- $143.66
- 52-wk high
- $148.99
- High
- $144.41
- 52-wk low
- $111.71
- Low
- $143.02
- Prev close
- $144.64
- Mkt cap
- $2.02B
- P/E
- 15.9x
- Volume
- 100.8K
- Fwd P/E
- 16.4x
- Beta
- 0.47
- Div yield
- 2.41%
- P/S
- 6.3x
- P/B
- 2.5x
- Profit margin
- +41.1%
- Op margin
- +51.9%
- ROE
- +16.8%
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
Earnings
Earnings came in 2.8% above what analysts expected.
Earnings per share
$2.20+2.8%
$2.14 expected
Reports Oct 21, 2026, in 41 days
EPS expected
$2.35
$2.29 to $2.40
Revenue expected
$82.9M
3 analysts
Last 30 days
4up1down
Analysts raising estimates
Estimate drift
0.01
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 | $100.0M | $101.1M | $98.4M | $80.2M |
| Cost of what it sold | $20.5M | $20.9M | $19.8M | $19.5M |
| Gross profit | $79.5M | $80.2M | $78.6M | $60.8M |
| What it spent | ||||
| Sales and admin | $20.5M | $20.2M | $26.5M | $39.8M |
| Other operating costs | $15.1M | $19.4M | $12.9M | $436.0K |
| Total operating expenses | $35.7M | $39.6M | $39.4M | $40.2M |
| What was left | ||||
| Operating profit | $43.8M | $40.6M | $39.3M | $20.6M |
| Interest on debt | $21.0M | $20.9M | $19.2M | $19.5M |
| Profit before tax | $43.8M | $39.5M | $39.3M | $41.3M |
| Tax | $8.7M | $8.0M | $7.5M | $8.0M |
| Net profit | $35.2M | $31.6M | $31.7M | $33.3M |
| EBITDA | $45.8M | $43.2M | $40.4M | $46.0M |
Technicals
Price structure
This stock is trending upward.
Trend
Constructive
60 / 100
RSI 14
54balanced
20D volatility
12%annualized
52-week range
$111.71$148.99
20D support
$141.72recent floor
20D resistance
$148.99recent ceiling
Returns
5D +1.2%20D -1.6%60D +10.8%
Price vs moving averages
SMA20 -0.5%SMA50 +2.0%SMA200 +13.5%
Volume pace
0.68xvs prior 20D