Methodology
Proposal Option Profitability Planner methodology
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
goodContributionPerWin = good price โ good costWhere
- goodContributionPerWin
- Good Contribution Per Win (currency units/project)Source: Calculated output
betterContributionPerWin = better price โ better costWhere
- betterContributionPerWin
- Better Contribution Per Win (currency units/project)Source: Calculated output
bestContributionPerWin = best price โ best costWhere
- bestContributionPerWin
- Best Contribution Per Win (currency units/project)Source: Calculated output
goodExpectedContribution = good contribution ร expected winsWhere
- goodOptionExpectedWins
- Good expected wins (wins/period)Source: User assumption
- goodExpectedContribution
- Good Expected Contribution (currency units/period)Source: Calculated output
betterExpectedContribution = better contribution ร expected winsWhere
- betterOptionExpectedWins
- Better expected wins (wins/period)Source: User assumption
- betterExpectedContribution
- Better Expected Contribution (currency units/period)Source: Calculated output
bestExpectedContribution = best contribution ร expected winsWhere
- bestOptionExpectedWins
- Best expected wins (wins/period)Source: User assumption
- bestExpectedContribution
- Best Expected Contribution (currency units/period)Source: Calculated output
betterVsGoodContribution = better expected โ good expected contributionWhere
- 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
bestVsBetterContribution = best expected โ better expected contributionWhere
- 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
bestWinsToMatchGood = good expected contribution รท best contribution per winWhere
- 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
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
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
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
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
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
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
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
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
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
- : Initial public release of the planner and methodology after pre-launch calculation, content, source and interaction review.
Related reading
Guides to interpret the decision and its assumptions.
- Service Pricing and Quoting: From Capacity to Scope
Turn cost and sellable capacity into a service rate, then test scope, duration, delivery risk and commercial model.
Read guide