Skip to main content

Methodology

Agency Blended Rate Planner methodology

Weight a mixed delivery team into a margin-protected rate.

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 Blended Rate
minimumBlendedRate = minimum revenue ÷ productive hours

Where

minimumBlendedRate
Minimum Blended Rate (currency units/hour)Source: Calculated output
totalHours
Total Hours (hours/project)Source: Calculated output
productiveHours
Productive Hours (hours/project)Source: Calculated output
minimumRevenue
Minimum Revenue (currency units/project)Source: Calculated output
Total Hours
totalHours = senior hours + junior hours

Where

seniorHours
Senior hours (hours/project)Source: User assumption
juniorHours
Junior hours (hours/project)Source: User assumption
totalHours
Total Hours (hours/project)Source: Calculated output
Productive Hours
productiveHours = total hours × target utilisation

Where

targetUtilisation
Target utilisation (proportion of paid agency capacity billable)Source: User decision
totalHours
Total Hours (hours/project)Source: Calculated output
productiveHours
Productive Hours (hours/project)Source: Calculated output
Delivery Cost
deliveryCost = senior cost + junior cost + project overhead

Where

projectOverhead
Project overhead (currency units/project)Source: Business record
deliveryCost
Delivery Cost (currency units/project)Source: Calculated output
Blended Cost Rate
blendedCostRate = delivery cost ÷ total hours

Where

totalHours
Total Hours (hours/project)Source: Calculated output
deliveryCost
Delivery Cost (currency units/project)Source: Calculated output
blendedCostRate
Blended Cost Rate (currency units/hour)Source: Calculated output
Utilisation Adjusted Cost Rate
utilisationAdjustedCostRate = delivery cost ÷ productive hours

Where

totalHours
Total Hours (hours/project)Source: Calculated output
productiveHours
Productive Hours (hours/project)Source: Calculated output
deliveryCost
Delivery Cost (currency units/project)Source: Calculated output
utilisationAdjustedCostRate
Utilisation Adjusted Cost Rate (currency units/hour)Source: Calculated output
Minimum Revenue
minimumRevenue = delivery cost ÷ (1 − target margin)

Where

targetMargin
Target margin (proportion of project fee retained as contribution)Source: User decision
deliveryCost
Delivery Cost (currency units/project)Source: Calculated output
minimumRevenue
Minimum Revenue (currency units/project)Source: Calculated output
Target Contribution
targetContribution = minimum revenue − delivery cost

Where

deliveryCost
Delivery Cost (currency units/project)Source: Calculated output
minimumRevenue
Minimum Revenue (currency units/project)Source: Calculated output
targetContribution
Target Contribution (currency units/project)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.

Senior hours
20 hours/project
Senior cost per hour
110 currency units/hour
Junior hours
30 hours/project
Junior cost per hour
55 currency units/hour
Project overhead
500 currency units/project
Target utilisation
0.75 proportion of paid agency capacity billable
Target margin
0.3 proportion of project fee retained as contribution

Calculation and outputs

  1. minimumBlendedRate

    minimumBlendedRate = minimum revenue ÷ productive hours
    Senior hours
    20 hours/project
    Junior hours
    30 hours/project
    totalHours
    50 declared output unit
    productiveHours
    37.5 declared output unit
    minimumRevenue
    6,214.285714 declared output unit

    Engine result: 165.714286

  2. totalHours

    totalHours = senior hours + junior hours
    Senior hours
    20 hours/project
    Senior cost per hour
    110 currency units/hour
    Junior hours
    30 hours/project
    Junior cost per hour
    55 currency units/hour
    productiveHours
    37.5 declared output unit

    Engine result: 50

  3. productiveHours

    productiveHours = total hours × target utilisation
    Senior hours
    20 hours/project
    Junior hours
    30 hours/project
    Target utilisation
    0.75 proportion of paid agency capacity billable
    Target margin
    0.3 proportion of project fee retained as contribution
    totalHours
    50 declared output unit
    utilisationAdjustedCostRate
    116 declared output unit
    targetContribution
    1,864.285714 declared output unit

    Engine result: 37.5

  4. deliveryCost

    deliveryCost = senior cost + junior cost + project overhead
    Senior hours
    20 hours/project
    Senior cost per hour
    110 currency units/hour
    Junior hours
    30 hours/project
    Junior cost per hour
    55 currency units/hour
    Project overhead
    500 currency units/project
    blendedCostRate
    87 declared output unit
    utilisationAdjustedCostRate
    116 declared output unit

    Engine result: 4,350

  5. blendedCostRate

    blendedCostRate = delivery cost ÷ total hours
    Senior hours
    20 hours/project
    Senior cost per hour
    110 currency units/hour
    Junior hours
    30 hours/project
    Junior cost per hour
    55 currency units/hour
    totalHours
    50 declared output unit
    productiveHours
    37.5 declared output unit
    deliveryCost
    4,350 declared output unit
    utilisationAdjustedCostRate
    116 declared output unit

    Engine result: 87

  6. utilisationAdjustedCostRate

    utilisationAdjustedCostRate = delivery cost ÷ productive hours
    Senior hours
    20 hours/project
    Senior cost per hour
    110 currency units/hour
    Junior hours
    30 hours/project
    Junior cost per hour
    55 currency units/hour
    totalHours
    50 declared output unit
    productiveHours
    37.5 declared output unit
    deliveryCost
    4,350 declared output unit
    blendedCostRate
    87 declared output unit

    Engine result: 116

  7. minimumRevenue

    minimumRevenue = delivery cost ÷ (1 − target margin)
    Senior cost per hour
    110 currency units/hour
    Junior cost per hour
    55 currency units/hour
    Target utilisation
    0.75 proportion of paid agency capacity billable
    Target margin
    0.3 proportion of project fee retained as contribution
    deliveryCost
    4,350 declared output unit
    blendedCostRate
    87 declared output unit
    utilisationAdjustedCostRate
    116 declared output unit
    targetContribution
    1,864.285714 declared output unit

    Engine result: 6,214.285714

  8. targetContribution

    targetContribution = minimum revenue − delivery cost
    Senior cost per hour
    110 currency units/hour
    Junior cost per hour
    55 currency units/hour
    minimumBlendedRate
    165.714286 declared output unit
    deliveryCost
    4,350 declared output unit
    blendedCostRate
    87 declared output unit
    utilisationAdjustedCostRate
    116 declared output unit
    minimumRevenue
    6,214.285714 declared output unit

    Engine result: 1,864.285714

Example

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

Total Hours
50 hours/project
Productive Hours
37.5 hours/project
Delivery Cost
4,350 currency units/project
Blended Cost Rate
87 currency units/hour
Utilisation Adjusted Cost Rate
116 currency units/hour
Minimum Blended Rate
165.71 currency units/hour
Minimum Revenue
6,214.29 currency units/project
Target Contribution
1,864.29 currency units/project

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

Interpretation

The agency blended rate result uses only the entered commercial assumptions.

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.
Senior hours minimum
seniorHours ≥ 0 hours/projectA lower value is rejected before calculation.
Senior hours maximum
seniorHours ≤ 10,000,000 hours/projectA higher value is rejected before calculation.
Senior cost per hour minimum
seniorCostPerHour ≥ 0 currency units/hourA lower value is rejected before calculation.
Senior cost per hour maximum
seniorCostPerHour ≤ 10,000,000 currency units/hourA higher value is rejected before calculation.
Junior hours minimum
juniorHours ≥ 0 hours/projectA lower value is rejected before calculation.
Junior hours maximum
juniorHours ≤ 10,000,000 hours/projectA higher value is rejected before calculation.
Junior cost per hour minimum
juniorCostPerHour ≥ 0 currency units/hourA lower value is rejected before calculation.
Junior cost per hour maximum
juniorCostPerHour ≤ 10,000,000 currency units/hourA higher value is rejected before calculation.
Project overhead minimum
projectOverhead ≥ 0 currency units/projectA lower value is rejected before calculation.
Project overhead maximum
projectOverhead ≤ 10,000,000 currency units/projectA higher value is rejected before calculation.
Target utilisation minimum
targetUtilisation ≥ 0 proportion of paid agency capacity billableA lower value is rejected before calculation.
Target utilisation maximum
targetUtilisation ≤ 0.99 proportion of paid agency capacity billableA higher value is rejected before calculation.
Target margin minimum
targetMargin ≥ 0 proportion of project fee retained as contributionA lower value is rejected before calculation.
Target margin maximum
targetMargin ≤ 0.99 proportion of project fee retained as contributionA 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 planner and methodology after pre-launch calculation, content, source and interaction review.

Guides to interpret the decision and its assumptions.

Return to the planner