v3.24.0.1
Revenue Recognition
12 Months Ended
Dec. 31, 2023
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, 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

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

Year Ended December 31, 2021

​

​

​

Installation

​

​

Specialty Distribution

​

​

Eliminations

​

​

Total

Residential

​

$

1,919,336

​

$

825,233

​

$

(147,276)

​

$

2,597,293

Commercial/Industrial

​

​

459,065

​

​

461,943

​

​

(32,094)

​

​

888,914

  Net sales

​

$

2,378,401

​

$

1,287,176

​

$

(179,370)

​

$

3,486,207

​

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

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

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

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

Year Ended December 31, 2021

​

​

​

Installation

​

​

Specialty Distribution

​

​

Eliminations

​

​

Total

Insulation and accessories

​

$

1,880,309

​

$

1,074,377

​

$

(149,556)

​

$

2,805,130

Glass and windows

​

​

183,808

​

​

-

​

​

-

​

​

183,808

Gutters

​

​

88,856

​

​

149,730

​

​

(25,097)

​

​

213,489

All other

​

​

225,428

​

​

63,069

​

​

(4,717)

​

​

283,780

       Net sales

​

$

2,378,401

​

$

1,287,176

​

$

(179,370)

​

$

3,486,207

​

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

​

2023

​

2022

Contract Assets:

​

​

​

​

​

​

​

Receivables, unbilled

Receivables, net

​

$

64,882

​

$

75,481

​

​

​

​

​

​

​

​

Contract Liabilities:

​

​

​

​

​

​

​

Deferred revenue

Accrued liabilities

​

$

18,365

​

$

21,940

​

The aggregate amount remaining on uncompleted performance obligations was $409.4 million as of December 31, 2023. 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.9 million and $63.0 million as of December 31, 2023 and 2022, respectively.