XML 59 R45.htm IDEA: XBRL DOCUMENT
v3.8.0.1

Reportable Segments (Tables) | 12 Months Ended
--- | ---
Dec. 31, 2017
Reportable Segments |
Schedule of revenue by segment | Revenue by segment for the years ended December 31, 2017, 2016 and 2015 was as follows (in thousands):
|  | 2017 |  | 2016 |  | 2015 |
|  |  |  |  | % of |  |  |  |  | % of |  |  |  |  | % of |
|  |  |  |  | Total |  |  |  |  | Total |  |  |  |  | Total |
Segment |  | Revenue |  | Revenue |  | Revenue |  | Revenue |  | Revenue |  | Revenue |
Power |  | $ | 606,125 |  | 25.5% |  | $ | 478,653 |  | 24.0% |  | $ | 466,292 |  | 24.2% |
Pipeline |  |  | 465,570 |  | 19.5% |  |  | 401,931 |  | 20.1% |  |  | 299,365 |  | 15.5% |
Utilities |  |  | 806,523 |  | 33.9% |  |  | 637,212 |  | 31.9% |  |  | 587,047 |  | 30.4% |
Civil |  |  | 501,777 |  | 21.1% |  |  | 479,152 |  | 24.0% |  |  | 576,711 |  | 29.9% |
Total |  | $ | 2,379,995 |  | 100.0% |  | $ | 1,996,948 |  | 100.0% |  | $ | 1,929,415 |  | 100.0% |
Schedule of gross profit by segment | Gross profit by segment for the years ended December 31, 2017, 2016 and 2015 was as follows (in thousands):
|  | 2017 |  | 2016 |  | 2015 |
|  |  |  |  | % of |  |  |  |  | % of |  |  |  |  | % of |
|  |  |  |  | Segment |  |  |  |  | Segment |  |  |  |  |  |
Segment |  | Gross Profit |  | Revenue |  | Gross Profit |  | Revenue |  | Gross Profit |  | Revenue |
Power |  | $ | 65,675 |  | 10.8% |  | $ | 49,807 |  | 10.4% |  | $ | 53,620 |  | 11.5% |
Pipeline |  |  | 92,087 |  | 19.8% |  |  | 68,100 |  | 16.9% |  |  | 24,685 |  | 8.2% |
Utilities |  |  | 113,037 |  | 14.0% |  |  | 100,071 |  | 15.7% |  |  | 96,450 |  | 16.4% |
Civil |  |  | 7,635 |  | 1.5% |  |  | (16,671) |  | (3.5%) |  |  | 45,118 |  | 7.8% |
Total |  | $ | 278,434 |  | 11.7% |  | $ | 201,307 |  | 10.1% |  | $ | 219,873 |  | 11.4% |

X
- Definition Tabular disclosure of the gross profit for each reportable segment. + References No definition available. + Details
Name: | prim_ScheduleOfSegmentReportingInformationGrossProfitBySegmentTableTextBlock
Namespace Prefix: | prim_
Data Type: | nonnum:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of the revenue for each reportable segment. + References No definition available. + Details
Name: | prim_ScheduleOfSegmentReportingInformationRevenueBySegmentTableTextBlock
Namespace Prefix: | prim_
Data Type: | nonnum: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