Summary of Significant Accounting Policies (Tables)
|
12 Months Ended |
Dec. 31, 2021 |
Significant Accounting Policies [Line Items] |
|
Schedule of Net Sales by Product Category |
The following table disaggregates our net sales by product category for the years ended December 31:
|
|
|
|
|
|
|
|
|
|
|
|
|
(in thousands) |
|
2021 |
|
|
2020 |
|
|
2019 |
|
|
|
(in thousands) |
|
Lumber & lumber sheet goods |
|
$ |
8,412,210 |
|
|
$ |
3,076,376 |
|
|
$ |
2,251,580 |
|
Manufactured products |
|
|
4,333,283 |
|
|
|
1,640,460 |
|
|
|
1,449,550 |
|
Windows, doors & millwork |
|
|
3,332,005 |
|
|
|
1,629,179 |
|
|
|
1,542,924 |
|
Siding, metal & concrete products |
|
|
1,531,058 |
|
|
|
773,640 |
|
|
|
712,644 |
|
Gypsum, roofing & insulation |
|
|
656,383 |
|
|
|
514,638 |
|
|
|
528,571 |
|
Other building products & services |
|
|
1,628,917 |
|
|
|
924,581 |
|
|
|
795,162 |
|
Net sales |
|
$ |
19,893,856 |
|
|
$ |
8,558,874 |
|
|
$ |
7,280,431 |
|
|
Reconciliation of Accounts Receivable - Classified |
The following table shows the changes in our allowance for credit losses (in thousands):
|
|
2021 |
|
|
2020 |
|
|
2019 |
|
Balance at January 1, |
|
$ |
5,774 |
|
|
$ |
5,936 |
|
|
$ |
6,195 |
|
Additions |
|
|
20,451 |
|
|
|
4,720 |
|
|
|
5,811 |
|
Deductions (write-offs, net of recoveries) |
|
|
(4,464 |
) |
|
|
(4,882 |
) |
|
|
(6,070 |
) |
Balance at December 31, |
|
$ |
21,761 |
|
|
$ |
5,774 |
|
|
$ |
5,936 |
|
|
Rollforward of Allowance for Credit Losses |
Accounts receivable consisted of the following at December 31 (in thousands):
|
|
2021 |
|
|
2020 |
|
Accounts receivable |
|
$ |
1,748,306 |
|
|
$ |
840,390 |
|
Less: allowances for returns and credit losses |
|
|
(39,510 |
) |
|
|
(17,637 |
) |
Accounts receivable, net |
|
$ |
1,708,796 |
|
|
$ |
822,753 |
|
|
Summary of Calculation of Basic And Diluted EPS |
The table below presents the calculation of basic and diluted EPS for the years ended December 31:
|
|
Years Ended December 31, |
|
|
|
2021 |
|
|
2020 |
|
|
2019 |
|
|
|
(in thousands, except per share amounts) |
|
Numerator: |
|
|
|
|
|
|
|
|
|
|
|
|
Net income |
|
$ |
1,725,416 |
|
|
$ |
313,537 |
|
|
$ |
221,809 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Denominator: |
|
|
|
|
|
|
|
|
|
|
|
|
Weighted average shares outstanding, basic |
|
|
201,839 |
|
|
|
116,611 |
|
|
|
115,713 |
|
Dilutive effect of options and RSUs |
|
|
1,631 |
|
|
|
1,306 |
|
|
|
1,312 |
|
Weighted average shares outstanding, diluted |
|
|
203,470 |
|
|
|
117,917 |
|
|
|
117,025 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Net income per share: |
|
|
|
|
|
|
|
|
|
|
|
|
Basic |
|
$ |
8.55 |
|
|
$ |
2.69 |
|
|
$ |
1.92 |
|
Diluted |
|
$ |
8.48 |
|
|
$ |
2.66 |
|
|
$ |
1.90 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Antidilutive and contingent RSUs excluded from diluted EPS |
|
225 |
|
|
291 |
|
|
402 |
|
|
Market Condition Based Restricted Stock Unit Grants |
|
Significant Accounting Policies [Line Items] |
|
Schedule of Share-based Payment Award, Restricted Stock Unit, Valuation Assumptions |
The fair value of RSU awards which are subject to or contain market conditions is estimated on the date of grant using the Monte Carlo simulation model with the following weighted average assumptions for the year ended December 31:
|
|
2021 |
|
|
2020 |
|
|
2019 |
|
Expected volatility (company) |
|
|
51.3 |
% |
|
|
40.0 |
% |
|
|
38.3 |
% |
Expected volatility (peer group median) |
|
|
42.9 |
% |
|
|
40.0 |
% |
|
|
33.2 |
% |
Correlation between the company and peer group median |
|
|
0.6 |
|
|
|
0.5 |
|
|
|
0.5 |
|
Expected dividend yield |
|
|
0.0 |
% |
|
|
0.0 |
% |
|
|
0.0 |
% |
Risk-free rate |
|
|
0.3 |
% |
|
|
0.9 |
% |
|
|
2.6 |
% |
|