Overview
Key stats
Fundamentals Sep 10- Open
- $23.13
- 52-wk high
- $24.74
- High
- $23.28
- 52-wk low
- $14.53
- Low
- $22.94
- Prev close
- $23.19
- Mkt cap
- $771.9M
- P/E
- 11.7x
- Volume
- 147.7K
- Fwd P/E
- 10.1x
- Beta
- 0.80
- Div yield
- 2.16%
- P/S
- 3.4x
- P/B
- 1.3x
- Profit margin
- +28.7%
- Op margin
- +46.5%
- ROE
- +11.2%
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 20.0% above what analysts expected.
Earnings per share
$0.60+20.0%
$0.50 expected
Reports Oct 22, 2026, in 42 days
EPS expected
$0.54
$0.53 to $0.55
Revenue expected
$61.1M
2 analysts
Last 30 days
3up0down
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 | $84.9M | $88.8M | $85.6M | $86.8M |
| Cost of what it sold | $31.5M | $32.5M | $25.9M | $25.9M |
| Gross profit | $53.4M | $56.3M | $59.7M | $60.9M |
| What it spent | ||||
| Sales and admin | $20.4M | $27.4M | $23.1M | $28.8M |
| Other operating costs | $14.0M | $8.1M | $14.0M | $6.9M |
| Total operating expenses | $34.4M | $35.5M | $37.1M | $35.7M |
| What was left | ||||
| Operating profit | $19.0M | $20.8M | $22.7M | $25.2M |
| Interest on debt | $28.5M | $29.7M | $25.8M | $25.8M |
| Profit before tax | $19.0M | $20.8M | $22.7M | $25.2M |
| Tax | $4.6M | $4.9M | $5.6M | $6.3M |
| Net profit | $14.3M | $15.9M | $17.1M | $18.9M |
| EBITDA | $22.6M | $24.4M | $26.2M | $28.8M |
Technicals
Price structure
This stock's price action is mixed.
Trend
Mixed
40 / 100
RSI 14
54balanced
20D volatility
18%annualized
52-week range
$14.53$24.74
20D support
$21.78recent floor
20D resistance
$24.28recent ceiling
Returns
5D +2.3%20D -2.3%60D +2.0%
Price vs moving averages
SMA20 -0.4%SMA50 -0.6%SMA200 +15.8%
Volume pace
0.70xvs prior 20D