Revenue from Contracts with Customers
In the following table, revenue is disaggregated by category for each reportable segment. We believe this level of disaggregation best depicts how the nature, amount, timing and uncertainty of revenue and cash flows are affected by economic factors. Revenue for contracting services is recognized over time while revenue for construction materials is recognized at a point in time. For more information on our reportable segments, see Note 15.
Presented in the following tables are the sales of materials to both third parties and internal customers. Due to consolidation requirements, the internal sales revenues must be eliminated against the construction materials product used in the contracting services to arrive at the external operating revenues.
Year ended December 31, 2025WestMountainCentralEnergy ServicesCorporate ServicesTotal
Aggregates
$296,260 $95,220 $225,646 $— $— $617,126 
Ready-mix concrete346,736 124,536 308,152 — — 779,424 
Asphalt
131,796 99,023 190,163 — — 420,982 
Liquid asphalt— — — 296,032 — 296,032 
Other177,240 12 35,154 53,523 13,888 279,817 
Contracting services public­sector
349,310 330,390 445,169 — — 1,124,869 
Contracting services private­sector
121,041 105,293 32,677 — — 259,011 
Internal sales
(213,670)(110,632)(232,407)(61,276)(13,264)(631,249)
Revenues from contracts with customers
$1,208,713 $643,842 $1,004,554 $288,279 $624 $3,146,012 
Year ended December 31, 2024WestMountainCentralEnergy ServicesCorporate ServicesTotal
Aggregates
$297,173 $101,810 $157,165 $— $— $556,148 
Ready-mix concrete313,532 117,108 224,803 — — 655,443 
Asphalt
135,306 120,827 185,305 — — 441,438 
Liquid asphalt— — — 238,939 — 238,939 
Other
167,361 36 31,734 50,585 16,104 265,820 
Contracting services public­sector
351,377 360,790 410,072 — — 1,122,239 
Contracting services private­sector
115,284 98,268 22,465 — — 236,017 
Internal sales
(197,074)(135,947)(213,672)(54,872)(15,474)(617,039)
Revenues from contracts with customers
$1,182,959 $662,892 $817,872 $234,652 $630 $2,899,005 
Year ended December 31, 2023WestMountainCentralEnergy ServicesCorporate ServicesTotal
Aggregates
$294,672 $100,505 $152,691 $— $— $547,868 
Ready-mix concrete305,673 120,534 227,735 — — 653,942 
Asphalt
135,505 112,897 204,018 — — 452,420 
Liquid asphalt— — — 253,196 — 253,196 
Other
158,493 16 28,745 49,363 12,414 249,031 
Contracting services public­sector
268,734 308,711 426,318 — — 1,003,763 
Contracting services private­sector
157,989 124,282 21,276 — — 303,547 
Internal sales
(195,223)(133,328)(235,875)(57,373)(11,618)(633,417)
Revenues from contracts with customers
$1,125,843 $633,617 $824,908 $245,186 $796 $2,830,350 

Historical Timeline

Fiscal YearFiled
2025Feb 20, 2026Showing above
2024Feb 21, 2025
2023Feb 27, 2024

About Revenue Disclosures

Revenue disclosures under ASC 606 explain how a company identifies performance obligations, allocates transaction prices, and determines when revenue is recognized. This section is essential for understanding whether reported revenue reflects genuine economic activity or aggressive accounting choices. Analysts examine the mix of point-in-time versus over-time recognition, which directly affects revenue timing and comparability.

Key signals: rising contract liabilities (deferred revenue) suggest strong future revenue visibility, while declining contract assets may indicate slowing project milestones. Watch for variable consideration estimates — rebates, returns, and performance bonuses that require management judgment. Significant changes in disaggregated revenue by geography or product line can reveal shifting business mix before it appears in headline numbers. Compare revenue growth against contract liability growth to assess sustainability, and scrutinize any changes in the timing of recognition that coincide with earnings pressure.