
Rex says
Money math without the spreadsheet headache. Plug in your numbers and I'll show you exactly where the dollars land.
Try a scenario
Click to load — tweak from there.Inputs
Result
Final stacked price
$5,566
Total effective markup
39.1%
Price if capped per contract
$5,200
Amount exceeding contract cap
$366

Psst — share this and help Rex grow
One click, a permanent link with your numbers baked in.
How to use this
- 1Enter base labor + material cost ($).
- 2Enter sub-subcontractor markup (%).
- 3Enter subcontractor markup (%).
- 4Enter gc/cm markup (%).
- 5Enter contract markup cap (0 = no cap) (%).
- 6Read your final stacked price on the right — it updates as you type.
- 7Hit Share to keep the scenario or send it to someone.
About this calculator
On a multi-tier project — a sub-subcontractor doing the work, the sub marking it up, and the GC or CM marking up again — each layer of markup compounds on top of the previous layer's markup, not just the base cost, and owners frequently don't realize how much a small base cost change can balloon by the time it passes through three markup layers. This calculator lets you model up to three tiers of markup stacking on a single change order dollar amount so you can see exactly how much of the final number is base cost versus accumulated markup, which is essential both for a GC pricing a change order transparently and for an owner's rep reviewing one for reasonableness. Many contracts explicitly cap total stacked markup (for example, 20% combined maximum regardless of how many tiers touch the work) specifically to prevent this compounding effect from inflating small changes disproportionately.
Worked example
Using the values the calculator loads with:
Inputs
- Base labor + material cost: 4000 $
- Sub-subcontractor markup: 15 %
- Subcontractor markup: 10 %
- GC/CM markup: 10 %
- Contract markup cap (0 = no cap): 30 %
Results
- Final stacked price: $5,566.00
- Total effective markup: 39.1%
- Price if capped per contract: $5,200.00
- Amount exceeding contract cap: $366.00
What each field means
Inputs
- Base labor + material cost ($)
- The base labor + material cost used in the calculation, measured in $. Starts at 4000 $ so you have a working example on load.
- Sub-subcontractor markup (%)
- The sub-subcontractor markup used in the calculation, measured in %. Starts at 15 % so you have a working example on load. Accepted range: 0–30 %.
- Subcontractor markup (%)
- The subcontractor markup used in the calculation, measured in %. Starts at 10 % so you have a working example on load. Accepted range: 0–30 %.
- GC/CM markup (%)
- The gc/cm markup used in the calculation, measured in %. Starts at 10 % so you have a working example on load. Accepted range: 0–30 %.
- Contract markup cap (0 = no cap) (%)
- The contract markup cap (0 = no cap) used in the calculation, measured in %. Starts at 30 % so you have a working example on load. Accepted range: 0–100 %.
Results
- Final stacked price
- Returned as a money amount in US dollars and shown as the headline result. It recalculates instantly whenever you change an input, so you can compare scenarios without reloading.
- Total effective markup
- Returned as a percentage. It recalculates instantly whenever you change an input, so you can compare scenarios without reloading.
- Price if capped per contract
- Returned as a money amount in US dollars. It recalculates instantly whenever you change an input, so you can compare scenarios without reloading.
- Amount exceeding contract cap
- Returned as a money amount in US dollars. It recalculates instantly whenever you change an input, so you can compare scenarios without reloading.
FAQ
Why does 15% + 10% + 10% stacked markup add up to more than 35%?
Because each tier applies its percentage to the previous tier's already-marked-up total, not the original base cost, the effect compounds: 15% then 10% then 10% stacked multiplicatively works out to roughly 39% total markup on the original base cost, not the 35% you'd get from simply adding the three percentages together. This compounding is exactly why owners push for markup caps.
What's a reasonable total markup cap to negotiate into a contract?
Many standard contract forms and public agency guidelines cap total combined markup across all tiers at 15-25% of the base change order cost specifically to prevent compounding stacking from inflating small changes. The right number depends on how many tiers are realistically involved — a two-tier structure (sub plus GC) can reasonably run a bit lower than a three-tier structure with a sub-subcontractor involved.
Does a markup cap apply to base cost or to each tier's markup separately?
Effective caps are almost always written against total price relative to base cost (i.e., the final number can't exceed base cost plus X%), not as a limit on each tier's individual percentage, because capping only individual tier percentages does nothing to stop the compounding effect this calculator demonstrates. Read the actual cap language carefully — vague wording here is a common source of disputes.
How should a GC present this to an owner without looking like they're overcharging?
Show the base cost and each tier's markup percentage explicitly rather than presenting only the final number, and reference the contract's markup cap clause to demonstrate the pricing is compliant. Transparency here builds trust and heads off disputes that otherwise drag out payment on legitimate change order work.
Accuracy and limitations
- Results are estimates before tax, fees, and inflation unless an input explicitly covers them.
- Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.
- This is educational maths, not financial advice. Check anything contractual with the lender or your accountant.
Related tools
Change Order Pricing Calculator
Price added scope with labor, material, equipment, markup, and bond adder.
General Contractor Fee Calculator
Compute GC fee on a cost-plus-fee contract and the guaranteed max price.
Overhead & Profit Allocation Calculator
Split company overhead recovery and profit target across a bid.
Cite this calculator
Writing about this topic? Grab a citation — every link helps keep these tools free.
RevenueLab. (2026). Change Order Markup Stacking Calculator. Retrieved from https://www.revenuelab.fyi/toolbox/change-order-markup-stacking
<p>Source: <a href="https://www.revenuelab.fyi/toolbox/change-order-markup-stacking" target="_blank" rel="noopener">Change Order Markup Stacking Calculator — RevenueLab</a> (2026).</p>
Source: [Change Order Markup Stacking Calculator — RevenueLab](https://www.revenuelab.fyi/toolbox/change-order-markup-stacking) (2026).
