Revenue from contracts with customers
Disaggregation of revenue
The following table depicts the disaggregation of revenue by sales channel mix and customer mix as defined by the nature of workflows (in thousands):
| | | | | | | | | | | | | | | | | |
| Year Ended December 31, |
| 2025 | | 2024 | | 2023 |
| Sales channel mix | | | | | |
| Direct sales channel | $ | 146,668 | | | $ | 149,874 | | | $ | 147,169 | |
| Distributor channel | 54,825 | | | 50,579 | | | 45,846 | |
| Total revenue, net | $ | 201,493 | | | $ | 200,453 | | | $ | 193,015 | |
| | | | | | |
| Customer mix | | | | | |
| Academia and government | $ | 84,763 | | | $ | 80,911 | | | $ | 82,145 | |
| Biotechnology, pharmaceutical, distributor and contract research organizations | 116,730 | | | 119,542 | | | 110,870 | |
| Total revenue, net | $ | 201,493 | | | $ | 200,453 | | | $ | 193,015 | |
Revenue by geographical markets is presented in Note 22, Segment Information and Geographic Data.
Remaining performance obligations
The following table includes estimated revenues expected to be recognized in the future related to performance obligations that are unsatisfied (or partially satisfied) as of December 31, 2025 (in thousands):
| | | | | | | | | | | | | | | | | |
| Less than 1 year | | Greater than 1 year | | Total |
| Product revenue | $ | 1,927 | | | $ | — | | | $ | 1,927 | |
| Service revenue | 26,577 | | | 18,339 | | | 44,916 | |
| Total revenue | $ | 28,504 | | | $ | 18,339 | | | $ | 46,843 | |
Contract balances
The Company had immaterial amounts of contract assets included within prepaid expenses and other current assets on the consolidated balance sheets. The following table provides information about deferred revenue from contracts with customers, and customer deposits (in thousands):
| | | | | | | | | | | |
| December 31, 2025 | | December 31, 2024 |
| Contract liabilities: | | | |
| Deferred revenue, current | $ | 28,504 | | | $ | 25,492 | |
| Deferred revenue, long-term | $ | 18,339 | | | $ | 16,098 | |
| Customer deposits, which are included in 'Other current liabilities' | 1,068 | | | 1,118 | |
| Total contract liabilities | $ | 47,912 | | | $ | 42,708 | |
The following provides a roll-forward of the contract liabilities (in thousands):
| | | | | |
| Contract liabilities | |
| Balance at December 31, 2022 | $ | 27,665 | |
| Revenue recognized | (36,298) | |
| Revenue deferred | 47,898 | |
| Balance at December 31, 2023 | $ | 39,265 | |
| Revenue recognized | (47,190) | |
| Revenue deferred | 50,633 | |
| Balance at December 31, 2024 | $ | 42,708 | |
| Revenue recognized | (57,106) | |
| Revenue deferred | 62,310 | |
| Balance at December 31, 2025 | $ | 47,912 | |
About Revenue Disclosures
Revenue disclosures under ASC 606 explain how a company identifies performance obligations, allocates transaction prices, and determines when revenue is recognized. This section is essential for understanding whether reported revenue reflects genuine economic activity or aggressive accounting choices. Analysts examine the mix of point-in-time versus over-time recognition, which directly affects revenue timing and comparability.
Key signals: rising contract liabilities (deferred revenue) suggest strong future revenue visibility, while declining contract assets may indicate slowing project milestones. Watch for variable consideration estimates — rebates, returns, and performance bonuses that require management judgment. Significant changes in disaggregated revenue by geography or product line can reveal shifting business mix before it appears in headline numbers. Compare revenue growth against contract liability growth to assess sustainability, and scrutinize any changes in the timing of recognition that coincide with earnings pressure.