GVA vs PRIM
Granite Construction Inc. and Primoris Services Corp., side by side — 10 fiscal years reported in USD, drawn from SEC filings.
Most recent reported year
| Metric | GVA | PRIM |
|---|---|---|
| Revenue | $4.4B | $7.6B |
| Net income | $193.0M | $274.9M |
| Gross margin | 16.1% | 10.7% |
| Net margin | 5.0% | 3.6% |
| Return on equity | 17.6% | 17.8% |
| Diluted EPS | $3.86 | $5.02 |
| Dividend / share | $0.52 | $0.32 |
| Payout ratio | 11.8% | 6.3% |
| Free cash flow | $330.6M | $340.5M |
| Equity | $1.2B | $1.7B |
| Net debt / equity | 0.69× | −0.04× |
| Current ratio | 1.22× | 1.26× |
| Revenue CAGR 5y | 4.4% | 16.8% |
| Profit CAGR 5y | · | 21.2% |
PRIM bills 1.7× the revenue of GVA, and GVA keeps more of each dollar of revenue as profit (5.0% against 3.6%).
The stronger figure of the pair is set in bold. That is arithmetic, not a recommendation — this page does not pick a winner. "·" marks a figure not available in our data.
10 years side by side
| Fiscal year | GVA | PRIM |
|---|---|---|
| FY2025 | $4.4B | $7.6B |
| FY2024 | $4.0B | $6.4B |
| FY2023 | $3.5B | $5.7B |
| FY2022 | $3.3B | $4.4B |
| FY2021 | $3.5B | $3.5B |
| FY2020 | $3.6B | $3.5B |
| FY2019 | $2.9B | $3.1B |
| FY2018 | $3.3B | $2.9B |
| FY2017 | $3.0B | $2.4B |
| FY2016 | $2.5B | $2.0B |
Bottom line
| Fiscal year | GVA | PRIM |
|---|---|---|
| FY2025 | $193.0M | $274.9M |
| FY2024 | $126.3M | $180.9M |
| FY2023 | $43.6M | $126.1M |
| FY2022 | $83.3M | $133.0M |
| FY2021 | $10.1M | $115.7M |
| FY2020 | $-145.1M | $105.0M |
| FY2019 | $-60.2M | $82.3M |
| FY2018 | $582,000 | $77.5M |
| FY2017 | $34.1M | $72.4M |
| FY2016 | $57.1M | $26.7M |
17 fiscal years
| Fiscal year | Difference | Ahead |
|---|---|---|
| FY2025 | −$3,150,521,000 | PRIM |
| FY2024 | −$2,359,226,000 | PRIM |
| FY2023 | −$2,206,162,000 | PRIM |
| FY2022 | −$1,119,343,000 | PRIM |
| FY2021 | +$4,233,000 | GVA |
| FY2020 | +$70,962,000 | GVA |
| FY2019 | −$191,452,000 | PRIM |
| FY2018 | +$347,553,000 | GVA |
| FY2017 | +$578,379,000 | GVA |
| FY2016 | +$517,669,000 | GVA |
| FY2015 | +$441,614,000 | GVA |
| FY2014 | +$189,076,000 | GVA |
| FY2013 | +$322,681,000 | GVA |
| FY2012 | +$541,303,000 | GVA |
| FY2011 | +$549,381,000 | GVA |
| FY2010 | +$821,200,000 | GVA |
| FY2009 | +$1,496,469,000 | GVA |
The higher-revenue side has changed between GVA and PRIM over this period. The gap has widened since the earliest year compared.
17 of 18 comparable fiscal years — a year missing data on either side is not counted.
16 fiscal years
| Fiscal year | Difference | Ahead |
|---|---|---|
| FY2025 | +1.4 pp | GVA |
| FY2024 | +0.7 pp | GVA |
| FY2023 | −1.4 pp | PRIM |
| FY2022 | −0.6 pp | PRIM |
| FY2021 | −3.2 pp | PRIM |
| FY2020 | −7.7 pp | PRIM |
| FY2019 | −4.7 pp | PRIM |
| FY2018 | −2.6 pp | PRIM |
| FY2017 | −1.8 pp | PRIM |
| FY2016 | +1.2 pp | GVA |
| FY2015 | +1.0 pp | GVA |
| FY2014 | −1.5 pp | PRIM |
| FY2013 | −5.8 pp | PRIM |
| FY2012 | −0.9 pp | PRIM |
| FY2011 | −0.7 pp | PRIM |
| FY2010 | −7.1 pp | PRIM |
The higher net margin has changed hands between GVA and PRIM over this period.
16 of 18 comparable fiscal years — a year missing data on either side is not counted.
Standard deviation, each side
GVA's net margin has been more volatile than PRIM's over the 16 comparable fiscal years — 2.6 percentage points of standard deviation against 0.7.
16 of 18 comparable fiscal years — a year missing data on either side is not counted.
Year by year
The lead in net margin changed hands between GVA and PRIM over these 16 fiscal years — GVA led in 4 and PRIM in 12.
16 of 18 comparable fiscal years — a year missing data on either side is not counted.
Standard deviation, each side
GVA's return on equity has been more volatile than PRIM's over the 12 comparable fiscal years — 7.9 percentage points of standard deviation against 3.5.
12 of 18 comparable fiscal years — a year missing data on either side is not counted.
Year by year
The lead in return on equity changed hands between GVA and PRIM over these 12 fiscal years — GVA led in 1 and PRIM in 11.
12 of 18 comparable fiscal years — a year missing data on either side is not counted.