XML 57 R43.htm IDEA: XBRL DOCUMENT v3.23.1
Revenue from Contracts with Customers - Summary of Disaggregation of Our Revenues by Contract Type and Operating Segment (Detail) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Disaggregation of Revenue [Line Items]      
Revenues by contract type and operating segment $ 242,238 $ 222,012 $ 194,101
Data and Analytics Services [Member]      
Disaggregation of Revenue [Line Items]      
Revenues by contract type and operating segment 40,594 38,339 30,226
Data and Analytics Services [Member] | Time-and-Material Contract [Member]      
Disaggregation of Revenue [Line Items]      
Revenues by contract type and operating segment 26,911 25,224 18,541
Data and Analytics Services [Member] | Fixed-Price Contract [Member]      
Disaggregation of Revenue [Line Items]      
Revenues by contract type and operating segment 13,683 13,115 11,685
IT Staffing Services [Member]      
Disaggregation of Revenue [Line Items]      
Revenues by contract type and operating segment 201,644 183,673 163,875
IT Staffing Services [Member] | Time-and-Material Contract [Member]      
Disaggregation of Revenue [Line Items]      
Revenues by contract type and operating segment 201,644 183,673 163,875
IT Staffing Services [Member] | Fixed-Price Contract [Member]      
Disaggregation of Revenue [Line Items]      
Revenues by contract type and operating segment $ 0 $ 0 $ 0