Overview
Key stats
Fundamentals Sep 10- Open
- $39.06
- 52-wk high
- $42.99
- High
- $39.19
- 52-wk low
- $25.94
- Low
- $37.74
- Prev close
- $39.41
- Mkt cap
- $495.9M
- P/E
- 11.6x
- Volume
- 106.3K
- Fwd P/E
- 11.1x
- Beta
- 0.72
- P/S
- 0.8x
- P/B
- 3.1x
- Profit margin
- +7.5%
- Op margin
- +9.8%
- ROE
- +33.1%
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
6 trades · 6 mo
Sold$1.2M
Earnings
Results versus expectations
The latest quarter is still settling.
A verdict appears once the reported figure is final
Reports Sep 10, 2026, today
EPS expected
$0.86
$0.86 to $0.87
Revenue expected
$161.4M
2 analysts
Last 30 days
0up1down
Analysts cutting estimates
Estimate drift
0.02
Change in 30 days
Financials
What it sold, what it cost, what was left.
Jun 2025Sep 2025Dec 2025Mar 2026
| USD | Jun 2025 | Sep 2025 | Dec 2025 | Mar 2026 |
|---|---|---|---|---|
| What came in | ||||
| Revenue | $147.1M | $151.2M | $164.2M | $164.4M |
| Cost of what it sold | $100.9M | $106.6M | $121.4M | $120.8M |
| Gross profit | $46.3M | $44.6M | $42.8M | $43.6M |
| What it spent | ||||
| Sales and admin | $29.8M | $26.5M | $27.6M | $27.5M |
| Other operating costs | $4.2M | $4.4M | — | — |
| Total operating expenses | $34.0M | $30.9M | $27.6M | $27.5M |
| What was left | ||||
| Operating profit | $12.3M | $13.7M | $15.3M | $16.2M |
| Interest on debt | $448.0K | $217.0K | $248.0K | $249.0K |
| Profit before tax | $11.8M | $13.5M | $15.1M | $16.0M |
| Tax | $2.2M | $1.5M | $2.9M | $2.6M |
| Net profit | $9.6M | $12.0M | $12.2M | $13.3M |
| EBITDA | $16.5M | $18.1M | $20.1M | $21.4M |
Technicals
Price structure
This stock is in a strong uptrend, and looks overbought after a fast run-up.
Trend
Strong uptrend
85 / 100
RSI 14
84overbought
20D volatility
28%annualized
52-week range
$25.94$42.99
20D support
$34.00recent floor
20D resistance
$39.86recent ceiling
Returns
5D +2.8%20D +5.2%60D +27.2%
Price vs moving averages
SMA20 +5.9%SMA50 +11.2%SMA200 +18.8%
Volume pace
1.16xvs prior 20D