Skip to main content

Methodology

Proposal Option Profitability Planner methodology

Compare expected contribution across good, better and best proposal options.

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

Good Contribution Per Win
goodContributionPerWin = good price โˆ’ good cost

Where

goodContributionPerWin
Good Contribution Per Win (currency units/project)Source: Calculated output
Better Contribution Per Win
betterContributionPerWin = better price โˆ’ better cost

Where

betterContributionPerWin
Better Contribution Per Win (currency units/project)Source: Calculated output
Best Contribution Per Win
bestContributionPerWin = best price โˆ’ best cost

Where

bestContributionPerWin
Best Contribution Per Win (currency units/project)Source: Calculated output
Good Expected Contribution
goodExpectedContribution = good contribution ร— expected wins

Where

goodOptionExpectedWins
Good expected wins (wins/period)Source: User assumption
goodExpectedContribution
Good Expected Contribution (currency units/period)Source: Calculated output
Better Expected Contribution
betterExpectedContribution = better contribution ร— expected wins

Where

betterOptionExpectedWins
Better expected wins (wins/period)Source: User assumption
betterExpectedContribution
Better Expected Contribution (currency units/period)Source: Calculated output
Best Expected Contribution
bestExpectedContribution = best contribution ร— expected wins

Where

bestOptionExpectedWins
Best expected wins (wins/period)Source: User assumption
bestExpectedContribution
Best Expected Contribution (currency units/period)Source: Calculated output
Better Vs Good Contribution
betterVsGoodContribution = better expected โˆ’ good expected contribution

Where

goodExpectedContribution
Good Expected Contribution (currency units/period)Source: Calculated output
betterExpectedContribution
Better Expected Contribution (currency units/period)Source: Calculated output
betterVsGoodContribution
Better Vs Good Contribution (currency units/period)Source: Calculated output
Best Vs Better Contribution
bestVsBetterContribution = best expected โˆ’ better expected contribution

Where

betterExpectedContribution
Better Expected Contribution (currency units/period)Source: Calculated output
bestExpectedContribution
Best Expected Contribution (currency units/period)Source: Calculated output
bestVsBetterContribution
Best Vs Better Contribution (currency units/period)Source: Calculated output
Best Wins To Match Good
bestWinsToMatchGood = good expected contribution รท best contribution per win

Where

goodOptionExpectedWins
Good expected wins (wins/period)Source: User assumption
bestOptionExpectedWins
Best expected wins (wins/period)Source: User assumption
goodContributionPerWin
Good Contribution Per Win (currency units/project)Source: Calculated output
bestContributionPerWin
Best Contribution Per Win (currency units/project)Source: Calculated output
goodExpectedContribution
Good Expected Contribution (currency units/period)Source: Calculated output
bestExpectedContribution
Best Expected Contribution (currency units/period)Source: Calculated output
bestWinsToMatchGood
Best Wins To Match Good (count)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.

Good option price
5,000 currency units/win
Good option cost
3,000 currency units/win
Good expected wins
4 wins/period
Better option price
6,500 currency units/win
Better option cost
3,800 currency units/win
Better expected wins
3 wins/period
Best option price
8,000 currency units/win
Best option cost
4,500 currency units/win
Best expected wins
3 wins/period

Calculation and outputs

  1. goodContributionPerWin

    goodContributionPerWin = good price โˆ’ good cost
    Good option price
    5,000 currency units/win
    Good option cost
    3,000 currency units/win
    Good expected wins
    4 wins/period
    Better option price
    6,500 currency units/win
    Better option cost
    3,800 currency units/win
    Best option price
    8,000 currency units/win
    Best option cost
    4,500 currency units/win
    goodExpectedContribution
    8,000 declared output unit
    betterVsGoodContribution
    100 declared output unit
    bestWinsToMatchGood
    2.285714 declared output unit

    Engine result: 2,000

  2. betterContributionPerWin

    betterContributionPerWin = better price โˆ’ better cost
    Good option price
    5,000 currency units/win
    Good option cost
    3,000 currency units/win
    Better option price
    6,500 currency units/win
    Better option cost
    3,800 currency units/win
    Better expected wins
    3 wins/period
    Best option price
    8,000 currency units/win
    Best option cost
    4,500 currency units/win
    betterExpectedContribution
    8,100 declared output unit
    betterVsGoodContribution
    100 declared output unit
    bestVsBetterContribution
    2,400 declared output unit

    Engine result: 2,700

  3. bestContributionPerWin

    bestContributionPerWin = best price โˆ’ best cost
    Good option price
    5,000 currency units/win
    Good option cost
    3,000 currency units/win
    Better option price
    6,500 currency units/win
    Better option cost
    3,800 currency units/win
    Best option price
    8,000 currency units/win
    Best option cost
    4,500 currency units/win
    Best expected wins
    3 wins/period
    bestExpectedContribution
    10,500 declared output unit
    bestVsBetterContribution
    2,400 declared output unit
    bestWinsToMatchGood
    2.285714 declared output unit

    Engine result: 3,500

  4. goodExpectedContribution

    goodExpectedContribution = good contribution ร— expected wins
    Good option price
    5,000 currency units/win
    Good option cost
    3,000 currency units/win
    Good expected wins
    4 wins/period
    Better expected wins
    3 wins/period
    Best expected wins
    3 wins/period
    goodContributionPerWin
    2,000 declared output unit
    betterContributionPerWin
    2,700 declared output unit
    bestContributionPerWin
    3,500 declared output unit
    betterExpectedContribution
    8,100 declared output unit
    bestExpectedContribution
    10,500 declared output unit
    betterVsGoodContribution
    100 declared output unit
    bestVsBetterContribution
    2,400 declared output unit
    bestWinsToMatchGood
    2.285714 declared output unit

    Engine result: 8,000

  5. betterExpectedContribution

    betterExpectedContribution = better contribution ร— expected wins
    Good expected wins
    4 wins/period
    Better option price
    6,500 currency units/win
    Better option cost
    3,800 currency units/win
    Better expected wins
    3 wins/period
    Best expected wins
    3 wins/period
    goodContributionPerWin
    2,000 declared output unit
    betterContributionPerWin
    2,700 declared output unit
    bestContributionPerWin
    3,500 declared output unit
    goodExpectedContribution
    8,000 declared output unit
    bestExpectedContribution
    10,500 declared output unit
    betterVsGoodContribution
    100 declared output unit
    bestVsBetterContribution
    2,400 declared output unit
    bestWinsToMatchGood
    2.285714 declared output unit

    Engine result: 8,100

  6. bestExpectedContribution

    bestExpectedContribution = best contribution ร— expected wins
    Good expected wins
    4 wins/period
    Better expected wins
    3 wins/period
    Best option price
    8,000 currency units/win
    Best option cost
    4,500 currency units/win
    Best expected wins
    3 wins/period
    goodContributionPerWin
    2,000 declared output unit
    betterContributionPerWin
    2,700 declared output unit
    bestContributionPerWin
    3,500 declared output unit
    goodExpectedContribution
    8,000 declared output unit
    betterExpectedContribution
    8,100 declared output unit
    betterVsGoodContribution
    100 declared output unit
    bestVsBetterContribution
    2,400 declared output unit
    bestWinsToMatchGood
    2.285714 declared output unit

    Engine result: 10,500

  7. betterVsGoodContribution

    betterVsGoodContribution = better expected โˆ’ good expected contribution
    Good option price
    5,000 currency units/win
    Good option cost
    3,000 currency units/win
    Good expected wins
    4 wins/period
    Better option price
    6,500 currency units/win
    Better option cost
    3,800 currency units/win
    Better expected wins
    3 wins/period
    Best expected wins
    3 wins/period
    goodContributionPerWin
    2,000 declared output unit
    betterContributionPerWin
    2,700 declared output unit
    bestContributionPerWin
    3,500 declared output unit
    goodExpectedContribution
    8,000 declared output unit
    betterExpectedContribution
    8,100 declared output unit
    bestExpectedContribution
    10,500 declared output unit
    bestVsBetterContribution
    2,400 declared output unit
    bestWinsToMatchGood
    2.285714 declared output unit

    Engine result: 100

  8. bestVsBetterContribution

    bestVsBetterContribution = best expected โˆ’ better expected contribution
    Good expected wins
    4 wins/period
    Better option price
    6,500 currency units/win
    Better option cost
    3,800 currency units/win
    Better expected wins
    3 wins/period
    Best option price
    8,000 currency units/win
    Best option cost
    4,500 currency units/win
    Best expected wins
    3 wins/period
    goodContributionPerWin
    2,000 declared output unit
    betterContributionPerWin
    2,700 declared output unit
    bestContributionPerWin
    3,500 declared output unit
    goodExpectedContribution
    8,000 declared output unit
    betterExpectedContribution
    8,100 declared output unit
    bestExpectedContribution
    10,500 declared output unit
    betterVsGoodContribution
    100 declared output unit
    bestWinsToMatchGood
    2.285714 declared output unit

    Engine result: 2,400

  9. bestWinsToMatchGood

    bestWinsToMatchGood = good expected contribution รท best contribution per win
    Good option price
    5,000 currency units/win
    Good option cost
    3,000 currency units/win
    Good expected wins
    4 wins/period
    Better expected wins
    3 wins/period
    Best option price
    8,000 currency units/win
    Best option cost
    4,500 currency units/win
    Best expected wins
    3 wins/period
    goodContributionPerWin
    2,000 declared output unit
    betterContributionPerWin
    2,700 declared output unit
    bestContributionPerWin
    3,500 declared output unit
    goodExpectedContribution
    8,000 declared output unit
    betterExpectedContribution
    8,100 declared output unit
    bestExpectedContribution
    10,500 declared output unit
    betterVsGoodContribution
    100 declared output unit
    bestVsBetterContribution
    2,400 declared output unit

    Engine result: 2.285714

Example

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

Good Contribution Per Win
2,000 currency units/project
Better Contribution Per Win
2,700 currency units/project
Best Contribution Per Win
3,500 currency units/project
Good Expected Contribution
8,000 currency units/period
Better Expected Contribution
8,100 currency units/period
Best Expected Contribution
10,500 currency units/period
Better Vs Good Contribution
100 currency units/period
Best Vs Better Contribution
2,400 currency units/period
Best Wins To Match Good
2.29

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

Interpretation

The proposal option profitability 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.
Good option price minimum
goodOptionPrice โ‰ฅ 0 currency units/win โ€” A lower value is rejected before calculation.
Good option price maximum
goodOptionPrice โ‰ค 10,000,000 currency units/win โ€” A higher value is rejected before calculation.
Good option cost minimum
goodOptionCost โ‰ฅ 0 currency units/win โ€” A lower value is rejected before calculation.
Good option cost maximum
goodOptionCost โ‰ค 10,000,000 currency units/win โ€” A higher value is rejected before calculation.
Good expected wins minimum
goodOptionExpectedWins โ‰ฅ 0 wins/period โ€” A lower value is rejected before calculation.
Good expected wins maximum
goodOptionExpectedWins โ‰ค 10,000,000 wins/period โ€” A higher value is rejected before calculation.
Better option price minimum
betterOptionPrice โ‰ฅ 0 currency units/win โ€” A lower value is rejected before calculation.
Better option price maximum
betterOptionPrice โ‰ค 10,000,000 currency units/win โ€” A higher value is rejected before calculation.
Better option cost minimum
betterOptionCost โ‰ฅ 0 currency units/win โ€” A lower value is rejected before calculation.
Better option cost maximum
betterOptionCost โ‰ค 10,000,000 currency units/win โ€” A higher value is rejected before calculation.
Better expected wins minimum
betterOptionExpectedWins โ‰ฅ 0 wins/period โ€” A lower value is rejected before calculation.
Better expected wins maximum
betterOptionExpectedWins โ‰ค 10,000,000 wins/period โ€” A higher value is rejected before calculation.
Best option price minimum
bestOptionPrice โ‰ฅ 0 currency units/win โ€” A lower value is rejected before calculation.
Best option price maximum
bestOptionPrice โ‰ค 10,000,000 currency units/win โ€” A higher value is rejected before calculation.
Best option cost minimum
bestOptionCost โ‰ฅ 0 currency units/win โ€” A lower value is rejected before calculation.
Best option cost maximum
bestOptionCost โ‰ค 10,000,000 currency units/win โ€” A higher value is rejected before calculation.
Best expected wins minimum
bestOptionExpectedWins โ‰ฅ 0 wins/period โ€” A lower value is rejected before calculation.
Best expected wins maximum
bestOptionExpectedWins โ‰ค 10,000,000 wins/period โ€” 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