Annual report [Section 13 and 15(d), not S-K Item 405]

Revenue Recognition

v3.25.0.1
Revenue Recognition
12 Months Ended
Dec. 31, 2024
Revenue Recognition  
Revenue Recognition

3. REVENUE RECOGNITION

Revenue is disaggregated between our Installation 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, 2024

Installation

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

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

Year Ended December 31, 2022

Installation

Specialty Distribution

Eliminations

Total

Residential

$

2,503,123

$

967,687

$

(198,809)

$

3,272,001

Commercial/Industrial

466,855

1,310,574

(40,686)

1,736,743

  Net sales

$

2,969,978

$

2,278,261

$

(239,495)

$

5,008,744

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

Year Ended December 31, 2024

Installation

Specialty Distribution

Eliminations

Total

Insulation and accessories

$

2,644,819

$

2,077,253

$

(268,916)

$

4,453,156

Glass and windows

246,929

-

-

246,929

Gutters

118,908

193,353

(32,000)

280,261

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

Specialty Distribution

Eliminations

Total

Insulation and accessories

$

2,529,186

$

2,028,467

$

(228,100)

$

4,329,553

Glass and windows

251,001

-

-

251,001

Gutters

114,293

175,765

(29,806)

260,252

All other

293,752

64,107

(3,971)

353,888

       Net sales

$

3,188,232

$

2,268,339

$

(261,877)

$

5,194,694

Year Ended December 31, 2022

Installation

Specialty Distribution

Eliminations

Total

Insulation and accessories

$

2,344,807

$

2,019,108

$

(204,849)

$

4,159,066

Glass and windows

227,318

-

-

227,318

Gutters

106,969

189,800

(30,412)

266,357

All other

290,884

69,353

(4,234)

356,003

       Net sales

$

2,969,978

$

2,278,261

$

(239,495)

$

5,008,744

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

Included in Line Item on

As of December 31,

Consolidated Balance Sheets

2024

2023

Contract Assets:

Receivables, unbilled

Receivables, net

$

61,366

$

64,882

Contract Liabilities:

Deferred revenue

Accrued liabilities

$

18,651

$

18,365

The aggregate amount remaining on uncompleted performance obligations was $345.7 million as of December 31, 2024. 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 $74.9 million and $81.9 million as of December 31, 2024 and 2023, respectively.