REVENUE
Disaggregation of revenue. Essentially all of our revenues are associated with contracts with customers. A disaggregation of our revenue from contracts with customers by geographic region, by reportable operating segment and by service type is presented below:
Revenue by geographic area (in thousands):
| | | | | | | | | | | | | | | | | | | | | | | | | | |
| | Twelve Months Ended December 31, 2025 | | | | | | |
| United States | Canada | | Other Countries | | Total | | | | | | |
| Revenue: | | | | | | | | | | | | |
| IHT | $ | 403,133 | | $ | 42,187 | | | $ | 13,559 | | | $ | 458,879 | | | | | | | |
| MS | 277,569 | | 34,624 | | | 125,411 | | | 437,604 | | | | | | | |
| Total | $ | 680,702 | | $ | 76,811 | | | $ | 138,970 | | | $ | 896,483 | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | |
| | Twelve Months Ended December 31, 2024 | | | | | | |
| United States | Canada | | Other Countries | | Total | | | | | | |
| Revenue: | | | | | | | | | | | | |
| IHT | $ | 374,657 | | $ | 39,699 | | | $ | 12,366 | | | $ | 426,722 | | | | | | | |
| MS | 263,005 | | 27,241 | | | 135,304 | | | 425,550 | | | | | | | |
| Total | $ | 637,662 | | $ | 66,940 | | | $ | 147,670 | | | $ | 852,272 | | | | | | | |
Revenue by operating segment and service type (in thousands):
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| Twelve Months Ended December 31, 2025 |
| Non-Destructive Evaluation and Testing Services | | Repair and Maintenance Services | | Heat-Treating | | Other | | Total |
| Revenue: | | | | | | | | | |
| IHT | $ | 359,038 | | | $ | 142 | | | $ | 68,207 | | | $ | 31,492 | | | $ | 458,879 | |
| MS | — | | | 426,930 | | | 679 | | | 9,995 | | | 437,604 | |
| Total | $ | 359,038 | | | $ | 427,072 | | | $ | 68,886 | | | $ | 41,487 | | | $ | 896,483 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
| Twelve Months Ended December 31, 2024 |
| Non-Destructive Evaluation and Testing Services | | Repair and Maintenance Services | | Heat-Treating | | Other | | Total |
| Revenue: | | | | | | | | | |
| IHT | $ | 336,582 | | | $ | 154 | | | $ | 67,893 | | | $ | 22,093 | | | $ | 426,722 | |
| MS | — | | | 417,699 | | | 932 | | | 6,919 | | | 425,550 | |
| Total | $ | 336,582 | | | $ | 417,853 | | | $ | 68,825 | | | $ | 29,012 | | | $ | 852,272 | |
For additional information on our reportable operating segments and geographic information, refer to Note 18 - Segment and Geographic Disclosures.
Remaining performance obligations. As permitted by ASC 606, Revenue from Contracts with Customers, we have elected not to disclose information about remaining performance obligations where (i) the performance obligation is part of a contract that has an original expected duration of one year or less or (ii) when we recognize revenue from the satisfaction of the performance obligation in accordance with the right-to-invoice practical expedient, which permits us to recognize revenue in the amount to which we have a right to invoice the customer if that amount corresponds directly with the value to the customer of our performance completed to date. As most of our contracts with customers are short-term in nature and billed on a time and material basis, there were no material amounts of remaining performance obligations as of December 31, 2025 and 2024.
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.