Overview
Key stats
Fundamentals Sep 10- Open
- $79.07
- 52-wk high
- $82.91
- High
- $79.65
- 52-wk low
- $52.73
- Low
- $78.46
- Prev close
- $79.49
- Mkt cap
- $858.7M
- P/E
- 13.1x
- Volume
- 60.4K
- Fwd P/E
- 12.1x
- Beta
- 0.51
- Div yield
- 2.16%
- P/S
- 3.8x
- P/B
- 1.4x
- Profit margin
- +29.7%
- Op margin
- +34.7%
- ROE
- +10.6%
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
7 trades · 6 mo
Sold$1.9M
Earnings
Earnings came in 13.8% above what analysts expected.
Earnings per share
$1.57+13.8%
$1.38 expected
Reports Oct 14, 2026, in 34 days
EPS expected
$1.39
$1.39 to $1.39
Revenue expected
$56.1M
1 analysts
Last 30 days
1up1down
Split both ways
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 | $86.5M | $80.8M | $71.2M | $79.9M |
| Cost of what it sold | $27.9M | $25.2M | $22.8M | $23.0M |
| Gross profit | $58.6M | $55.6M | $48.3M | $56.9M |
| What it spent | ||||
| Sales and admin | $27.4M | $29.1M | $34.7M | $31.4M |
| Other operating costs | $9.1M | $7.0M | — | $6.9M |
| Total operating expenses | $36.5M | $36.1M | $34.8M | $38.3M |
| What was left | ||||
| Operating profit | $22.1M | $19.5M | $13.5M | $18.6M |
| Interest on debt | $28.3M | $24.3M | $22.8M | $23.0M |
| Profit before tax | $22.1M | $19.5M | $21.5M | $18.6M |
| Tax | $4.3M | $3.2M | $4.0M | $2.8M |
| Net profit | $17.8M | $16.3M | $17.5M | $15.8M |
| EBITDA | $24.2M | $21.7M | $13.6M | $20.9M |
Technicals
Price structure
This stock's price action is mixed.
Trend
Mixed
40 / 100
RSI 14
52balanced
20D volatility
14%annualized
52-week range
$52.73$82.91
20D support
$77.24recent floor
20D resistance
$82.00recent ceiling
Returns
5D +1.1%20D -1.9%60D +4.4%
Price vs moving averages
SMA20 -0.7%SMA50 -0.6%SMA200 +14.9%
Volume pace
0.77xvs prior 20D