Hollow marker is the consensus estimate; filled is the reported figure, colored by beat or miss.
Outlined bar is the consensus estimate; solid is reported.
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 % |
|---|---|---|---|---|---|---|
| Q3 14 | $0.51 | $0.39 | -23.5% | — | $6.9M | — |
| Q2 14 | $0.43 | $0.52 | +20.9% | — | $9.2M | — |
| Q1 14 | $0.48 | $0.57 | +18.7% | — | $9.9M | — |
| Q4 13 | $0.56 | $0.53 | -5.4% | — | $9.1M | — |
| Q2 13 | $0.51 | $0.48 | -5.9% | — | $8.5M | — |
| Q1 13 | $0.5 | $0.26 | -48.0% | — | $4.4M | — |
| Q4 12 | $0.42 | $0.26 | -38.1% | — | $8M | — |
| Q3 12 | $0.56 | $0.46 | -17.9% | — | $10.6M | — |
| Q2 12 | $0.61 | $0.6 | -1.6% | — | $11.9M | — |
| Q1 12 | $0.34 | $0.44 | +29.4% | — | $7.6M | — |
| Q4 11 | $0.55 | $0.35 | -36.4% | — | $9.7M | — |
| Q3 11 | $0.53 | $0.86 | +62.3% | — | $15.1M | — |
| Q2 11 | $0.57 | $0.86 | +50.9% | — | — | — |
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 | — | $0.43 | — | — | $8.6M | — |
| FY24 | — | $0.73 | — | — | $13.6M | — |
| FY23 | — | $0.9 | — | — | $16.5M | — |
| FY22 | — | $1.27 | — | — | $23.6M | — |
| FY21 |
Reported revenue per period; the line is the change from the same period a year earlier, on its own left axis.
| Period | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | $5.7M | $9.2M | $12.9M | $12.7M | $5M | $9.3M | $23.6M | $16.5M | $13.6M | $8.6M |
| YoY change | -33.4% | +60.2% | +40.5% | -2.14% | -60.5% | +85.8% | +153.6% | -30.2% | -17.2% | -36.7% |
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 | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 |
|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | 5.7M | 9.2M | 12.9M | 12.7M | 5M | 9.3M | 23.6M | 16.5M | 13.6M | 8.6M |
| Cost of revenue | — | — | — | — | — | — | — | — | — | — |
| Gross profit | — | — | — | — | — | — | — | — | — | — |
| Gross margin | — | — | — | — | — | — | — | — | — | — |
| Research & development | — | — | — | — | — | — | — | — | — | — |
| Selling, general & administrative | 917.7K | 716.1K | 825.1K | 880.8K | 904.4K | 948.1K | 957.4K | 1.1M | 897.3K | 943K |
| Operating expenses | 904.8K | 794K | 868.7K | 846.8K | 1.2M | 632.3K | 1.9M | 1.2M | 1.2M | 1.2M |
| Operating income | 4.8M | 8.4M | 12.1M | 11.8M | 3.8M | 8.7M | 21.7M | 15.2M | 12.4M | 7.4M |
| Operating margin | 84.3% | 91.4% | 93.3% | 93.3% | 76.4% | 93.2% | 91.9% | 92.4% | 91.1% | 85.8% |
| Non-operating income, net | — | — | — | — | — | — | — | — | — | — |
| Pretax income | 4.8M | 8.4M | 12.1M | 11.8M | 3.8M | 8.7M | 21.7M | 15.2M | 12.4M | 7.4M |
| Income tax | — | — | — | — | — | — | — | — | — | — |
| Net income | 4.8M | 8.4M | 12.1M | 11.8M | 3.8M | 8.7M | 21.7M | 15.2M | 12.4M | 7.4M |
| Net margin | 84.3% | 91.4% | 93.3% | 93.3% | 76.4% | 93.2% | 91.9% | 92.4% | 91.1% | 85.8% |
| EBITDA | 4.8M | 8.4M | 12.1M | 11.8M | 3.8M | 8.7M | 21.7M | 15.2M | 12.4M | 7.4M |
| EPS | 0.28 | 0.49 | 0.71 | 0.69 | 0.23 | 0.51 | 1.27 | 0.9 | 0.73 | 0.43 |
| Diluted EPS | 0.28 | 0.49 | 0.71 | 0.69 | 0.23 | 0.51 | 1.27 | 0.9 | 0.73 | 0.43 |
Revenue, gross profit, operating income, and net income per period.
Click a row to chart it; unreported figures show a dash.
| Period | Q3 23 | Q4 23 | Q1 24 | Q2 24 | Q3 24 | Q4 24 | Q1 25 | Q2 25 | Q3 25 | Q4 25 | Q1 26 | Q2 26 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | — | 4.1M | — | — | — | 3.2M | — | — | 2.2M | 2.1M | 1.6M | 1.7M |
| Cost of revenue | — | — | — | — | — | — | — | — | — | — | — | — |
| Gross profit | — | — | — | — | — | — | — | — | — | — | — | — |
| Gross margin | — | — | — | — | — | — | — | — | — | — | — | — |
| Research & development | — | — | — | — | — | — | — | — | — | — | — | — |
| Selling, general & administrative | — | 195.8K | — | — | — | 217.6K | — | — | 156.2K | 160.4K | 311.6K | 328K |
| Operating expenses | — | 297K | — | — | — | 182.5K | — | — | 287.5K | 208.7K | 56.1K | 85.7K |
| Operating income | — | 3.8M | — | — | — | 3.1M | — | — | 1.9M | 1.9M | 1.5M | 1.6M |
| Operating margin | — | 92.8% | — | — | — | 94.4% | — | — | 86.7% | 90% | 96.5% | 95% |
| Non-operating income, net | — | — | — | — | — | — | — | — | — | — | — | — |
| Pretax income | — | 3.8M | — | — | — | 3.1M | — | — | 1.9M | 1.9M | 1.5M | 1.6M |
| Income tax | — | — | — | — | — | — | — | — | — | — | — | — |
| Net income | — | 3.8M | — | — | — | 3.1M | — | — | 1.9M | 1.9M | 1.5M | 1.6M |
| Net margin | — | 92.8% | — | — | — | 94.4% | — | — | 86.7% | 90% | 96.5% | 95% |
| EBITDA | — | 3.8M | — | — | — | 3.1M | — | — | 1.9M | 1.9M | 1.5M | 1.6M |
| EPS | 0.21 | — | 0.19 | 0.18 | 0.18 | — | 0.09 | 0.13 | 0.11 | — | 0.09 | 0.1 |
| Diluted EPS | 0.21 | — | 0.19 | 0.18 | 0.18 | — | 0.09 | 0.13 | 0.11 | — | 0.09 | 0.1 |
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 | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Market cap | 54.1M | 100.6M | 61.4M | 78.7M | 37.7M | 79.7M | 176.3M | 122.4M | 81.3M | 45.9M | 45.9M |
| Enterprise value | 53.8M | 100.3M | 61M | 78.4M | 37.1M | 79.4M | 175M | 121M | 79.5M | 43.9M | 43.9M |
| Shares outstanding | 17M | 17M | 17M | 17M | 17M | 17M | 17M | 17M | 17M | 17M | 17M |
| Metric | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|---|---|
| P/E | 11.2 | 12 | 5.08 | 6.66 | 9.87 | 9.2 | 8.13 | 8.04 | 6.55 | 6.21 | 6.21 |
| P/S | 9.4 | 10.9 | 4.74 | 6.22 | 7.54 | 8.57 | 7.47 | 7.44 | 5.97 | 5.32 | 5.32 |
| P/B | 0.63 | 1.3 | 0.88 | 1.24 | 1.99 | 4.98 | 11.7 | 9.15 | 6.84 | 4.41 | 4.41 |
| EV/EBITDA | 11.1 | 11.9 | 5.05 | 6.63 | 9.71 | 9.16 | 8.08 | 7.95 | 6.41 | 5.93 | 5.93 |
| EV/Sales | 9.36 | 10.9 | 4.72 | 6.19 | 7.42 | 8.54 | 7.42 | 7.35 | 5.84 | 5.09 | 5.09 |
| Earnings yield | 8.96% | 8.36% | 19.7% | 15% | 10.1% | 10.9% | 12.3% | 12.4% | 15.3% | 16.1% | 16.1% |
| Metric | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Operating margin | 84.3% | 91.4% | 93.3% | 93.3% | 76.4% | 93.2% | 91.9% | 92.4% | 91.1% | 85.8% | 85.8% |
| Net margin | 84.3% | 91.4% | 93.3% | 93.3% | 76.4% | 93.2% | 91.9% | 92.4% | 91.1% | 85.8% | 85.8% |
| ROE | 5.67% | 10.8% | 17.2% | 18.7% | 20.1% | 54.2% | 144% | 113.8% | 104.5% | 71.1% | 71.1% |
| ROA | 5.67% | 10.8% | 17.2% | 18.7% | 20.1% | 54.2% | 144% | 113.8% | 104.5% | 71.1% | 71.1% |
| Return on tangible assets | 5.67% | 10.8% | 17.2% | 18.7% | 20.1% | 54.2% | 144% | 113.8% | 104.5% | 71.1% | 71.1% |
| Metric | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 | Current |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue per share | 0.34 | 0.54 | 0.76 | 0.74 | 0.29 | 0.55 | 1.39 | 0.97 | 0.8 | 0.51 | 0.51 |
| EPS (basic) | 0.28 | 0.49 | 0.71 | 0.69 | 0.23 | 0.51 | 1.27 | 0.9 | 0.73 | 0.43 | 0.43 |
| EPS (diluted) | 0.28 | 0.49 | 0.71 | 0.69 | 0.23 | 0.51 | 1.27 | 0.9 | 0.73 | 0.43 | 0.43 |
| Book value per share | 5.03 | 4.57 | 4.12 | 3.73 | 1.12 | 0.94 | 0.89 | 0.79 | 0.7 | 0.61 | 0.61 |
| Cash per share | 0.01 | 0.02 | 0.02 | 0.02 | 0.04 | 0.02 | 0.07 | 0.08 | 0.1 | 0.12 | 0.12 |
Split-adjusted payout per share by ex-dividend date.
| Ex-dividend | Amount |
|---|---|
| Jul 30, 2026 | $0.28 |
| Apr 30, 2026 | $0.095 |
| Jan 30, 2026 | $0.09 |
| — |
| $0.51 |
| — |
| — |
| $9.3M |
| — |
| FY20 | — | $0.23 | — | — | $5M | — |
| FY19 | — | $0.69 | — | — | $12.7M | — |
| FY18 | — | $0.71 | — | — | $12.9M | — |
| FY17 | — | $0.49 | — | — | $9.2M | — |
| FY16 | — | $0.28 | — | — | $5.7M | — |
| Period | Q3 23 | Q4 23 | Q1 24 | Q2 24 | Q3 24 | Q4 24 | Q1 25 | Q2 25 | Q3 25 | Q4 25 | Q1 26 | Q2 26 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Revenue | — | $4.1M | — | — | — | $3.2M | — | — | $2.2M | $2.1M | $1.6M | $1.7M |
| YoY change | — | -39.4% | — | — | — | -21.3% | — | — | — | -35.9% | — | — |
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 | FY16 | FY17 | FY18 | FY19 | FY20 | FY21 | FY22 | FY23 | FY24 | FY25 |
|---|---|---|---|---|---|---|---|---|---|---|
| Cash & short-term investments | 238.6K | 316.5K | 360.2K | 326.1K | 603K | 287.2K | 1.2M | 1.4M | 1.7M | 2M |
| Receivables | — | — | — | — | — | — | — | — | — | — |
| Inventory | — | — | — | — | — | — | — | — | — | — |
| Total current assets | 238.6K | 316.5K | 360.2K | 326.1K | 603K | 287.2K | 1.2M | 1.4M | 1.7M | 2M |
| Property, plant & equipment | — | — | — | — | — | — | — | — | — | — |
| Goodwill & intangibles | — | — | — | — | — | — | — | — | — | — |
| Total assets | 85.5M | 77.7M | 70M | 63.3M | 19M | 16M | 15M | 13.4M | 11.9M | 10.4M |
| Accounts payable | — | — | — | — | — | — | — | — | — | — |
| Short-term debt | — | — | — | — | — | — | — | — | — | — |
| Total current liabilities | — | — | — | — | — | — | — | — | — | — |
| Long-term debt | — | — | — | — | — | — | — | — | — | — |
| Total liabilities | — | — | — | — | — | — | — | — | — | — |
| Shareholders' equity | 85.5M | 77.7M | 70M | 63.3M | 19M | 16M | 15M | 13.4M | 11.9M | 10.4M |
| 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 | Q3 23 | Q4 23 | Q1 24 | Q2 24 | Q3 24 | Q4 24 | Q1 25 | Q2 25 | Q3 25 | Q4 25 | Q1 26 | Q2 26 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Cash & short-term investments | 1.3M | 1.4M | 1.4M | 1.6M | 1.8M | 1.7M | 1.8M | 1.8M | 2M | 2M | 1.8M | 1.5M |
| Receivables | — | — | — | — | — | — | — | — | — | — | — | — |
| Inventory | — | — | — | — | — | — | — | — | — | — | — | — |
| Total current assets | 1.3M | 1.4M | 1.4M | 1.6M | 1.8M | 1.7M | 1.8M | 1.8M | 2M | 2M | 1.8M | 1.5M |
| Property, plant & equipment | — | — | — | — | — | — | — | — | — | — | — | — |
| Goodwill & intangibles | — | — | — | — | — | — | — | — | — | — | — | — |
| Total assets | 13.7M | 13.4M | 12.9M | 12.7M | 12.4M | 11.9M | 11.5M | 11.1M | 10.8M | 10.4M | 9.7M | 9.1M |
| Accounts payable | — | — | — | — | — | — | — | — | — | — | — | — |
| Short-term debt | — | — | — | — | — | — | — | — | — | — | — | — |
| Total current liabilities | — | — | — | — | — | — | — | — | — | — | — | — |
| Long-term debt | — | — | — | — | — | — | — | — | — | — | — | — |
| Total liabilities | — | — | — | — | — | — | — | — | — | — | — | — |
| Shareholders' equity | 13.7M | 13.4M | 12.9M | 12.7M | 12.4M | 11.9M | 11.5M | 11.1M | 10.8M | 10.4M | 9.7M | 9.1M |
| Total debt | — | — | — | — | — | — | — | — | — | — | — | — |
| Net debt | — | — | — | — | — | — | — | — | — | — | — | — |
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 | FY08 | FY09 | FY10 | FY11 |
|---|---|---|---|---|
| Net income | 12.8M | 10.9M | 20.9M | — |
| Depreciation & amortization | 5.8M | 5.2M | 6.3M | — |
| Stock-based compensation | — | — | — | — |
| Change in working capital | -2M | -804.9K | 230.5K | — |
| Operating cash flow | 18.4M | 15.2M | 27.1M | 165M |
| Capital expenditure | -6.7M | -2.2M | -2.7M | — |
| Investing cash flow | -7.9M | -3.7M | -2.7M | — |
| Dividends paid | — | — | — | -24.1M |
| Share repurchases | — | — | — | — |
| Financing cash flow | -4M | -10.8M | -11M | -24.1M |
| Net change in cash | 6.4M | 702.7K | 13.4M | 140.9M |
| Free cash flow | 8.3M | 12.1M | 17.7M | 157.8M |
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 | Q4 09 | Q4 10 |
|---|---|---|
| Net income | 4.2M | 4.4M |
| Depreciation & amortization | 884.8K | 1.9M |
| Stock-based compensation | — | — |
| Change in working capital | 198.1K | 307.5K |
| Operating cash flow | 5.3M | 6.5M |
| Capital expenditure | -1.1M | -431.1K |
| Investing cash flow | -1.9M | -431.1K |
| Dividends paid | — | — |
| Share repurchases | — | — |
| Financing cash flow | -1M | -2.8M |
| Net change in cash | 2.4M | 3.3M |
| Free cash flow | 4.8M | -1.1M |
| Oct 30, 2025 |
| $0.11 |
| Jul 30, 2025 | $0.11 |
| Apr 30, 2025 | $0.13 |
| Jan 30, 2025 | $0.085 |
| Oct 30, 2024 | $0.18 |