v3.26.1
Revenue Recognition
3 Months Ended
Mar. 31, 2026
Revenue Recognition  
Revenue Recognition

3.  REVENUE RECOGNITION

Revenue is disaggregated between our Installation Services and Specialty Distribution segments and further based on market and product, as we believe this best depicts how the nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factors.  

The following table present our revenues disaggregated by market (in thousands):

Three Months Ended March 31, 

2026

2025

Installation Services

Specialty
Distribution

Eliminations

Total

Installation Services

Specialty
Distribution

Eliminations

Total

Residential

$

540,181

$

224,103

$

(55,185)

$

709,099

$

620,961

$

210,014

$

(61,224)

$

769,751

Commercial/Industrial

237,148

512,977

(13,364)

736,761

124,572

349,790

(10,835)

463,527

Net sales

$

777,329

$

737,080

$

(68,549)

$

1,445,860

$

745,533

$

559,804

$

(72,059)

$

1,233,278

The following table present our revenues disaggregated by product (in thousands):

Three Months Ended March 31, 

2026

2025

Installation Services

Specialty
Distribution

Eliminations

Total

Installation Services

Specialty
Distribution

Eliminations

Total

Insulation and accessories

$

525,501

$

661,752

$

(57,675)

$

1,129,578

$

596,284

$

500,765

$

(64,025)

$

1,033,024

Roofing

120,144

-

-

120,144

-

-

-

-

Gutters

23,894

50,533

(9,532)

64,895

24,895

43,435

(7,074)

61,256

Glass and windows

51,150

-

-

51,150

59,516

-

-

59,516

All other

56,640

24,795

(1,342)

80,093

64,838

15,604

(960)

79,482

Net sales

$

777,329

$

737,080

$

(68,549)

$

1,445,860

$

745,533

$

559,804

$

(72,059)

$

1,233,278

The following table represents our contract assets and contract liabilities with customers, in thousands:

Included in Line Item on

As of

Condensed Consolidated

March 31,

December 31,

Balance Sheets

2026

2025

Contract Assets:

Receivables, unbilled

Receivables, net

$

91,125

$

73,968

Contract Liabilities:

Deferred revenue (a)

Accrued liabilities

$

37,276

$

38,307

(a)Our contract liabilities are primarily recognized into revenue in the immediately subsequent reporting period.

The aggregate amount remaining on uncompleted performance obligations was $600.7 million as of March 31, 2026. We expect to satisfy the performance obligations and recognize revenue on substantially all of these uncompleted contracts over the next 18 months.

On certain of our long-term contracts, a percentage of the total project cost is withheld and not invoiced to the customer and collected until satisfactory completion of the customer’s project, typically within a year. This amount is referred to as retainage and is common practice in the construction industry. Retainage receivables are classified as a component of Receivables, net on our condensed consolidated balance sheets and were $78.8 million and $81.6 million as of March 31, 2026 and December 31, 2025, respectively.