XML 53 R40.htm IDEA: XBRL DOCUMENT
v3.22.4

Information on Segments (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2022
Segment Reporting [Abstract] |
Schedule of Segment Information | The following tables represents our segment information for the years ended December 31, 2022, 2021 and 2020 (in thousands):
| Year ended December 31, 2022
| Installation |  | Other |  | Eliminations |  | Consolidated
Revenue | $ | 2,513,557 |  |  | $ | 162,433 |  |  | $ | (6,146) |  |  | $ | 2,669,844 |
Cost of sales (1) | 1,678,771 |  |  | 123,705 |  |  | (4,826) |  |  | 1,797,650 |
Segment gross profit | $ | 834,786 |  |  | $ | 38,728 |  |  | $ | (1,320) |  |  | $ | 872,194 |
Segment gross profit percentage | 33.2 | % |  | 23.8 | % |  | 21.5 | % |  | 32.7 | %
| Year ended December 31, 2021
| Installation |  | Other |  | Eliminations |  | Consolidated
Revenue | $ | 1,941,543 |  |  | $ | 29,332 |  |  | $ | (2,225) |  |  | $ | 1,968,650 |
Cost of sales (1) | 1,317,739 |  |  | 22,155 |  |  | (1,701) |  |  | 1,338,193 |
Segment gross profit | $ | 623,804 |  |  | $ | 7,177 |  |  | $ | (524) |  |  | $ | 630,457 |
Segment gross profit percentage | 32.1 | % |  | 24.5 | % |  | 23.6 | % |  | 32.0 | %
| Year ended December 31, 2020
| Installation |  | Other |  | Eliminations |  | Consolidated
Revenue | $ | 1,636,361 |  |  | $ | 17,762 |  |  | $ | (898) |  |  | $ | 1,653,225 |
Cost of sales (1) | 1,092,139 |  |  | 12,771 |  |  | (670) |  |  | 1,104,240 |
Segment gross profit | $ | 544,222 |  |  | $ | 4,991 |  |  | $ | (228) |  |  | $ | 548,985 |
Segment gross profit percentage | 33.3 | % |  | 28.1 | % |  | 25.4 | % |  | 33.2 | %
(1)Cost of sales included in segment gross profit is exclusive of depreciation and amortization for the years ended December 31, 2022, 2021 and 2020. The prior period disclosures in the above tables have been recast to conform to the current period segment presentation. The reconciliation between consolidated segment gross profit for each period as shown in the tables above to consolidated income before income taxes is as follows:
| Years ended December 31,
| 2022 |  | 2021 |  | 2020
Segment gross profit - Consolidated | $ | 872,194 |  |  | $ | 630,457 |  |  | $ | 548,985 |
Depreciation and amortization (1) | 44,410 |  |  | 40,938 |  |  | 39,011 |
Gross profit, as reported | 827,784 |  |  | 589,519 |  |  | 509,974 |
Operating expenses | 482,373 |  |  | 401,639 |  |  | 348,107 |
Operating income | 345,411 |  |  | 187,880 |  |  | 161,867 |
Other expense, net | 42,104 |  |  | 32,405 |  |  | 30,690 |
Income before income taxes | $ | 303,307 |  |  | $ | 155,475 |  |  | $ | 131,177 |
(1)Cost of sales included in segment gross profit is exclusive of depreciation and amortization for the years ended December 31, 2022, 2021 and 2020.

X
- Definition Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 22 -URI https://asc.fasb.org/extlink&oid=126901519&loc=d3e8736-108599 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 25 -URI https://asc.fasb.org/extlink&oid=126901519&loc=d3e8813-108599 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 350 -SubTopic 20 -Section 50 -Paragraph 1 -URI https://asc.fasb.org/extlink&oid=121556970&loc=d3e13816-109267 Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef -Publisher FASB -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 30 -URI https://asc.fasb.org/extlink&oid=126901519&loc=d3e8906-108599 + Details
Name: | us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_SegmentReportingAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration