HSTM · XBRL financial data
Healthstream financial statements, every fiscal year
The same tables from 8 filings, lined up. Matched by XBRL tag: renamed lines keep their history.
How these numbers work
- Every number comes from the company's XBRL financial data filed with the SEC, and each one links to its filing.
- Lines are matched by XBRL tag, so a line renamed between filings keeps its history.
- * marks a quarter worked out from the filing totals: the 10-K year minus the first three quarters, or a year-to-date total minus the earlier one. Fourth-quarter earnings per share is fourth-quarter net income over the fourth-quarter weighted shares.
- 0 means a filing states zero; a dash (—) means no filing states that number.
- “year only” means the 10-K gives the full year but not the quarters needed to work out the fourth. A worked-out quarter of revenue, cost of revenue or operating cash flow more than twice the company's largest quarter of the two years before is shown this way too.
- Gross profit is shown as the company reports it; a worked-out quarter must equal revenue less cost of revenue for that quarter, or it is a dash.
- Operating income can be above gross profit when the company books other operating income between the two, shown on its own line.
- Shares outstanding come from each filing's cover page, as of the date printed there.
- Quarters are fiscal: Q2 FY27 is the second quarter of the company's fiscal 2027.
Income statement
CSVFiscal years (HSTM's year ends in late December)
| In thousands of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Revenue from contracts with customers | 244,826 | 256,712 | 266,826 | 279,063 | 291,646 | 304,064 |
| Research and development | 32,305 | 41,659 | 44,277 | 45,540 | 48,890 | 50,984 |
| Operating income (loss) | 15,818 | 8,055 | 12,449 | 16,019 | 21,287 | 20,236 |
| Other income (expense) | 2,005 | — | 2,692 | 136 | (318) | (358) |
| Income tax expense (benefit) | 3,732 | 1,921 | 3,494 | 3,298 | 4,796 | 4,876 |
| Net income (loss) | 14,091 | 5,845 | 12,091 | 15,213 | 20,007 | 18,342 |
| Earnings per share, basic USD per share | 0.44 | 0.19 | 0.39 | 0.50 | 0.66 | 0.61 |
| Earnings per share, diluted USD per share | 0.44 | 0.18 | 0.39 | 0.50 | 0.66 | 0.61 |
| Weighted average shares, basic thousands of shares | 31,960 | 31,534 | 30,648 | 30,571 | 30,386 | 30,018 |
| Weighted average shares, diluted thousands of shares | 31,989 | 31,618 | 30,717 | 30,673 | 30,544 | 30,144 |
Balance sheet
CSVFiscal years (HSTM's year ends in late December)
Cash flows
CSVFiscal years (HSTM's year ends in late December)
| In thousands of dollars | Dec 31, 2020 | Dec 31, 2021 | Dec 31, 2022 | Dec 31, 2023 | Dec 31, 2024 | Dec 31, 2025 |
|---|---|---|---|---|---|---|
| Net income (loss) | 14,091 | 5,845 | 12,091 | 15,213 | 20,007 | 18,342 |
| Stock-based compensation | 2,217 | 5,303 | 3,554 | 4,153 | 4,470 | 8,145 |
| Depreciation and amortization | 30,189 | 36,813 | 37,945 | 41,076 | 41,243 | 43,478 |
| Net cash from operating activities | 35,874 | 42,385 | 51,188 | 63,970 | 57,660 | 63,319 |
| Purchases of property and equipment | 1,988 | 3,417 | 1,768 | 2,200 | 1,401 | 3,685 |
| Net cash from investing activities | (110,410) | (25,723) | (28,389) | (56,598) | (33,972) | (50,353) |
| Share repurchases | 20,019 | 5,008 | 23,137 | 8,929 | 0 | 30,022 |
| Dividends paid | 40 | 19 | 0 | 3,100 | 3,400 | 3,700 |
| Net cash from financing activities | (20,494) | (6,209) | (23,702) | (13,039) | (4,516) | (36,267) |
| Net change in cash | (94,972) | 10,339 | (882) | (5,690) | 19,136 | (23,308) |
Compare with peers
SIC 7370 and related industry codes, similar size. Each row is the latest quarter reported.
How peers are chosen
- SIC 7370 and related industry codes with public float (or, where float is missing, quarterly revenue) between 0.2x and 5x the company's.
- Each row is the latest quarter the company has reported, named in the Quarter column; when that filing is a 10-K, it is the fourth quarter, never the full year.
- Runway shows only for companies burning cash with under $10B of public float.
- * marks a quarter worked out from the filing totals: for a 10-Q, the year-to-date total less the earlier one.
- A cell reading “not reported” means the filings give no figure for that quarter alone.
| Company | Cash ($K) | Revenue, quarter ($K) | Operating cash flow, quarter ($K) | Shares outstanding | Runway | Quarter |
|---|---|---|---|---|---|---|
| Healthstream | 46,169 | 83,732 | 13,431* | 29.2M | — | 10-QJun 30, 2026 |
| Grid Dynamics Holdings | 304,287 | 114,294 | 16,016* | 80.4M | — | 10-QSep 30, 2026 |
| PDF Solutions | 114,883 | not reported | 16,401* | 42.2M | — | 10-QJun 30, 2026 |
| EverQuote | 229,070 | 218,077 | 40,482* | not reported | — | 10-QSep 30, 2026 |
| OneSpan | 51,393 | 63,885 | 16,493* | 36.9M | — | 10-QSep 30, 2026 |
| Red Violet | 49,972 | 26,718 | 10,637* | 16.0M | — | 10-QJun 30, 2026 |
| Red Cat Holdings | 325,553 | 20,189 | (46,804)* | 152.7M | 7.0 quarters | 10-QJun 30, 2026 |
| Taboola.com | 133,052 | 476,826 | 31,253* | not reported | — | 10-QJun 30, 2026 |
| Yext | 86,828 | 111,103 | 7,947* | 99.0M | — | 10-QJul 31, 2026 |
Not investment advice. Not affiliated with the U.S. SEC.