Earth Support Corp

Budget & Price Check · Methodology

How the Price Check is measured

Every source, rule, restatement and definition behind the Price Check, where ESC’s 40 published unit prices are set against 1,953 public bids for the same work. Written for the estimator who wants to check the arithmetic, including what the comparison can’t tell you.

  • 40 rates compared
  • 1,953 public bids
  • 230 lettings
  • 10 agencies
  • Built Sep 14, 2026
Where the evidence comes from

Lettings behind the Price Check, by agency · n = 230

202 of 230 lettings are from New England agencies

  • CTDOT102 lettings
  • MassDOT57 lettings
  • NHDOT23 lettings
  • MBTA10 lettings
  • RIDOT6 lettings
  • MaineDOT2 lettings
  • Maine Turnpike1 letting
  • VTrans1 letting
  • NCDOT24 lettings
  • TxDOT4 lettings

National agencies fill in only where New England had fewer than 3 lettings for the work.

01 · What we compare

One published rate against the field of public bids

A public pay line shows what bidders carried for a piece of work in a public letting. Rather than pick one of those prices, the Price Check reads the whole weighted field and shows where ESC’s published rate lands inside it.
The field
Every public bid on pay items that match the rate, restated to one basis: the middle half of the bids, the median, the spread either side, and the typical low bid.
ESC’s number
The price book’s published typical rate plus 10%, because a public pay-line price includes the general contractor’s markup on sub work (section 09).
The reading
ESC’s position against the median bid, the share of bids above ESC, and the pay lines where even the lowest bid was above ESC. Across every rate: ESC’s rate, as a general contractor carries it, sits under the median public bid on 33 of 40 published rates (27 of 32 with strong evidence). The median position across all 40 is −22.8%; 7 rates sit over the median.
Worked example · the rate with the most lettingsTemporary support of excavation, per SF of retained face (DOT basis) — Cantilever soldier pile & lagging716 public bids on 119 lettings, 2019–2026 · per SF · strong evidence
  • Middle half of bids
  • Median bid
  • Typical low bid
  • ESC rate, as a GC carries it (gold rule: our low–high range)
p10
$7.82/SF
p25
$53.23/SF
Median bid
$103/SF
p75
$163/SF
p90
$259/SF
Typical low bid
$24.29/SF
ESC as carried
$70.95/SF
Position
−31%

02 · Sources

Public agency bid tabulations from 10 agencies

Every price in the comparison comes from bid results that public agencies publish. New England agencies come first; NCDOT and TxDOT are added to a pool only when New England has fewer than 3 lettings for the work.
Public agencies behind the Price Check, with their lettings and bids
AgencyLettingsBids
Connecticut Department of TransportationCTDOT · CT · New England102728
Massachusetts Department of TransportationMassDOT · MA · New England57626
New Hampshire Department of TransportationNHDOT · NH · New England23131
Massachusetts Bay Transportation AuthorityMBTA · MA · New England1092
Rhode Island Department of TransportationRIDOT · RI · New England636
Maine Department of TransportationMaineDOT · ME · New England214
Maine Turnpike AuthorityMaineTurnpike · ME · New England13
Vermont Agency of TransportationVTrans · VT · New England12
North Carolina Department of TransportationNCDOT · NC · National24309
Texas Department of TransportationTxDOT · TX · National412

230 lettings and 1,953 distinct bids in all, bid years 2003–2026. The bid column adds up to 1,989: where one pay item is read by two evidence pools, its bids count in both. Individual tabulations are not linked (section 11).

03 · Matching & exclusions

Like for like, or not at all

A comparison is only as honest as its match. These rules decide which public pay items stand beside a published rate.
Printed description
Each published rate is matched to public pay items on the item’s printed description, so it is compared with pay items for the same work.
One unit
Prices and quantities are expressed in the book’s unit for each item (SF, CY, LF, EA and LB), so every bid is read per the same measure as the rate.
Enough lettings
A rate is compared only when its pay items appear on at least 3 lettings. Rates with less public evidence are left out rather than estimated; 40 rates across 18 book items clear the bar.
Marine structures
Pay items on marine structures are excluded from every pool.
Complete tabulations
Tabulations that don’t list every bidder’s prices are excluded, so a field is never just the winning bids.
New England first
Pools draw on New England agencies. National agencies are added only when New England has fewer than 3 lettings for the work; 3 of 21 pools needed them (section 12).

04 · Windows

2019 onward, when that leaves enough evidence

A pool reads bids from 2019 onward when that still leaves 8 lettings. Otherwise it reads all years, so a thin pool keeps the evidence that exists, and recency weighting (section 06) still leans it toward recent lettings.
11 of 21 evidence pools read 2019 onwardBid years in each pool, on one axis from 2003 to 2026. The other 10 reach back to all years, because 2019 onward left fewer than 8 lettings.
  1. Timber lagging, install (and remove where required)2015–2026 · 5 lettings, all years
  2. Temporary support of excavation, per SF of retained face (DOT basis)2019–2026 · 119 lettings, 2019 onward
  3. Underpinning, pit-and-pour (hand-dug sequential pits, concrete)2015–2023 · 4 lettings, all years
  4. Rock anchor, drilled, grouted, threadbar2012–2022 · 11 lettings, all years
  5. Rock dowel / footing pin, drilled & grouted (untensioned) — Up to 10 ft embedment2012–2023 · 11 lettings, all years
  6. Rock dowel / footing pin, drilled & grouted (untensioned) — Added embedment over base2012–2023 · 11 lettings, all years
  7. Anchor performance test2019–2026 · 11 lettings, 2019 onward
  8. Anchor performance test — Extended creep test2019–2024 · 4 lettings, all years
  9. Anchor proof test2019–2026 · 11 lettings, 2019 onward
  10. Soil nail, drilled & grouted2018–2023 · 3 lettings, all years
  11. Shotcrete facing (temporary), by ESC's shotcrete partner2018–2022 · 3 lettings, all years
  12. Soil nail verification / proof test — Verification test2019–2026 · 21 lettings, 2019 onward
  13. Soil nail verification / proof test — Proof test2019–2026 · 22 lettings, 2019 onward
  14. Soil nail wall, complete, per SF of face (assembly)2019–2026 · 26 lettings, 2019 onward
  15. Drilled shaft / caisson excavation in soil, by diameter2019–2026 · 17 lettings, 2019 onward
  16. Rock socket, by diameter2019–2026 · 23 lettings, 2019 onward
  17. Reinforcing cage, furnish & set (or set only)2013–2024 · 6 lettings, all years
  18. Crosshole sonic logging (CSL) access tubes2019–2025 · 12 lettings, 2019 onward
  19. Complete drilled shaft in soil (excavation, cage & concrete), by diameter2003–2026 · 13 lettings, all years
  20. Pile / anchor load test program2019–2025 · 20 lettings, 2019 onward
  21. Obstruction drilling, per LF by diameter2019–2026 · 13 lettings, 2019 onward

05 · Restatement

Every bid restated to 2026 dollars and a typical ESC job

Public bids come from different years, quantities and sizes. Three restatements put them on one basis before any statistic is taken.
  1. 01 · Dollars

    To 2026 dollars

    Each bid is moved to 2026 dollars with a construction price index measured from public bid results, so an older bid is read at current prices.

  2. 02 · Quantity

    To a typical ESC job

    Unit prices shift with the quantity bid, so each bid moves along a quantity-scale curve from its pay line’s printed quantity to the pool’s reference quantity: a typical ESC job size, listed per pool in section 12. 20 of 21 pools are restated this way; Pile / anchor load test program is compared as bid.

  3. 03 · Diameter

    Along a fitted curve

    Items priced by diameter form size families, fitted across 1254 in.: price at s = price at d × (s ÷ d)^b. Each bid keeps its printed diameter and is read at a rate’s size.

    • Drilled shaft / caisson excavation in soil, by diameterb = 0.9018 in. price × 2.14 at 42 in.
    • Rock socket, by diameterb = 0.8318 in. price × 2.02 at 42 in.
    • Complete drilled shaft in soil (excavation, cage & concrete), by diameterb = 1.1318 in. price × 2.60 at 42 in.
    • Obstruction drilling, per LF by diameterb = 0.9818 in. price × 2.30 at 42 in.

06 · Weighting

Recent lettings count more; every letting counts once

A letting’s weight halves every 3 years. Within a pool that weight is split evenly across the letting’s bids, so a letting that drew many bidders counts the same as one that drew a few. Pay lines share their letting’s weight the same way for the typical low bid.
What a letting counts for, by yearRelative to a 2026 letting, every 3 years back to 2003. Darker bars fall inside the 2019-onward window.
  1. 12026
  2. 1/22023
  3. 1/42020
  4. 1/82017
  5. 1/162014
  6. 1/322011
  7. 1/642008
  8. 1/1282005

A bid’s weight

0.5 ^ ((2026 − year) ÷ 3) ÷ bids from that letting in the pool

Every quantile, the typical low bid and the share of bids above ESC use these weights, which is why the field leans toward recent pricing without discarding older evidence.

07 · Definitions

Every statistic, precisely

Letting
One public contract opening: the bids an agency received for one contract.
Pay line
One pay item on one letting, as the agency printed it, with each bidder’s unit price for it.
Public bid
One bidder’s unit price on one pay line.
Evidence pool
Every public bid on the pay items matched to a published rate or a family of sizes, restated to one basis. A pool can serve several rates: 40 rates read 21 pools.
Weighted quantiles
p10, p25, median, p75 and p90. Sort a pool’s bids by price and place each bid at the midpoint of its slice of the total weight; the q-quantile interpolates linearly between the bids either side of q, and never goes below the lowest bid or above the highest.
Median public bid
The weighted p50 of the pool.
Middle half · middle 80%
p25 to p75 · p10 to p90.
Typical low bid
The weighted median, over the pool’s pay lines, of each line’s lowest bid.
ESC as carried
ESC published typical × 1.1, as a general contractor carries it (section 09).
Position
ESC as carried ÷ median public bid − 1. Negative is under the median.
Share of bids above ESC
The weighted share of the pool’s bids priced above ESC as carried.
Lines where even the low bid was above ESC
The count of pay lines whose lowest bid is above ESC as carried, out of all the pool’s pay lines.
Rates under the median
Rates with a position below zero: 33 of 40, and 27 of the 32 with strong evidence. 7 rates sit over the median.
Median position
The median, across all 40 rates, of each rate’s position: −22.8%. The median share of bids above ESC, taken the same way, is 61%.

08 · Evidence grades

Strong, moderate, or not published

Each rate is graded by the lettings behind it, and the grade travels with the rate wherever it appears.
  • 8+ lettings

    Strong

    32

    rates; 27 of them sit under the median bid.

  • 37 lettings

    Moderate

    8

    rates; 6 of them sit under the median bid. Read these as a direction, not a verdict.

  • Under 3 lettings

    Not published

    No comparison is shown. The rate stays in the price book, unbenchmarked.

An item whose rates carry different grades is marked mixed: 1 of 18 items.

09 · The GC basis

Why ESC’s rate is compared at +10%

A public pay-line price is what a general contractor carried for the work, and a GC carries a subcontractor’s price with its own markup on top. ESC quotes its scope to the GC, so the number that would appear on a public pay line is ESC’s rate as carried, not the rate as printed.
Worked exampleTemporary support of excavation, per SF of retained face (DOT basis) — Cantilever soldier pile & lagging
ESC published typical
$64.50/SF
GC markup (× 1.1)
+10%
ESC as carried
$70.95/SF
Median public bid
$103/SF
Position
−31%

Left out, the markup would flatter every rate: in this example the position would read −37% instead of −31%.

10% is one flat assumption applied the same way to every rate. Real markups on sub work vary by job and contract, so treat a position within a few percent of zero as at the median.

10 · What it is not

What the Price Check is not

Not a quote or a guarantee
ESC’s published rates are budget figures, and this places them in a public field. A firm price comes from your drawings, within 3 business days.
Not one job’s price
Public unit prices move with site, access and quantity, and some bidders unbalance line items, loading one pay item and lightening another. A single public price can sit far from the middle of the field, which is why the comparison reads the field.
Not private work
The field is public work, priced under agency specifications, prevailing wages, bonds and testing requirements. Private jobs can price differently.
Not the whole job
Mobilization, bonds and ground-condition adders are separate items in ESC’s price book and sit outside the per-unit comparison. Public bidders sometimes fold such items into their unit prices, one more reason to read the field rather than a single bid.
Not a verdict on any firm
The field is aggregated and anonymous. Nothing here rates, ranks or names another bidder.
Not exact
The price index, quantity-scale curve and diameter curves are estimates fitted to public data, and moderate-evidence rates rest on few lettings.

11 · Anonymity

No bidder, project or contract is identified

No bidder, contractor, project, contract number or town appears on the Budget & Price Check, on this page or in the downloads, and individual bid tabulations are not linked. Agencies are named because they publish the results.

Each bid in public-bids.csv carries only these fields. Its price is restated (section 05), so it is not the figure printed on any tabulation.

  • pool
  • item_id
  • unit
  • price_2026
  • bid_year
  • agency
  • rank_on_line
  • bidders_on_line
  • diameter_in
  • line_quantity

12 · Every pool

The evidence behind each comparison

All 21 evidence pools, in price book order. Pool IDs match the pool column of public-bids.csv.

The table scrolls sideways.

Every evidence pool with its unit, lettings, bids, years and window, region, reference quantity and size exponent
Evidence poolUnitLettingsBidsYears · windowRegionRef. qtySize exp. b
Timber lagging, install (and remove where required)spl-laggingSF5352015–2026All yearsNew England853 SF
Temporary support of excavation, per SF of retained face (DOT basis)soe-face-tempSF1197162019–20262019 onwardNew England546.5 SF
Underpinning, pit-and-pour (hand-dug sequential pits, concrete)underpin-cyCY4202015–2023All yearsNew England5.5 CY
Rock anchor, drilled, grouted, threadbarra-anchor-barLF11382012–2022All yearsNew England355 LF
Rock dowel / footing pin, drilled & grouted (untensioned) — Up to 10 ft embedmentra-dowel-10ftEA11362012–2023All yearsNew England35 EA
Rock dowel / footing pin, drilled & grouted (untensioned) — Added embedment over basera-dowel-lfLF11362012–2023All yearsNew England350 LF
Anchor performance testanc-test-perfEA11572019–20262019 onwardNew England3.5 EA
Anchor performance test — Extended creep testanc-test-creepEA4162019–2024All yearsNew England3.5 EA
Anchor proof testanc-test-proofEA11572019–20262019 onwardNew England6 EA
Soil nail, drilled & groutedsn-nailLF3172018–2023All yearsNew England1,200 LF
Shotcrete facing (temporary), by ESC's shotcrete partnersn-facingSF3202018–2022All yearsNew England2,000 SF
Soil nail verification / proof test — Verification testsn-test-verifEA211042019–20262019 onwardNew England and national2 EA
Soil nail verification / proof test — Proof testsn-test-proofEA221052019–20262019 onwardNew England and national6.5 EA
Soil nail wall, complete, per SF of face (assembly)sn-wallSF261182019–20262019 onwardNew England and national2,000 SF
Drilled shaft / caisson excavation in soil, by diameterds-shaft-soil-excLF171012019–20262019 onwardNew England140 LF0.90
Rock socket, by diameterds-socket-rock-excLF231392019–20262019 onwardNew England15.5 LF0.83
Reinforcing cage, furnish & set (or set only)ds-cageLB6262013–2024All yearsNew England9,438 LB
Crosshole sonic logging (CSL) access tubesds-csl-tubeLF12582019–20252019 onwardNew England552.5 LF
Complete drilled shaft in soil (excavation, cage & concrete), by diameterds-shaft-soil-completeLF131072003–2026All yearsNew England140 LF1.13
Pile / anchor load test programgc-load-test-static-axialEA201052019–20252019 onwardNew EnglandAs bid
Obstruction drilling, per LF by diameterobs-lfLF13782019–20262019 onwardNew England16 LF0.98

13 · Downloads

Check the arithmetic yourself

The comparison and every bid behind it, free to reuse with attribution (CC BY 4.0). Each file is rebuilt with the page.
  • bid-benchmarks.csv

    40 rows · 25 columns

    Every compared rate: ESC’s published low, typical, high and carried rate, the weighted field of public bids, ESC’s position in it and the evidence behind it.

    25 columns
    key
    Row key: the price book item ID, then the size or variant after “|”
    item_id
    Price book item ID
    item
    Item name as the price book prints it
    label
    Size or variant; blank for an item’s own row
    unit
    Unit of every price in the row
    esc_low
    ESC’s published low
    esc_typical
    ESC’s published typical
    esc_high
    ESC’s published high
    esc_carried
    ESC’s typical × 1.1, as a general contractor carries it: the rate every comparison uses
    p10
    Weighted 10th-percentile public bid
    p25
    Weighted 25th-percentile public bid
    median
    Weighted median public bid
    p75
    Weighted 75th-percentile public bid
    p90
    Weighted 90th-percentile public bid
    low_bid
    Typical low bid: the weighted median of each pay line’s lowest bid
    vs_median
    esc_carried ÷ median − 1; negative is under the median
    share_above
    Weighted share of public bids above esc_carried, from 0 to 1
    lines_below_low
    Pay lines whose lowest bid is above esc_carried
    lines
    Pay lines in the pool
    bids
    Public bids in the pool
    lettings
    Lettings in the pool
    evidence
    “strong” (8+ lettings) or “moderate” (3–7)
    year_min
    Earliest bid year in the pool
    year_max
    Latest bid year in the pool
    agencies
    Agency code:lettings pairs, most lettings first, separated by semicolons
  • public-bids.csv

    1,989 rows · 10 columns

    Every public bid behind the comparison, pool by pool, restated to 2026 dollars at its own printed diameter, with its agency, year and place on its pay line.

    10 columns
    pool
    Evidence pool ID, as listed in the pool table
    item_id
    Price book item ID the pool is matched to
    unit
    Unit of the price
    price_2026
    The bid’s unit price in 2026 dollars, restated to the pool’s reference quantity where it has one, at the pay line’s own diameter
    bid_year
    Year of the letting
    agency
    Agency code, as listed in the sources table
    rank_on_line
    1 is the lowest price on its pay line; ties share the lower rank
    bidders_on_line
    Bidders priced on the pay line
    diameter_in
    Diameter printed on the pay line, in inches; blank when none is printed
    line_quantity
    The pay line’s printed quantity in the book’s unit, before restatement; blank when none
  • bid-benchmarks.json

    JSON · CC BY 4.0

    Basis, summary, agencies, items, rates and pool metadata, in the same envelope as the site’s other public JSON. The bids themselves are in the CSV.

14 · Updates

Rebuilt with every price book revision

The benchmarks are rebuilt from the price book’s public export and the public tabulations with each revision. Before they publish, every ESC rate in them is checked against the rate the book prints; a mismatch stops them.
Benchmarks built
September 14, 2026
Price book
Rev 1, issued Sep 14, 2026
Valid through
December 13, 2026

Found a number that looks wrong? Tell us the rate and what you believe it should be, and we will check it against the data. Report a correction.

From budget to firm number

Send drawings. Get a firm, line-item quote within 3 business days.

Email the plan set, boring logs and your bid date. We return a signed, line-item quote within 3 business days, as a subcontractor to the general contractor.

Or go back to the Budget & Price Check and budget a scope in 30 seconds.

CallEmailStart Quote