XML 43 R28.htm IDEA: XBRL DOCUMENT v3.25.1
Revenues
12 Months Ended
Dec. 31, 2024
Revenue from Contract with Customer [Abstract]  
Revenues Revenues
Substantially all revenues were generated within the United States of America.

The table below presents total revenues by contract type for the following periods:
Year Ended December 31,
202420232022
Time and materials$88,740 $85,734 $102,255 
Firm fixed price
46,259 50,100 35,939 
Cost-reimbursable
23,237 19,330 16,817 
Total revenues
$158,236 $155,164 $155,011 

The majority of the Company’s revenue is recognized over time. Revenue derived from contracts that recognize revenue at a point in time was insignificant for all periods presented.

The table below summarizes the activity in the allowance for expected credit losses:
Year Ended December 31,
202420232022
Beginning balance$230 $98 $43 
Additions
125 1,739 244 
Write-offs
(228)(1,607)(189)
Recoveries— — — 
Ending balance
$127 $230 $98 

Concentration of Risk

Revenue earned from customers contributing in excess of 10% of total revenues are presented in the tables below for the following periods:
Year Ended December 31, 2024
TotalPercent of total
revenues
Customer A
$21,284 13 %
Customer B
25,681 16 %
Customer C
18,731 12 %
Customer D(1)
— — %
Customer E
16,840 11 %
All others
75,700 48 %
Total revenues
$158,236 100 %

Year Ended December 31, 2023
TotalPercent of total
revenues
Customer A
$33,266 21 %
Customer B
24,560 16 %
Customer C
18,143 12 %
Customer D(1)
14,197 %
Customer E(1)
— — %
All others
64,998 42 %
Total revenues
$155,164 100 %
Year Ended December 31, 2022
TotalPercent of total
revenues
Customer A
$29,413 19 %
Customer B(1)
9,751 %
Customer C
17,426 11 %
Customer D
29,087 19 %
Customer E(1)
— — %
All others
69,334 45 %
Total revenues
$155,011 100 %
(1) Customers that contributed in excess of 10% of consolidated revenues in any period presented have been included in all periods presented for comparability.

Contract Balances

The table below presents the contract assets and contract liabilities included on the consolidated balance sheets for the following periods:
December 31,
2024
December 31,
2023
Contract assets$895 $4,822 
Contract liabilities
$2,541 $879 

The change in contract assets between December 31, 2023 and December 31, 2024 was primarily driven by invoices being issued for services previously rendered. The change in contract liability balances between December 31, 2023 and December 31, 2024 was primarily driven by upfront payments for services yet to be rendered to customers. Revenue recognized in the year ended December 31, 2024 that was included in the contract liability balance as of December 31, 2023 was $0.9 million.

When the Company’s estimate of total costs to be incurred to satisfy a performance obligation exceeds the expected revenue, the Company recognizes the loss immediately. When the Company determines that a change in estimate has an impact on the associated profit of a performance obligation, the Company records the cumulative positive or negative adjustment in the consolidated statements of operations. Changes in estimates and assumptions related to the status of certain long-term contracts may have a material effect on the Company’s operating results.

The following table summarizes the impact of the net estimates at completion (“EAC”) adjustments on the Company’s operating results:
Year Ended December 31,
202420232022
Net EAC Adjustments, before income taxes$626 $593 $1,598 
Net EAC Adjustments, net of income taxes$495 $468 $1,262 
Net EAC Adjustments, net of income taxes, per diluted share$— $— $0.01 

Remaining Performance Obligations

The Company includes in its computation of remaining performance obligations customer orders for which it has accepted signed sales orders and generally includes the funded and unfunded components of contracts that have been awarded. As of December 31, 2024, the aggregate amount of the transaction price allocated to remaining performance obligations was $119.0 million. The Company expects to recognize approximately 98% of its remaining performance obligations as revenue within the next 12 months and the balance thereafter.