Overview
Key stats
Fundamentals Sep 9- Open
- $18.90
- 52-wk high
- $21.08
- High
- $19.22
- 52-wk low
- $13.59
- Low
- $18.84
- Prev close
- $18.97
- Mkt cap
- $270.4M
- P/E
- 10.8x
- Volume
- 20.2K
- Fwd P/E
- 13.1x
- Beta
- 0.56
- Div yield
- 4.51%
- P/S
- 2.9x
- P/B
- 1.0x
- Profit margin
- +26.7%
- Op margin
- +39.2%
- ROE
- +9.0%
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 insiders are doing
4 trades · 6 mo
Bought$32K
Earnings
Results versus expectations
No earnings history on record for this stock yet.
The next reported quarter will appear here
Reports Oct 22, 2026, in 42 days
EPS expected
$0.47
$0.47 to $0.48
Revenue expected
$19.2M
2 analysts
Last 30 days
2up0down
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 | $32.0M | $30.8M | $30.1M | $31.7M |
| Cost of what it sold | $8.4M | $8.4M | $8.9M | $6.8M |
| Gross profit | $23.6M | $22.3M | $21.2M | $24.9M |
| What it spent | ||||
| Sales and admin | $9.0M | $10.0M | $9.7M | $10.8M |
| Other operating costs | $6.1M | $5.3M | $6.1M | $4.4M |
| Total operating expenses | $15.1M | $15.4M | $15.9M | $15.2M |
| What was left | ||||
| Operating profit | $8.5M | $7.0M | $5.3M | $9.7M |
| Interest on debt | $8.2M | $6.9M | $6.6M | $6.5M |
| Profit before tax | $8.5M | $7.0M | $5.3M | $9.2M |
| Tax | $1.5M | $1.3M | $877.0K | $1.7M |
| Net profit | $6.9M | $5.7M | $4.4M | $7.5M |
| EBITDA | $10.2M | $7.1M | $5.5M | $9.7M |
Technicals
Price structure
This stock is under pressure.
Trend
Under pressure
25 / 100
RSI 14
40balanced
20D volatility
22%annualized
52-week range
$13.59$21.08
20D support
$18.77recent floor
20D resistance
$20.10recent ceiling
Returns
5D +0.7%20D -3.0%60D +10.0%
Price vs moving averages
SMA20 -1.8%SMA50 -0.4%SMA200 +12.3%
Volume pace
0.50xvs prior 20D