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 % |
|---|---|---|---|---|---|---|
| FY25 | — | — | — | — | $64.8M | — |
| FY24 | — | $4.78 | — | — | $40.2M | — |
| FY23 | — | $6.5 | — | — | $54.6M | — |
| FY22 | — | -$3.24 | — | — | -$26M | — |
| FY21 | — | $4.93 | — | — | $42.4M | — |
| FY20 | — | $2.52 | — | — | $22.4M | — |
| FY19 | — | $7.74 | — | — | $66.8M | — |
| FY18 | — | -$3.24 | — | — | -$26.9M | — |
| FY17 | — | $5.67 | — | — | $49.6M | — |
Reported revenue per period; the line is the change from the same period a year earlier, on its own left axis.
| Period | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 |
|---|---|---|---|---|---|---|---|---|---|
| Revenue | $49.6M | -$26.9M | $66.8M | $22.4M | $42.4M | -$26M | $54.6M | $40.2M | $64.8M |
| YoY change | — | -154.2% | +348.2% | -66.5% | +89.2% | -161.5% | +309.6% | -26.3% | +61.2% |
Reported revenue per period; the line is the change from the same period a year earlier, on its own left axis.
Revenue, gross profit, operating income, and net income per period.
Click a row to chart it; unreported figures show a dash.
| Period | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 |
|---|---|---|---|---|---|---|---|---|---|
| Revenue | 49.6M | -26.9M | 66.8M | 22.4M | 42.4M | -26M | 54.6M | 40.2M | 64.8M |
| Cost of revenue | — | — | — | — | — | — | — | — | — |
| Gross profit | — | — | — | — | — | — | — | — | — |
| Gross margin | — | — | — | — | — | — | — | — | — |
| Research & development | — | — | — | — | — | — | — | — | — |
| Selling, general & administrative | 748.6K | 706.4K | 756.6K | 974.9K | 586.2K | 705.9K | 807.8K | 911.3K | 985.8K |
| Operating expenses | 894.3K | 862.2K | 1.1M | 1.2M | 877.2K | 1M | 935.5K | 1.1M | 985.8K |
| Operating income | — | — | — | — | — | — | — | — | — |
| Operating margin | — | — | — | — | — | — | — | — | — |
| Non-operating income, net | — | — | — | — | — | — | — | — | — |
| Pretax income | 48.7M | -27.8M | 65.7M | 21.2M | 41.5M | -27.1M | 53.6M | 39.2M | 63.8M |
| Income tax | — | — | — | — | — | — | — | — | 4.3M |
| Net income | 48.7M | -27.8M | 65.7M | 21.2M | 41.5M | -27.1M | 53.6M | 39.2M | 59.5M |
| Net margin | 98.2% | 103.2% | 98.4% | 94.6% | 97.9% | 104% | 98.3% | 97.4% | 91.8% |
| EBITDA | — | — | — | — | — | — | — | — | — |
| EPS | 5.67 | -3.24 | 7.74 | 2.52 | 4.93 | -3.24 | 6.5 | 4.78 | — |
| Diluted EPS | 5.67 | -3.24 | 7.74 | 2.52 | 4.93 | -3.24 | 6.5 | 4.78 | — |
Revenue, gross profit, operating income, and net income per period.
Click a row to chart it; unreported figures show a dash.
| Period | Q2 18 |
|---|---|
| Revenue | — |
| Cost of revenue | — |
| Gross profit | — |
| Gross margin | — |
| Research & development | — |
| Selling, general & administrative | — |
| Operating expenses | — |
| Operating income | — |
| Operating margin | — |
| Non-operating income, net | — |
| Pretax income | — |
| Income tax | — |
| Net income | — |
| Net margin | — |
| EBITDA | — |
| EPS | 0 |
| Diluted EPS | 0 |
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 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 |
|---|---|---|---|---|---|---|---|---|---|
| Cash & short-term investments | 173 | 261 | 86.6K | 235.7K | 224.1K | 1.4M | 351.9K | 3.7K | 288.1K |
| Receivables | — | — | — | — | — | — | — | — | — |
| Inventory | — | — | — | — | — | — | — | — | — |
| Total current assets | — | — | — | — | — | — | — | — | — |
| Property, plant & equipment | — | — | — | — | — | — | — | — | — |
| Goodwill & intangibles | — | — | — | — | — | — | — | — | — |
| Total assets | — | — | — | — | — | 337.5M | 363M | 379.4M | 402.6M |
| Accounts payable | 523.3K | 3.4M | 8.9M | 5.6M | 5.6M | 2.3M | 2.1M | 22M | 307.9K |
| Short-term debt | — | — | — | — | — | — | — | — | — |
| Total current liabilities | — | — | — | — | — | — | — | — | — |
| Long-term debt | — | — | — | — | — | — | — | — | — |
| Total liabilities | — | — | — | — | — | 2.7M | 2.6M | 22.5M | 5.3M |
| Shareholders' equity | 388.3M | 321.9M | 376.7M | 381.9M | 382.8M | 334.8M | 360.4M | 357M | 397.3M |
| Total debt | — | — | — | — | — | — | — | — | — |
| Net debt | — | — | — | — | — | — | — | — | — |
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 | Q2 18 |
|---|---|
| Cash & short-term investments | 418 |
| Receivables | — |
| Inventory | — |
| Total current assets | — |
| Property, plant & equipment | — |
| Goodwill & intangibles | — |
| Total assets | — |
| Accounts payable | 3.5M |
| Short-term debt | — |
| Total current liabilities | — |
| Long-term debt | — |
| Total liabilities | — |
| Shareholders' equity | 381.8M |
| Total debt | — |
| Net debt | — |
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 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|---|
| Market cap | 350.2M | 279M | 328.5M | 335.2M | 363.6M | 323.2M | 333.2M | 356.3M | — | — |
| Enterprise value | 350.2M | 279M | 328.4M | 335M | 363.4M | 321.8M | 332.9M | 356.3M | — | — |
| Shares outstanding | 8.6M | 8.6M | 8.5M | 8.4M | 8.4M | 8.4M | 8.3M | 8.2M | — | — |
| Metric | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|---|
| P/E | 7.19 | — | 5 | 15.8 | 8.76 | — | 6.21 | 9.1 | — | — |
| P/S | 7.06 | -10.4 | 4.92 | 15 | 8.58 | -12.4 | 6.11 | 8.86 | — | — |
| P/B | 0.9 | 0.87 | 0.87 | 0.88 | 0.95 | 0.97 | 0.92 | 1 | — | — |
| EV/Sales | 7.06 | -10.4 | 4.92 | 15 | 8.58 | -12.4 | 6.1 | 8.86 | — | — |
| Earnings yield | 13.9% | — | 20% | 6.31% | 11.4% | — | 16.1% | 11% | — | — |
| Metric | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|---|
| Net margin | 98.2% | 103.2% | 98.4% | 94.6% | 97.9% | 104% | 98.3% | 97.4% | 91.8% | 91.8% |
| ROE | 12.5% | -8.63% | 17.4% | 5.54% | 10.8% | -8.09% | 14.9% | 11% | 15% | 15% |
| ROA | — | — | — | — | — | -8.02% | 14.8% | 10.3% | 14.8% | 14.8% |
| Return on tangible assets | — | — | — | — | — | -8.02% | 14.8% | 10.3% | 14.8% | 14.8% |
| Metric | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|---|
| Effective tax rate | — | — | — | — | — | — | — | — | 6.79% | 6.79% |
| Metric | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue per share | 5.77 | -3.14 | 7.87 | 2.67 | 5.03 | -3.11 | 6.61 | 4.91 | — | — |
| EPS (basic) | 5.67 | -3.24 | 7.74 | 2.52 | 4.93 | -3.24 | 6.5 | 4.78 | — | — |
| EPS (diluted) | 5.67 | -3.24 | 7.74 | 2.52 | 4.93 | -3.24 | 6.5 | 4.78 | — | — |
| Book value per share | 45.2 | 37.6 | 44.4 | 45.5 | 45.5 | 40.1 | 43.7 | 43.6 | — | — |
| Cash per share | 0 | 0 | 0.01 | 0.03 | 0.03 | 0.17 | 0.04 | 0 | — | — |
Split-adjusted payout per share by ex-dividend date.
| Ex-dividend | Amount |
|---|---|
| Sep 16, 2026 | $0.208 |
| Aug 13, 2026 | $0.208 |
| Jul 15, 2026 | $0.208 |
| Period |
|---|
| Q2 18 |
|---|
| Revenue | — |
| YoY change | — |
| Jun 16, 2026 |
| $0.208 |
| May 14, 2026 | $0.208 |
| Apr 15, 2026 | $0.208 |
| Mar 13, 2026 | $0.208 |
| Feb 13, 2026 | $0.208 |