Skip to main content

Methodology

Trade Call-out Fee Planner methodology

Protect the cost and displaced capacity of attending a small or uncertain field-service job. Set a minimum trade call-out charge from mobilisation and diagnostic time, travel distance, vehicle cost, fixed dispatch cost 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

Labour and travel cost
labourAndTravelCostExTax = (travel + diagnostic hours) * loaded labour rate + distance cost + mobilisation

Where

mobilisationCostExTax
Mobilisation and dispatch cost (currency units/call-out, ex tax)Source: Business record
travelHours
Round-trip travel hours (hours/call-out)Source: Business record
diagnosticHours
Included diagnostic hours (hours/call-out)Source: Business record
labourAndTravelCostExTax
Labour and travel cost (currency units, ex tax)Source: Calculated output
Capacity displacement cost
capacityDisplacementCostExTax = displaced billable hours * displaced contribution per hour

Where

displacedBillableHours
Displaced billable hours (hours/call-out)Source: Business record
displacedContributionPerHourExTax
Displaced contribution per hour (currency units/hour, ex tax)Source: Business record
capacityDisplacementCostExTax
Capacity displacement cost (currency units, ex tax)Source: Calculated output
Protected call-out cost
protectedCalloutCostExTax = labour/travel cost + capacity displacement cost

Where

labourAndTravelCostExTax
Labour and travel cost (currency units, ex tax)Source: Calculated output
capacityDisplacementCostExTax
Capacity displacement cost (currency units, ex tax)Source: Calculated output
protectedCalloutCostExTax
Protected call-out cost (currency units, ex tax)Source: Calculated output
Minimum call-out fee
requiredCalloutFeeExTax = protected call-out cost / (1 - target margin)

Where

targetCalloutMargin
Target call-out margin (decimal fraction of call-out fee)Source: Business record
protectedCalloutCostExTax
Protected call-out cost (currency units, ex tax)Source: Calculated output
requiredCalloutFeeExTax
Minimum call-out fee (currency units, ex tax)Source: Calculated output
Expected follow-on contribution
expectedFollowOnContributionExTax = conversion rate * follow-on job contribution

Where

expectedJobConversionRate
Expected follow-on job conversion (decimal fraction of call-outs converting to follow-on work)Source: Business record
expectedFollowOnJobContributionExTax
Follow-on job contribution (currency units/converted follow-on job, ex tax)Source: Business record
expectedFollowOnContributionExTax
Expected follow-on contribution (currency units, ex tax)Source: Calculated output
Expected economic contribution
expectedEconomicContributionExTax = proposed fee - protected cost + expected follow-on contribution

Where

expectedFollowOnContributionExTax
Expected follow-on contribution (currency units, ex tax)Source: Calculated output
expectedEconomicContributionExTax
Expected economic contribution (currency units, ex tax)Source: Calculated output
Proposed fee gap
proposedFeeGapExTax = proposed fee - required call-out fee

Where

proposedCalloutFeeExTax
Proposed call-out fee (currency units/call-out, ex tax)Source: Business record
proposedFeeGapExTax
Proposed fee gap (currency units, ex tax)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 below are evaluated at render time by the same shared engine and visible default fixture as the interactive workflow.

Mobilisation and dispatch cost
18 currency units/call-out, ex tax
Round-trip travel hours
0.75 hours/call-out
Included diagnostic hours
0.5 hours/call-out
Loaded trade labour cost per hour
58 currency units/hour, ex tax
Round-trip distance
34 kilometres/call-out
Vehicle cost per kilometre
0.92 currency units/kilometre, ex tax
Displaced billable hours
0.5 hours/call-out
Displaced contribution per hour
55 currency units/hour, ex tax
Expected follow-on job conversion
0.55 decimal fraction of call-outs converting to follow-on work
Follow-on job contribution
260 currency units/converted follow-on job, ex tax
Target call-out margin
0.3 decimal fraction of call-out fee
Proposed call-out fee
145 currency units/call-out, ex tax

Calculation and outputs

  1. Labour and travel cost

    labourAndTravelCostExTax = (travel + diagnostic hours) * loaded labour rate + distance cost + mobilisation
    Mobilisation and dispatch cost
    18 currency units/call-out, ex tax
    Round-trip travel hours
    0.75 hours/call-out
    Included diagnostic hours
    0.5 hours/call-out
    Loaded trade labour cost per hour
    58 currency units/hour, ex tax
    Round-trip distance
    34 kilometres/call-out
    Vehicle cost per kilometre
    0.92 currency units/kilometre, ex tax
    Displaced billable hours
    0.5 hours/call-out
    Expected follow-on job conversion
    0.55 decimal fraction of call-outs converting to follow-on work
    Capacity displacement cost
    27.5 money
    Protected call-out cost
    149.28 money

    Engine result: 121.78 money

  2. Capacity displacement cost

    capacityDisplacementCostExTax = displaced billable hours * displaced contribution per hour
    Round-trip travel hours
    0.75 hours/call-out
    Included diagnostic hours
    0.5 hours/call-out
    Loaded trade labour cost per hour
    58 currency units/hour, ex tax
    Displaced billable hours
    0.5 hours/call-out
    Displaced contribution per hour
    55 currency units/hour, ex tax
    Follow-on job contribution
    260 currency units/converted follow-on job, ex tax
    Expected follow-on contribution
    143 money
    Expected economic contribution
    138.72 money

    Engine result: 27.5 money

  3. Protected call-out cost

    protectedCalloutCostExTax = labour/travel cost + capacity displacement cost
    Mobilisation and dispatch cost
    18 currency units/call-out, ex tax
    Round-trip travel hours
    0.75 hours/call-out
    Loaded trade labour cost per hour
    58 currency units/hour, ex tax
    Vehicle cost per kilometre
    0.92 currency units/kilometre, ex tax
    Labour and travel cost
    121.78 money
    Capacity displacement cost
    27.5 money

    Engine result: 149.28 money

  4. Minimum call-out fee

    requiredCalloutFeeExTax = protected call-out cost / (1 - target margin)
    Mobilisation and dispatch cost
    18 currency units/call-out, ex tax
    Loaded trade labour cost per hour
    58 currency units/hour, ex tax
    Vehicle cost per kilometre
    0.92 currency units/kilometre, ex tax
    Target call-out margin
    0.3 decimal fraction of call-out fee
    Proposed call-out fee
    145 currency units/call-out, ex tax
    Labour and travel cost
    121.78 money
    Capacity displacement cost
    27.5 money
    Protected call-out cost
    149.28 money

    Engine result: 213.257143 money

  5. Expected follow-on contribution

    expectedFollowOnContributionExTax = conversion rate * follow-on job contribution
    Loaded trade labour cost per hour
    58 currency units/hour, ex tax
    Displaced contribution per hour
    55 currency units/hour, ex tax
    Expected follow-on job conversion
    0.55 decimal fraction of call-outs converting to follow-on work
    Follow-on job contribution
    260 currency units/converted follow-on job, ex tax
    Expected economic contribution
    138.72 money

    Engine result: 143 money

  6. Expected economic contribution

    expectedEconomicContributionExTax = proposed fee - protected cost + expected follow-on contribution
    Mobilisation and dispatch cost
    18 currency units/call-out, ex tax
    Loaded trade labour cost per hour
    58 currency units/hour, ex tax
    Vehicle cost per kilometre
    0.92 currency units/kilometre, ex tax
    Displaced contribution per hour
    55 currency units/hour, ex tax
    Expected follow-on job conversion
    0.55 decimal fraction of call-outs converting to follow-on work
    Follow-on job contribution
    260 currency units/converted follow-on job, ex tax
    Proposed call-out fee
    145 currency units/call-out, ex tax
    Labour and travel cost
    121.78 money
    Capacity displacement cost
    27.5 money
    Protected call-out cost
    149.28 money
    Minimum call-out fee
    213.257143 money
    Expected follow-on contribution
    143 money
    Proposed fee gap
    -68.257143 money

    Engine result: 138.72 money

  7. Proposed fee gap

    proposedFeeGapExTax = proposed fee - required call-out fee
    Target call-out margin
    0.3 decimal fraction of call-out fee
    Proposed call-out fee
    145 currency units/call-out, ex tax
    Protected call-out cost
    149.28 money
    Minimum call-out fee
    213.257143 money

    Engine result: -68.257143 money

Example

The worked rows below are evaluated at render time by the same shared engine and visible default fixture as the interactive workflow.

Labour and travel cost
121.78 currency units
Capacity displacement cost
27.5 currency units
Protected call-out cost
149.28 currency units
Minimum call-out fee
213.26 currency units
Expected follow-on contribution
143 currency units
Expected economic contribution
138.72 currency units
Proposed fee gap
-68.26 currency units

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

Interpretation

The required fee protects the entered mobilisation and capacity burden; it is not a market-rate recommendation.

3. Validation and boundary checks

  • All inputs must be finite and inside the visible validation boundaries.
  • Rates are retained as decimal values and shown as percentages only at the presentation boundary.
  • The worked fixture must expose every declared result: labourAndTravelCostExTax, capacityDisplacementCostExTax, protectedCalloutCostExTax, requiredCalloutFeeExTax, expectedFollowOnContributionExTax, expectedEconomicContributionExTax, proposedFeeGapExTax.
  • Scenario comparison changes one declared driver while holding the remaining industry records constant.
Mobilisation and dispatch cost minimum
mobilisationCostExTax โ‰ฅ 0 currency units/call-out, ex tax โ€” A lower value is rejected before calculation.
Mobilisation and dispatch cost maximum
mobilisationCostExTax โ‰ค 10,000,000 currency units/call-out, ex tax โ€” A higher value is rejected before calculation.
Round-trip travel hours minimum
travelHours โ‰ฅ 0 hours/call-out โ€” A lower value is rejected before calculation.
Round-trip travel hours maximum
travelHours โ‰ค 168 hours/call-out โ€” A higher value is rejected before calculation.
Included diagnostic hours minimum
diagnosticHours โ‰ฅ 0 hours/call-out โ€” A lower value is rejected before calculation.
Included diagnostic hours maximum
diagnosticHours โ‰ค 168 hours/call-out โ€” A higher value is rejected before calculation.
Loaded trade labour cost per hour minimum
loadedTradeLabourRateExTax โ‰ฅ 0 currency units/hour, ex tax โ€” A lower value is rejected before calculation.
Loaded trade labour cost per hour maximum
loadedTradeLabourRateExTax โ‰ค 10,000,000 currency units/hour, ex tax โ€” A higher value is rejected before calculation.
Round-trip distance minimum
roundTripDistanceKm โ‰ฅ 0 kilometres/call-out โ€” A lower value is rejected before calculation.
Round-trip distance maximum
roundTripDistanceKm โ‰ค 100,000 kilometres/call-out โ€” A higher value is rejected before calculation.
Vehicle cost per kilometre minimum
vehicleCostPerKmExTax โ‰ฅ 0 currency units/kilometre, ex tax โ€” A lower value is rejected before calculation.
Vehicle cost per kilometre maximum
vehicleCostPerKmExTax โ‰ค 10,000,000 currency units/kilometre, ex tax โ€” A higher value is rejected before calculation.
Displaced billable hours minimum
displacedBillableHours โ‰ฅ 0 hours/call-out โ€” A lower value is rejected before calculation.
Displaced billable hours maximum
displacedBillableHours โ‰ค 168 hours/call-out โ€” A higher value is rejected before calculation.
Displaced contribution per hour minimum
displacedContributionPerHourExTax โ‰ฅ 0 currency units/hour, ex tax โ€” A lower value is rejected before calculation.
Displaced contribution per hour maximum
displacedContributionPerHourExTax โ‰ค 10,000,000 currency units/hour, ex tax โ€” A higher value is rejected before calculation.
Expected follow-on job conversion minimum
expectedJobConversionRate โ‰ฅ 0 decimal fraction of call-outs converting to follow-on work โ€” A lower value is rejected before calculation.
Expected follow-on job conversion maximum
expectedJobConversionRate โ‰ค 1 decimal fraction of call-outs converting to follow-on work โ€” A higher value is rejected before calculation.
Follow-on job contribution minimum
expectedFollowOnJobContributionExTax โ‰ฅ 0 currency units/converted follow-on job, ex tax โ€” A lower value is rejected before calculation.
Follow-on job contribution maximum
expectedFollowOnJobContributionExTax โ‰ค 10,000,000 currency units/converted follow-on job, ex tax โ€” A higher value is rejected before calculation.
Target call-out margin minimum
targetCalloutMargin โ‰ฅ 0 decimal fraction of call-out fee โ€” A lower value is rejected before calculation.
Target call-out margin maximum
targetCalloutMargin โ‰ค 0.99 decimal fraction of call-out fee โ€” A higher value is rejected before calculation.
Proposed call-out fee minimum
proposedCalloutFeeExTax โ‰ฅ 0 currency units/call-out, ex tax โ€” A lower value is rejected before calculation.
Proposed call-out fee maximum
proposedCalloutFeeExTax โ‰ค 10,000,000 currency units/call-out, ex tax โ€” A higher value is rejected before calculation.

4. Assumptions and source classification

  • Costs, capacity, contract terms, tax rates and targets are supplied by the user.
  • No provider default, jurisdictional rule or industry benchmark is embedded.
  • The shared engine retains full precision and display formatting never feeds 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

  • Results are only as reliable as the timing, scope and basis of the entered records.
  • The workflow does not predict demand or establish accounting, tax, contractual or legal treatment.

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 planner and methodology after pre-launch calculation, content, source and interaction review.

Guides to interpret the decision and its assumptions.

Return to the planner