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 tables present our revenues disaggregated by market (in thousands):

Year Ended December 31, 2025

Installation Services

Specialty Distribution

Eliminations

Total

Residential

$

2,469,956

$

902,134

$

(245,390)

$

3,126,700

Commercial/Industrial

712,897

1,621,189

(51,700)

2,282,386

  Net sales

$

3,182,853

$

2,523,323

$

(297,090)

$

5,409,086

Year Ended December 31, 2024

Installation Services

Specialty Distribution

Eliminations

Total

Residential

$

2,762,703

$

945,916

$

(260,279)

$

3,448,340

Commercial/Industrial

531,927

1,394,921

(45,385)

1,881,463

  Net sales

$

3,294,630

$

2,340,837

$

(305,664)

$

5,329,803

Year Ended December 31, 2023

Installation Services

Specialty Distribution

Eliminations

Total

Residential

$

2,672,152

$

897,783

$

(219,932)

$

3,350,003

Commercial/Industrial

516,080

1,370,556

(41,945)

1,844,691

  Net sales

$

3,188,232

$

2,268,339

$

(261,877)

$

5,194,694

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

Year Ended December 31, 2025

Installation Services

Specialty Distribution

Eliminations

Total

Insulation and accessories

$

2,364,505

$

2,227,560

$

(256,651)

$

4,335,414

Gutters

111,115

220,632

(35,991)

295,756

Glass and windows

231,060

5,368

-

236,428

Roofing

215,816

-

-

215,816

All other

260,357

69,763

(4,448)

325,672

       Net sales

$

3,182,853

$

2,523,323

$

(297,090)

$

5,409,086

Year Ended December 31, 2024

Installation Services

Specialty Distribution

Eliminations

Total

Insulation and accessories

$

2,644,819

$

2,077,253

$

(268,916)

$

4,453,156

Gutters

118,908

193,353

(32,000)

280,261

Glass and windows

246,929

-

-

246,929

All other

283,974

70,231

(4,748)

349,457

       Net sales

$

3,294,630

$

2,340,837

$

(305,664)

$

5,329,803

Year Ended December 31, 2023

Installation Services

Specialty Distribution

Eliminations

Total

Insulation and accessories

$

2,529,186

$

2,028,467

$

(228,100)

$

4,329,553

Gutters

114,293

175,765

(29,806)

260,252

Glass and windows

251,001

-

-

251,001

All other

293,752

64,107

(3,971)

353,888

       Net sales

$

3,188,232

$

2,268,339

$

(261,877)

$

5,194,694

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

Included in Line Item on

As of December 31,

Balance Sheets

2025

2024

Contract Assets:

Receivables, unbilled

Receivables, net

$

73,968

$

61,366

Contract Liabilities:

Deferred revenue

Accrued liabilities

$

38,307

$

18,651

Our acquisition of Progressive included $23.0 million of contract assets and $23.8 million of contract liabilities as of December 31, 2025.

The aggregate amount remaining on uncompleted performance obligations was $579.6 million as of December 31, 2025, with $289.7 million resulting from our acquisition of Progressive in the third quarter of 2025 (see Note 15 – Business Combinations for further details). 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 Consolidated Balance Sheets and were $81.6 million and $74.9 million as of December 31, 2025 and 2024, respectively.  Our acquisition of Progressive included $14.9 million of retainage receivables as of December 31, 2025. See Note 15 – Business Combinations for further information on the preliminary purchase price allocation.

Historical Timeline

Fiscal YearFiled
2025Feb 26, 2026Showing above
2024Feb 25, 2025
2023Feb 28, 2024
2022Feb 23, 2023
2021Feb 22, 2022
2020Feb 23, 2021
2019Feb 25, 2020

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.