|6 Months Ended|
Jun. 30, 2021
3. REVENUE RECOGNITION
Revenue is disaggregated between our Installation and 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):
The following tables present our revenues disaggregated by product (in thousands):
The following table represents our contract assets and contract liabilities with customers, in thousands:
The increase in contract assets as of June 30, 2021 is primarily driven by an increase in organic sales as well as sales from our acquisitions during the quarter.
The aggregate amount remaining on uncompleted performance obligations was $287.9 million as of June 30, 2021. We expect to satisfy the performance obligations and recognize revenue on substantially all of these uncompleted contracts over the next 18 months.
Certain customer contracts contain provisions whereby customers are entitled to withhold an agreed upon percentage of the total contract value until the customer’s project is satisfactorily complete. This amount held back is referred to as retainage and is a common practice in the construction industry. Retainage receivables are classified as a component of accounts receivable.
The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.
Reference 1: http://www.xbrl.org/2003/role/disclosureRef