Overview
Key stats
Fundamentals Sep 10- Open
- $58.08
- 52-wk high
- $63.10
- High
- $58.58
- 52-wk low
- $43.36
- Low
- $57.90
- Prev close
- $58.45
- Mkt cap
- $1.35B
- P/E
- 12.9x
- Volume
- 154.2K
- Fwd P/E
- 21.1x
- Beta
- 0.55
- Div yield
- 3.18%
- P/S
- 5.3x
- P/B
- 1.6x
- Profit margin
- +43.9%
- Op margin
- +60.3%
- ROE
- +12.5%
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 6.4% above what analysts expected.
Earnings per share
$1.17+6.4%
$1.10 expected
Reports Oct 15, 2026, in 35 days
EPS expected
$1.17
$1.13 to $1.20
Revenue expected
$63.1M
1 analysts
Last 30 days
2up0down
Analysts raising estimates
Estimate drift
+0.06
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 | $67.5M | $66.8M | $65.4M | $66.1M |
| Cost of what it sold | $3.6M | $3.5M | $3.0M | $3.3M |
| Gross profit | $63.8M | $63.3M | $62.4M | $62.8M |
| What it spent | ||||
| Sales and admin | $21.7M | $24.6M | $17.8M | $17.8M |
| Other operating costs | $4.1M | $891.0K | $8.2M | $8.3M |
| Total operating expenses | $25.8M | $25.5M | $25.9M | $26.0M |
| What was left | ||||
| Operating profit | $37.9M | $37.8M | $36.5M | $36.7M |
| Interest on debt | $3.6M | $3.5M | $3.3M | $3.3M |
| Profit before tax | $37.9M | $37.8M | $36.5M | $36.7M |
| Tax | $9.7M | $10.0M | $9.1M | $9.3M |
| Net profit | $28.3M | $27.8M | $27.4M | $27.4M |
| EBITDA | $39.8M | $39.0M | $37.4M | $36.7M |
Technicals
Price structure
This stock's price action is mixed.
Trend
Mixed
40 / 100
RSI 14
52balanced
20D volatility
12%annualized
52-week range
$43.36$63.10
20D support
$55.22recent floor
20D resistance
$60.73recent ceiling
Returns
5D +0.2%20D -1.0%60D +1.0%
Price vs moving averages
SMA20 -0.7%SMA50 -1.4%SMA200 +9.4%
Volume pace
0.70xvs prior 20D