Skip to main content

Methodology

Salary to Contract Rate Planner methodology

Convert an annual cost base into a sustainable contract 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 Contract Rate
minimumContractRate = cost rate รท (1 โˆ’ target margin)

Where

targetMargin
Target margin (proportion of contract revenue retained as contribution)Source: User decision
minimumContractRate
Minimum Contract Rate (currency units/hour)Source: Calculated output
costRate
Cost Rate (currency units/hour)Source: Calculated output
Annual Cost Base
annualCostBase = salary + employment on-costs + overheads

Where

annualSalary
Annual salary equivalent (currency units/year)Source: Business record
annualEmploymentOncosts
Annual employment on-costs (currency units/year)Source: Business record
annualCostBase
Annual Cost Base (currency units/year)Source: Calculated output
Cost Rate
costRate = annual cost base รท annual billable hours

Where

annualBillableHours
Annual billable hours (hours/year)Source: User assumption
annualCostBase
Annual Cost Base (currency units/year)Source: Calculated output
costRate
Cost Rate (currency units/hour)Source: Calculated output
Annual Revenue At Minimum
annualRevenueAtMinimum = minimum contract rate ร— annual billable hours

Where

annualBillableHours
Annual billable hours (hours/year)Source: User assumption
minimumContractRate
Minimum Contract Rate (currency units/hour)Source: Calculated output
annualRevenueAtMinimum
Annual Revenue At Minimum (currency units/year)Source: Calculated output
Annual Contribution At Minimum
annualContributionAtMinimum = annual revenue at minimum โˆ’ annual cost base

Where

annualCostBase
Annual Cost Base (currency units/year)Source: Calculated output
annualRevenueAtMinimum
Annual Revenue At Minimum (currency units/year)Source: Calculated output
annualContributionAtMinimum
Annual Contribution At Minimum (currency units/year)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.

Annual salary equivalent
100,000 currency units/year
Annual employment on-costs
20,000 currency units/year
Annual business overheads
30,000 currency units/year
Annual billable hours
1,500 hours/year
Target margin
0.2 proportion of contract revenue retained as contribution

Calculation and outputs

  1. minimumContractRate

    minimumContractRate = cost rate รท (1 โˆ’ target margin)
    Target margin
    0.2 proportion of contract revenue retained as contribution
    annualCostBase
    150,000 declared output unit
    costRate
    100 declared output unit

    Engine result: 125

  2. annualCostBase

    annualCostBase = salary + employment on-costs + overheads
    Annual salary equivalent
    100,000 currency units/year
    Annual employment on-costs
    20,000 currency units/year
    Annual business overheads
    30,000 currency units/year

    Engine result: 150,000

  3. costRate

    costRate = annual cost base รท annual billable hours
    Annual salary equivalent
    100,000 currency units/year
    Annual employment on-costs
    20,000 currency units/year
    Annual business overheads
    30,000 currency units/year
    Annual billable hours
    1,500 hours/year
    annualCostBase
    150,000 declared output unit
    annualRevenueAtMinimum
    187,500 declared output unit
    annualContributionAtMinimum
    37,500 declared output unit

    Engine result: 100

  4. annualRevenueAtMinimum

    annualRevenueAtMinimum = minimum contract rate ร— annual billable hours
    Annual salary equivalent
    100,000 currency units/year
    Annual employment on-costs
    20,000 currency units/year
    Annual business overheads
    30,000 currency units/year
    Annual billable hours
    1,500 hours/year
    minimumContractRate
    125 declared output unit
    annualCostBase
    150,000 declared output unit
    costRate
    100 declared output unit
    annualContributionAtMinimum
    37,500 declared output unit

    Engine result: 187,500

  5. annualContributionAtMinimum

    annualContributionAtMinimum = annual revenue at minimum โˆ’ annual cost base
    Annual salary equivalent
    100,000 currency units/year
    Annual employment on-costs
    20,000 currency units/year
    Annual business overheads
    30,000 currency units/year
    Annual billable hours
    1,500 hours/year
    minimumContractRate
    125 declared output unit
    annualCostBase
    150,000 declared output unit
    costRate
    100 declared output unit
    annualRevenueAtMinimum
    187,500 declared output unit

    Engine result: 37,500

Example

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

Annual Cost Base
150,000 currency units/year
Cost Rate
100 currency units/hour
Minimum Contract Rate
125 currency units/hour
Annual Revenue At Minimum
187,500 currency units/year
Annual Contribution At Minimum
37,500 currency units/year

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

Interpretation

The salary to contract 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.
Annual salary equivalent minimum
annualSalary โ‰ฅ 0 currency units/year โ€” A lower value is rejected before calculation.
Annual salary equivalent maximum
annualSalary โ‰ค 10,000,000 currency units/year โ€” A higher value is rejected before calculation.
Annual employment on-costs minimum
annualEmploymentOncosts โ‰ฅ 0 currency units/year โ€” A lower value is rejected before calculation.
Annual employment on-costs maximum
annualEmploymentOncosts โ‰ค 10,000,000 currency units/year โ€” A higher value is rejected before calculation.
Annual business overheads minimum
annualBusinessOverheads โ‰ฅ 0 currency units/year โ€” A lower value is rejected before calculation.
Annual business overheads maximum
annualBusinessOverheads โ‰ค 10,000,000 currency units/year โ€” A higher value is rejected before calculation.
Annual billable hours minimum
annualBillableHours โ‰ฅ 0 hours/year โ€” A lower value is rejected before calculation.
Annual billable hours maximum
annualBillableHours โ‰ค 10,000,000 hours/year โ€” A higher value is rejected before calculation.
Target margin minimum
targetMargin โ‰ฅ 0 proportion of contract revenue retained as contribution โ€” A lower value is rejected before calculation.
Target margin maximum
targetMargin โ‰ค 0.99 proportion of contract revenue retained as contribution โ€” A 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