Reported per-share earnings by fiscal year; the line turns dotted where reported figures end and the analyst consensus begins, with the shaded band marking the low–high range.
Reported revenue by fiscal year; the line turns dotted where reported figures end and the analyst consensus begins, with the shaded band marking the low–high range.
Periods without a consensus estimate or a reported figure show a dash.
| Period | EPS estimate | EPS actual | EPS surprise % | Revenue estimate | Revenue actual | Revenue surprise % |
|---|---|---|---|---|---|---|
| FY22 | — | — | — | — | $302.6M | — |
| FY21 | — | $0.92 | — | — | $260.9M | — |
| FY20 | — | $1.23 | — | — | $279.7M | — |
| FY19 | — | $1.42 | — | — | $271.6M | — |
Reported revenue per period; the line is the change from the same period a year earlier, on its own left axis.
| Period | FY19 | FY20 | FY21 | FY22 |
|---|---|---|---|---|
| Revenue | $271.6M | $279.7M | $260.9M | $302.6M |
| YoY change | — | +2.95% | -6.72% | +16% |
Revenue, gross profit, operating income, and net income per period.
Click a row to chart it; unreported figures show a dash.
| Period | FY19 | FY20 | FY21 | FY22 |
|---|---|---|---|---|
| Revenue | 271.6M | 279.7M | 260.9M | 302.6M |
| Cost of revenue | 135.2M | 140.4M | 125M | 149.3M |
| Gross profit | 136.4M | 139.3M | 135.9M | 153.3M |
| Gross margin | 50.2% | 49.8% | 52.1% | 50.7% |
| Research & development | — | — | — | — |
| Selling, general & administrative | 29.8M | — | — | — |
| Operating expenses | 61.4M | 41.8M | 31.5M | 38.7M |
| Operating income | 48.4M | 34.8M | 37.4M | 38.3M |
| Operating margin | 17.8% | 12.5% | 14.4% | 12.7% |
| Non-operating income, net | — | — | — | — |
| Pretax income | 44.8M | 37.5M | 27.7M | 50.8M |
| Income tax | 13.8M | 10.7M | 7.2M | 14.2M |
| Net income | 31M | 26.8M | 20.5M | 36.6M |
| Net margin | 11.4% | 9.6% | 7.86% | 12.1% |
| EBITDA | 59.8M | 49.7M | 54.1M | 74.1M |
| EPS | 1.42 | 1.23 | 0.92 | — |
| Diluted EPS | 1.42 | 1.23 | 0.92 | — |
What the company owns (left stack) against what it owes plus shareholders' equity (right stack). The two stacks should match — that's the balance.
Click a row to chart it; unreported figures show a dash.
| Period | FY19 | FY20 | FY21 | FY22 |
|---|---|---|---|---|
| Cash & short-term investments | 56.1M | 82M | 94.6M | 97.6M |
| Receivables | 51.8M | 52.2M | 47.9M | 78.5M |
| Inventory | 230M | 267M | 256.6M | 277.1M |
| Total current assets | 346.2M | 410.4M | 411.5M | 460.5M |
| Property, plant & equipment | 46.5M | 58.9M | — | — |
| Goodwill & intangibles | 182M | 182.6M | 180.9M | 212M |
| Total assets | 555.2M | 668.3M | 659.7M | 735M |
| Accounts payable | 27.5M | 21.7M | 18.7M | 25.9M |
| Short-term debt | 98.8M | 199.5M | 153.5M | 155.3M |
| Total current liabilities | 146.2M | 241.9M | 191M | 218M |
| Long-term debt | 54.3M | 51.3M | 79.2M | 79.1M |
| Total liabilities | 200.5M | 293.2M | 270.2M | 297.1M |
| Shareholders' equity | 39.4M | 35.3M | 375.4M | 403.4M |
| Total debt | 153.1M | 250.7M | 232.6M | 234.4M |
| Net debt | 97M | 168.7M | 138M | 136.9M |
Cash from operations, what's left after capex, and what went back to shareholders. Bars below the line are cash going out.
Click a row to chart it; unreported figures show a dash.
| Period | FY19 | FY20 |
|---|---|---|
| Net income | 31M | 26.8M |
| Depreciation & amortization | — | — |
| Stock-based compensation | — | — |
| Change in working capital | -32.5M | -44.8M |
| Operating cash flow | -2.3M | -16.8M |
| Capital expenditure | -36.4M | -49.3M |
| Investing cash flow | -54.4M | -48.3M |
| Dividends paid | -7.6M | -7.6M |
| Share repurchases | — | — |
| Financing cash flow | 30.6M | 85.3M |
| Net change in cash | -26.1M | 20.2M |
| Free cash flow | -31.6M | -60.3M |
Annual history by fiscal year; click a table row below to chart a different metric.
Current values are trailing twelve months where available, otherwise the latest fiscal year; unreported figures show a dash.
| Metric | FY19 | FY20 | FY21 | FY22 | Current |
|---|---|---|---|---|---|
| Shares outstanding | 21.7M | 21.7M | 21.8M | — | — |
| Metric | FY19 | FY20 | FY21 | FY22 | Current |
|---|---|---|---|---|---|
| Gross margin | 50.2% | 49.8% | 52.1% | 50.7% | 50.7% |
| Operating margin | 17.8% | 12.5% | 14.4% | 12.7% | 12.7% |
| Net margin | 11.4% | 9.6% | 7.86% | 12.1% | 12.1% |
| ROE | 78.7% | 76% | 5.46% | 9.07% | 9.07% |
| ROA | 5.59% | 4.02% | 3.11% | 4.98% | 4.98% |
| ROIC | 24.6% | 12.2% | 5.4% | 5.11% | 5.11% |
| Return on tangible assets | 8.31% | 5.53% | 4.28% | 7% | 7% |
| Metric | FY19 | FY20 | FY21 | FY22 | Current |
|---|---|---|---|---|---|
| Current ratio | 2.37 | 1.7 | 2.15 | 2.11 | 2.11 |
| Quick ratio | 0.79 | 0.59 | 0.81 | 0.84 | 0.84 |
| Debt / equity | 3.88 | 7.1 | 0.62 | 0.58 | 0.58 |
| Debt / assets | 0.28 | 0.38 | 0.35 | 0.32 | 0.32 |
| Net debt / EBITDA | 1.62 | 3.4 | 2.55 | 1.85 | 1.85 |
| Effective tax rate | 30.7% | 28.5% | 25.9% | 27.9% | 27.9% |
| Metric | FY19 | FY20 | FY21 | FY22 | Current |
|---|---|---|---|---|---|
| Revenue per share | 12.5 | 12.9 | 12 | — | — |
| EPS (basic) | 1.42 | 1.23 | 0.92 | — | — |
| EPS (diluted) | 1.42 | 1.23 | 0.92 | — | — |
| Book value per share | 1.82 | 1.63 | 17.2 | — | — |
| FCF per share | -1.46 | -2.78 | — | — | — |
| Cash per share | 2.59 | 3.78 | 4.34 | — | — |
| Capex per share | 1.68 | 2.28 | — | — | — |
| Metric | FY19 | FY20 | FY21 | FY22 | Current |
|---|---|---|---|---|---|
| Capex / revenue | 13.4% | 17.6% | — | — | — |
| Capex / operating cash flow | -1.6K% | -294.1% | — | — | — |
| Payout ratio | 24.6% | 28.4% | — | — | — |
Split-adjusted payout per share by ex-dividend date.
| Ex-dividend | Amount |
|---|---|
| Nov 8, 2022 | $0.40 |