REVENUE FROM CONTRACTS WITH CUSTOMERS
The following tables disaggregate our revenue from contracts with customers, by customer type, product type and by market. See “Note (19) Segment and Geographic Area Information” for information about revenue by operating segment and geographic region.
| | | | | | | | | | | | | | |
| | Years Ended |
| | December 31, |
| (in thousands) | | 2025 | | 2024 |
| Revenue by customer type: | | | | |
| End user | | $ | 96,574 | | | $ | 105,955 | |
| OEM/Integrator | | 17,251 | | | 24,735 | |
| Total revenue | | $ | 113,825 | | | $ | 130,690 | |
| | | | | | | | | | | | | | |
| | Years Ended |
| | December 31, |
| (in thousands) | | 2025 | | 2024 |
| Revenue by product type: | | | | |
| Thermal test | | $ | 20,407 | | | $ | 17,822 | |
| Thermal process | | 21,465 | | | 33,783 | |
| Semiconductor test | | 18,791 | | | 24,084 | |
| Video imaging | | 8,084 | | | 7,643 | |
| Flying probe and in-circuit testers | | 8,041 | | | 9,340 | |
Alfamation™ products | | 19,912 | | | 23,383 | |
| Service/other | | 17,125 | | | 14,635 | |
| Total revenue | | $ | 113,825 | | | $ | 130,690 | |
| | | | | | | | | | | | | | |
| | Years Ended |
| | December 31, |
| (in thousands) | | 2025 | | 2024 |
| Revenue by market: | | | | |
| Semi | | $ | 35,970 | | | $ | 48,708 | |
| Auto/EV | | 22,718 | | | 32,871 | |
| Defense/Aerospace | | 14,256 | | | 15,317 | |
| Industrial | | 17,402 | | | 13,382 | |
| Life Sciences | | 9,047 | | | 5,400 | |
| Safety/Security | | 2,892 | | | 2,946 | |
| Other | | 11,540 | | | 12,066 | |
| Total revenue | | $ | 113,825 | | | $ | 130,690 | |
Major Customers
During the year ended December 31, 2025, no customer accounted for more than 10% of our consolidated revenue. During the year ended December 31, 2024, one customer accounted for 13% of our consolidated revenue. This revenue was primarily generated by our Electronic Test segment.
Contract Liabilities
Our contract liabilities consist of our customer deposits and deferred revenue as well as deferred revenue net of current portion on our Consolidated Balance Sheets. As of December 31, 2025, and 2024, we had total contract liabilities of $7.4 million and $6.4 million, respectively. For the year ended December 31, 2025, we recognized $4.2 million as revenue from the contract liabilities balance as of December 31, 2024, while for the year ended December 31, 2024, we recognized $5.1 million as revenue from the contract liabilities balance as of December 31, 2023.
Allowance for Credit Losses
Our allowance for credit losses changed as follows:
| | | | | | | | | | | | | | |
| | Years Ended |
| | December 31, |
| (in thousands) | | 2025 | | 2024 |
| Beginning balance | | $ | 423 | | | $ | 474 | |
| Credit loss expense, net of release of unused allowance | | 99 | | | 27 | |
| Write-offs | | (150) | | | (48) | |
| Foreign currency translation impact | | 3 | | | (30) | |
| Ending balance | | $ | 375 | | | $ | 423 | |
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.