Overview
Key stats
Fundamentals Sep 10- Open
- $20.47
- 52-wk high
- $23.07
- High
- $20.47
- 52-wk low
- $11.10
- Low
- $20.19
- Prev close
- $20.63
- Mkt cap
- $278.1M
- P/E
- 12.1x
- Volume
- 21.8K
- Fwd P/E
- 15.8x
- Beta
- 0.59
- Div yield
- 2.92%
- P/S
- 1.1x
- P/B
- 1.6x
- Profit margin
- +9.5%
- Op margin
- +20.7%
- ROE
- +13.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 77.8% above what analysts expected.
Earnings per share
$0.32+77.8%
$0.18 expected
Reports Oct 29, 2026, in 49 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 | $67.8M | $62.6M | $55.8M | $57.7M |
| Cost of what it sold | $49.3M | $45.8M | $39.2M | $42.6M |
| Gross profit | $18.5M | $16.8M | $16.6M | $15.1M |
| What it spent | ||||
| Sales and admin | $11.2M | $11.6M | $10.7M | $12.5M |
| Other operating costs | — | — | — | -$9.3M |
| Total operating expenses | $11.2M | $11.6M | $10.7M | $3.2M |
| What was left | ||||
| Operating profit | $7.3M | $5.2M | $5.8M | $11.9M |
| Interest on debt | $204.0K | $175.0K | $188.0K | $176.0K |
| Profit before tax | $7.1M | $5.0M | $5.7M | $12.2M |
| Tax | $1.6M | $1.3M | $1.4M | $2.8M |
| Net profit | $5.6M | $3.7M | $4.4M | $9.4M |
| EBITDA | $8.6M | $6.5M | $7.2M | $13.0M |
Technicals
Price structure
This stock's price action is mixed.
Trend
Mixed
45 / 100
RSI 14
42balanced
20D volatility
27%annualized
52-week range
$11.10$23.07
20D support
$19.60recent floor
20D resistance
$21.36recent ceiling
Returns
5D +0.4%20D -2.7%60D +9.3%
Price vs moving averages
SMA20 -1.1%SMA50 +1.2%SMA200 +19.7%
Volume pace
0.67xvs prior 20D