Skip to main content

Methodology

Subcontractor Markup Planner methodology

Price subcontracted delivery after coordination, a percentage risk buffer, any explicit risk allowance and target margin.

Educational only: Business decision support, not accounting, tax or legal advice.

Privacy: Calculations run locally; Margin101 does not receive your commercial inputs.

Update policy: Reviewed when formulas or official dependencies change.

Scope: Market-neutral small-business planning using your own assumptions.

1. Formulas and units

Minimum Client Price
minimumClientPrice = total delivery cost ÷ (1 − target margin)

Where

targetMargin
Target margin (proportion of client price retained as contribution)Source: User decision
minimumClientPrice
Minimum Client Price (currency units/project)Source: Calculated output
totalDeliveryCost
Total Delivery Cost (currency units/project)Source: Calculated output
Base Delivery Cost
baseDeliveryCost = subcontractor cost + coordination hours × internal cost per hour

Where

subcontractorCost
Subcontractor cost (currency units/project)Source: Business record
coordinationHours
Coordination hours (hours/project)Source: User assumption
internalCostPerHour
Internal cost per hour (currency units/hour)Source: Business record
baseDeliveryCost
Base Delivery Cost (currency units/project)Source: Calculated output
totalDeliveryCost
Total Delivery Cost (currency units/project)Source: Calculated output
Protected Delivery Cost
protectedDeliveryCost = base delivery cost ÷ (1 − risk buffer rate)

Where

riskBufferRate
Risk buffer rate (proportion of base delivery cost protected for risk)Source: User assumption
baseDeliveryCost
Base Delivery Cost (currency units/project)Source: Calculated output
protectedDeliveryCost
Protected Delivery Cost (currency units/project)Source: Calculated output
totalDeliveryCost
Total Delivery Cost (currency units/project)Source: Calculated output
Total Delivery Cost
totalDeliveryCost = protected delivery cost + additional risk allowance

Where

riskAllowance
Additional risk allowance (currency units/project)Source: User assumption
protectedDeliveryCost
Protected Delivery Cost (currency units/project)Source: Calculated output
totalDeliveryCost
Total Delivery Cost (currency units/project)Source: Calculated output
Required Markup
requiredMarkup = minimum client price ÷ subcontractor cost − 1

Where

subcontractorCost
Subcontractor cost (currency units/project)Source: Business record
minimumClientPrice
Minimum Client Price (currency units/project)Source: Calculated output
requiredMarkup
Required Markup (decimal rate)Source: Calculated output
Proposed Contribution
proposedContribution = proposed price − total delivery cost

Where

totalDeliveryCost
Total Delivery Cost (currency units/project)Source: Calculated output
proposedContribution
Proposed Contribution (currency units/project)Source: Calculated output
Proposed Margin
proposedMargin = proposed contribution ÷ proposed price

Where

proposedContribution
Proposed Contribution (currency units/project)Source: Calculated output
proposedMargin
Proposed Margin (decimal rate)Source: Calculated output

Money inputs and outputs use the currency selected in the scenario without changing the canonical methodology. Rates, margins, utilisation and buffers are entered as percentages and converted to decimal values for calculation.

2. Worked example

Input assumptions

The worked rows are rendered from the registered engine and visible default fixture.

Subcontractor cost
3,000 currency units/project
Coordination hours
8 hours/project
Internal cost per hour
60 currency units/hour
Risk buffer rate
0 proportion of base delivery cost protected for risk
Additional risk allowance
300 currency units/project
Target margin
0.3 proportion of client price retained as contribution
Proposed client price
5,500 currency units/project

Calculation and outputs

  1. minimumClientPrice

    minimumClientPrice = total delivery cost ÷ (1 − target margin)
    Subcontractor cost
    3,000 currency units/project
    Internal cost per hour
    60 currency units/hour
    Target margin
    0.3 proportion of client price retained as contribution
    baseDeliveryCost
    3,480 declared output unit
    protectedDeliveryCost
    3,480 declared output unit
    totalDeliveryCost
    3,780 declared output unit
    proposedMargin
    0.312727 declared output unit

    Engine result: 5,400

  2. baseDeliveryCost

    baseDeliveryCost = subcontractor cost + coordination hours × internal cost per hour
    Subcontractor cost
    3,000 currency units/project
    Coordination hours
    8 hours/project
    Internal cost per hour
    60 currency units/hour
    protectedDeliveryCost
    3,480 declared output unit
    totalDeliveryCost
    3,780 declared output unit

    Engine result: 3,480

  3. protectedDeliveryCost

    protectedDeliveryCost = base delivery cost ÷ (1 − risk buffer rate)
    Subcontractor cost
    3,000 currency units/project
    Internal cost per hour
    60 currency units/hour
    Risk buffer rate
    0 proportion of base delivery cost protected for risk
    Additional risk allowance
    300 currency units/project
    baseDeliveryCost
    3,480 declared output unit
    totalDeliveryCost
    3,780 declared output unit

    Engine result: 3,480

  4. totalDeliveryCost

    totalDeliveryCost = protected delivery cost + additional risk allowance
    Subcontractor cost
    3,000 currency units/project
    Internal cost per hour
    60 currency units/hour
    Risk buffer rate
    0 proportion of base delivery cost protected for risk
    Additional risk allowance
    300 currency units/project
    baseDeliveryCost
    3,480 declared output unit
    protectedDeliveryCost
    3,480 declared output unit

    Engine result: 3,780

  5. requiredMarkup

    requiredMarkup = minimum client price ÷ subcontractor cost − 1
    Subcontractor cost
    3,000 currency units/project
    Internal cost per hour
    60 currency units/hour
    Proposed client price
    5,500 currency units/project
    minimumClientPrice
    5,400 declared output unit
    baseDeliveryCost
    3,480 declared output unit
    protectedDeliveryCost
    3,480 declared output unit
    totalDeliveryCost
    3,780 declared output unit

    Engine result: 0.8

  6. proposedContribution

    proposedContribution = proposed price − total delivery cost
    Subcontractor cost
    3,000 currency units/project
    Internal cost per hour
    60 currency units/hour
    Proposed client price
    5,500 currency units/project
    minimumClientPrice
    5,400 declared output unit
    baseDeliveryCost
    3,480 declared output unit
    protectedDeliveryCost
    3,480 declared output unit
    totalDeliveryCost
    3,780 declared output unit
    proposedMargin
    0.312727 declared output unit

    Engine result: 1,720

  7. proposedMargin

    proposedMargin = proposed contribution ÷ proposed price
    Proposed client price
    5,500 currency units/project
    minimumClientPrice
    5,400 declared output unit
    proposedContribution
    1,720 declared output unit

    Engine result: 0.312727

Example

The worked rows are rendered from the registered engine and visible default fixture.

Base Delivery Cost
3,480 currency units/project
Protected Delivery Cost
3,480 currency units/project
Total Delivery Cost
3,780 currency units/project
Minimum Client Price
5,400 currency units/project
Required Markup
80%
Proposed Contribution
1,720 currency units/project
Proposed Margin
31.3%

The exact engine-derived outputs are shown in the labelled rows below.

Interpretation

The subcontractor markup result uses only the entered commercial assumptions.

Scenario study: project decision boundary

Separate recovery, coordination and contribution

Keep the subcontractor invoice distinct from evidenced coordination and risk costs, then apply the user-selected target margin once.

Input basis

  • Fictional subcontractor invoice: 10,000 CU.
  • Coordination: 10 hours at 80 CU per hour; other evidenced risk cost: 200 CU.
  • User-selected target margin: 20%; all values before indirect tax.
RowIntermediate calculationResult
Coordination cost10 × 80800 CU
Total delivery cost10,000 + 800 + 20011,000 CU
Minimum client price11,000 ÷ (1 − 0.20)13,750 CU
Markup on subcontract cost(13,750 − 10,000) ÷ 10,00037.5%
Margin on client price(13,750 − 11,000) ÷ 13,75020%

Interpretation

Markup and margin differ because they use different denominators. The example prevents an unexplained markup from hiding coordination cost or double counting overhead.

Boundaries and next step

  • No universal markup, coordination allowance or legal responsibility rule is supplied.
  • Change subcontract cost, coordination cost and target margin independently before combining sensitivities.

Continue with Subcontractor Markup Planner or service-pricing and quoting guide.

3. Validation and boundary checks

  • Inputs must be finite and remain within the visible boundaries.
  • Rates are decimal values and all monetary inputs use one consistent currency and period.
  • Whole operational capacity is rounded only where the engine explicitly applies floor or ceiling.
Subcontractor cost minimum
subcontractorCost ≥ 0 currency units/projectA lower value is rejected before calculation.
Subcontractor cost maximum
subcontractorCost ≤ 10,000,000 currency units/projectA higher value is rejected before calculation.
Coordination hours minimum
coordinationHours ≥ 0 hours/projectA lower value is rejected before calculation.
Coordination hours maximum
coordinationHours ≤ 10,000,000 hours/projectA higher value is rejected before calculation.
Internal cost per hour minimum
internalCostPerHour ≥ 0 currency units/hourA lower value is rejected before calculation.
Internal cost per hour maximum
internalCostPerHour ≤ 10,000,000 currency units/hourA higher value is rejected before calculation.
Risk buffer rate minimum
riskBufferRate ≥ 0 proportion of base delivery cost protected for riskA lower value is rejected before calculation.
Risk buffer rate maximum
riskBufferRate ≤ 0.99 proportion of base delivery cost protected for riskA higher value is rejected before calculation.
Additional risk allowance minimum
riskAllowance ≥ 0 currency units/projectA lower value is rejected before calculation.
Additional risk allowance maximum
riskAllowance ≤ 10,000,000 currency units/projectA higher value is rejected before calculation.
Target margin minimum
targetMargin ≥ 0 proportion of client price retained as contributionA lower value is rejected before calculation.
Target margin maximum
targetMargin ≤ 0.99 proportion of client price retained as contributionA higher value is rejected before calculation.
Proposed client price minimum
proposedClientPrice ≥ 0 currency units/projectA lower value is rejected before calculation.
Proposed client price maximum
proposedClientPrice ≤ 10,000,000 currency units/projectA higher value is rejected before calculation.

4. Assumptions and source classification

  • All costs, prices, hours, probabilities and volumes are user-supplied; no market benchmark is inferred.
  • Tax is outside these neutral commercial comparisons.
  • The engine retains full precision; formatting never feeds back into calculation.

This planner has no current policy-data dependency. Its commercial assumptions are user supplied. Registered family-level regression suites exercise the shared business-logic engine and worked-result reconciliation.

5. Limitations

  • The model does not predict demand, delivery performance, contract enforceability or customer behaviour.
  • It does not replace accounting, tax, legal or financial advice.

This is educational decision support, not tax, accounting, legal or financial advice. Check the treatment of your actual transactions under the rules that apply to your business and seek qualified advice where appropriate.

6. Update and evidence policy

Registered family-level suites test formula invariants and example reconciliation; the release ledger records that coverage without claiming a separate oracle for every line of public copy. There is no official threshold or benchmark to refresh for this planner. Commercial inputs remain user-supplied because they vary by business and contract.

Change history

  1. : Initial public release of the Subcontractor Markup planner and methodology.

Guides to interpret the decision and its assumptions.

Return to the planner