Price structure

Price Volume Profit Scenario Simulator

Projects revenue, costs and profit for up to five products sharing one capacity over up to 12 months, with fixed, linear or constant-elasticity demand you set. One Calculate also finds the best candidate price for one product, the price that reaches a target profit when you enter one, and the range of 100 seeded demand scenarios, and tabulates profit across price changes and demand responses. Demand is your assumption, not a forecast; estimates for planning, not advice.

Last updated

Calculator overview

Inputs and outputs

This summary comes from the calculator's published input and output contract.

Inputs

Demand multiplier, high (required) Conditional
About this input

The highest monthly demand multiplier, from 0 to 5. Set low, most likely and high equal to switch the variation off: every trial then equals the plan.

Unit x demand Default 1.2 Range 0 to 5
Demand multiplier, low (required) Conditional
About this input

The lowest monthly demand multiplier of the simulation, from 0 to 5. All products in a month share one multiplier, and months are drawn independently.

Unit x demand Default 0.8 Range 0 to 5
Highest price to try (required) Conditional
About this input

The highest price of the product to vary that the best-price search and the target search may try, in dollars, from 0 to 1,000,000 and not below the lowest price to try.

Unit $ Default 8 Range 0 to 1000000
Lowest price to try (required) Conditional
About this input

The lowest price of the product to vary that the best-price search and the target search may try, in dollars, from 0 to 1,000,000. Above 0 when that product has constant elasticity demand.

Unit $ Default 4 Range 0 to 1000000
Demand multiplier, most likely (required) Conditional
About this input

The most likely monthly demand multiplier, the peak of the triangular distribution. It must lie between the low and the high multiplier.

Unit x demand Default 1 Range 0 to 5
Reference monthly volumes (units at the reference price) (required)
About this input

Reference monthly volumes, in units, for each product row at its reference price. Fill one row per month of the horizon for every product in use and leave other cells blank. A zero volume is valid and differs from blank.

Default 1 row
ColumnRange or allowed values
Month Not declared
Volume, product row 1 0 to 10000000
Volume, product row 2 0 to 10000000
Volume, product row 3 0 to 10000000
Volume, product row 4 0 to 10000000
Volume, product row 5 0 to 10000000
Random seed Conditional
When omitted Blank
About this input

The starting number of the random draws, a whole number from 1 to 2,147,483,646. The same seed and inputs always give the same 100 trials. Blank means 42.

Default Not set Range 1 to 2147483646
Capacity steps (required)
About this input

Up to five capacity steps. Each step covers monthly capacity use above the previous step and up to its own limit, and charges its monthly fixed cost once. The last step sets the capacity of every month.

Default 1 row
ColumnRange or allowed values
Step capacity, up to 0 to 1000000000
Monthly fixed cost at this step 0 to 1000000000
Target horizon profit Conditional
When omitted Blank
About this input

The horizon profit, in dollars, that the target search aims for; it also gives the share of simulated trials that reach it. Blank means no target search. Whole cents, from minus one billion to one billion.

Unit $ Default Not set Range -1000000000 to 1000000000
What-if demand response scale (required) Conditional
About this input

A multiplier applied to every price elasticity, from 0 to 5. Zero makes every demand ignore price and 2 doubles every response. The columns of the what-if table are centred on it.

Unit x elasticity Default 1 Range 0 to 5
Table step, price change (required) Conditional
About this input

The spacing of the 11 price-change rows of the what-if table, above 0 and at most 20%. The lowest row must keep every price above zero.

Unit % Default 0.05 Range 0.01 to 0.2
Table step, response scale (required) Conditional
About this input

The spacing of the 11 response-scale columns of the what-if table, above 0 and at most 1. The lowest column must not fall below 0.

Unit x elasticity Default 0.2 Range 0.05 to 1
Candidate prices (required) Conditional
About this input

How many evenly spaced prices are tried between the lowest and the highest price to try, both ends included, from 2 to 101. The plan price is tried as well when it lies in that range.

Unit prices Default 101 Range 2 to 101
Capacity unit Conditional
When omitted Blank
About this input

The unit that capacity steps and capacity use per unit are measured in, such as hours, liters or pounds. A label only; nothing is converted. Blank means units.

Default Not set
Minimum unit margin Conditional
When omitted Blank
About this input

The smallest share of each price that must remain after the unit cost, as a percentage. It raises the lowest price tried to unit cost divided by one minus the margin. Blank means no minimum.

Unit % of price Default Not set Range 0 to 0.95
What-if price change, all products (required) Conditional
About this input

A change applied to every plan price before anything is calculated, as a percentage, from -90% to 200%. The rows of the what-if table are centred on it.

Unit % Default 0 Range -0.9 to 2
Products (required)
About this input

Up to five products sharing one production resource: an ID, the reference price at which the volumes apply, the plan price, the unit variable cost, the demand model, the price elasticity, the capacity used per unit and the capacity priority.

Default 1 row
ColumnRange or allowed values
Product ID Not declared
Reference price 0 to 1000000
Plan price 0 to 1000000
Unit variable cost 0 to 1000000
Demand model Fixed, Linear, Constant elasticity
Price elasticity -10 to 0
Capacity use per unit 0 to 1000
Capacity priority 1 to 5
Months in the horizon (required) Conditional
About this input

How many months the plan covers, counted from month 1, from 1 to 12. Fill the volume table for exactly these months and leave the later months blank.

Unit months Default 1 Range 1 to 12
Product to vary (required) Conditional
About this input

The Product ID, chosen from the products table, whose price the curve, the best-price search and the target search vary. Every other product keeps its plan price.

Default LOAF

Outputs

Target price 2
About this output

A second located target price, when profit crosses the target more than once. Blank otherwise.

Unit $
Target price 3
About this output

A third located target price. Blank otherwise.

Unit $
Profit moves one way with price
About this output

TRUE when the scanned profit only rises or only falls with the price, so a located price is the only one in the range. FALSE means crossings closer together than one candidate step can be missed.

No unit declared
Target price 1
About this output

The lowest located price of the product to vary at which the horizon profit equals the target, to six decimals. Blank when none was located.

Unit $
Target price 3, residual
About this output

How far the horizon profit at target price 3 is from the target, in dollars.

No unit declared
Target prices found
About this output

How many prices were located at which the horizon profit equals the target within one cent, up to three.

Unit count
Target price 1, residual
About this output

How far the horizon profit at target price 1 is from the target, in dollars; at most one cent.

No unit declared
Target price 2, residual
About this output

How far the horizon profit at target price 2 is from the target, in dollars.

No unit declared
Profit jumps over the target
About this output

Where the profit jumps over the target instead of crossing it, because a capacity step switches on or off. A jump is reported with the profit on each side and is never a target price.

No unit declared
Standard error of the loss share
About this output

The sampling error of the loss share with 100 trials: the square root of p times one minus p over 100.

Unit share
Share of trials reaching the target
About this output

The share of the 100 trials whose horizon profit is at or above the target. Blank when no target is entered.

Unit %
Simulated 90th percentile
About this output

The horizon profit that 90 of 100 trials fall below, by linear interpolation. Illustrative with 100 trials.

Unit $
Share of trials with a loss
About this output

The share of the 100 trials whose horizon profit is below zero. None observed does not mean no risk.

Unit %
PP03 Steps Check
About this output

The check of each capacity step row: blank for an unused row, OK, or the first problem found, starting with its code.

No unit declared
Target crossings on the scan
About this output

How many times the scanned horizon profit crosses the target between neighbouring candidate prices. Only the first three are searched.

Unit count
Standard error of the target share
About this output

The sampling error of the target share with 100 trials.

Unit share
Share of trials losing demand
About this output

The share of the 100 trials in which capacity could not serve all demand in at least one month.

Unit %
Units demanded
About this output

Modelled demand over the horizon, all products, in units. Quantities are expected values and may be fractional.

Unit units
Table1 PVP Row Input
About this output

Machinery, not an input: the cell the table substitutes each row price change into. The rest of the time it repeats the what-if price change. Change the input, never this cell.

No unit declared
Table1 PVP Values
About this output

Each cell is the horizon profit recalculated with every plan price changed by the row value and every elasticity multiplied by the column value. The middle cell is your own plan.

Unit 0
Table1 PVP Corner
About this output

The figure the what-if table recalculates, the horizon profit, placed in its top-left corner as the spreadsheet requires. It is formatted away.

Unit 0.0
Table1 PVP Row Axis
About this output

The price changes down the left of the what-if table: your own change in the middle, five equal steps below and five above.

No unit declared
Warnings
About this output

Every warning the model can raise, whether it applies to this result (1) or not (0), and its message when it applies.

No unit declared
Warning messages
About this output

Every warning that applies, separated by semicolons. Blank when none applies.

No unit declared
Trials simulated
About this output

The number of simulated demand scenarios, always 100.

Unit trials
Warnings
About this output

How many warnings apply to this result. The warnings table lists them.

Unit count
Table1 PVP Column Input
About this output

Machinery, not an input: the cell the table substitutes each column response scale into. The rest of the time it repeats the what-if response scale.

No unit declared
PP03 Volumes Check
About this output

The check of each month row of the volume table: OK, or the first problem found, starting with its code.

No unit declared
Reference data version
About this output

The version of any reference data used. None: every value is your own assumption.

No unit declared
Units lost
About this output

Demand that capacity could not serve, over the horizon. Unserved demand is lost, not carried to a later month.

Unit units
Units sold
About this output

Units sold over the horizon: demand served in priority order until the monthly capacity runs out.

Unit units
Status code
About this output

The short code of the reason shown in the status, or OK.

No unit declared
Table1 PVP Column Axis
About this output

The demand response scales across the top of the what-if table: your own scale in the middle, five equal steps below and five above.

No unit declared
Seed used
About this output

The seed of this simulation: the one entered, or 42 when blank.

No unit declared
Workbook self-check
About this output

PASS when every internal consistency check of this result holds. FAIL means the result should not be relied on.

No unit declared
Contribution margin
About this output

Contribution as a share of revenue. Blank (not applicable) when revenue is zero.

Unit %
What-if table withheld because
About this output

Blank when the what-if table is shown. Otherwise the reason it is withheld: a table step would take the lowest row price to zero or below, the lowest column scale would fall below zero, or some what-if scenarios exceed the supported numerical range. Every other result is still calculated.

No unit declared
Spacing of candidate prices
About this output

The distance between neighbouring candidate prices. A better price can lie between two candidates.

Unit $
Candidate prices evaluated
About this output

How many candidate prices were evaluated: the evenly spaced prices plus the plan price when it lies in the range.

Unit count
Horizon profit
About this output

Revenue minus variable cost minus the capacity step fixed costs over the horizon, at the plan prices after the what-if price change, in dollars. Each line is posted to the cent.

Unit $
Horizon revenue
About this output

Price times units sold, summed over products and months, each line posted to the cent.

Unit $
Horizon contribution
About this output

Revenue minus variable cost over the horizon, before fixed costs.

Unit $
Horizon fixed cost
About this output

The fixed cost of the capacity step each month falls in, summed over the horizon. Every month in the horizon pays one step, even with no production.

Unit $
Horizon profit at the best price
About this output

Horizon profit with the product to vary at the best candidate price, posted to the cent.

Unit $
Model version
About this output

The version of the model that produced these results.

No unit declared
Next seed
About this output

A seed that continues the random stream after these 100 trials, for a further independent run.

No unit declared
Custom assumptions
About this output

Whether any reference value was overridden. Always FALSE here: the model uses no reference data.

No unit declared
Status
About this output

OK, or the first reason the result needs attention: NOT VALID for inputs the model cannot use or for a calculation that exceeds the supported numerical range (code NUMERIC_RANGE), INFEASIBLE when no admissible price exists, NO SOLUTION FOUND when the target search locates no price, and CHECK for a result to look at. Plans above about $90 trillion of revenue + cost, or about 9 quadrillion units, are refused because cents and whole units stop being exact there. Above about $10 trillion, or about 1 quadrillion units, a shown figure may not be exact to the cent or the unit, because runtimes keep 15 significant digits. Near that top a result can be off by up to about a dollar, and by more for extremely small volumes, so very large profits and losses that nearly cancel are not exact. Capacity above 0 and below 1E-100, or capacity use per unit above 0 and below one trillionth of capacity or below 1E-112, is refused too. When one product fills capacity to its last digits and a very-low-use product takes what is left, that sale can be off by rounding.

No unit declared
Best price at an end of the range
About this output

TRUE when the best candidate is the lowest or the highest price allowed, so profit may keep improving beyond the range.

No unit declared
Best candidate price
About this output

The candidate price of the product to vary with the highest horizon profit, other prices fixed. It is the best of the candidate prices tried; a better price may lie between candidates. Ties go to the price nearest the plan price, then the lower price.

Unit $
Search status
About this output

OPTIMAL when the best-price search found the best of the candidate prices; INFEASIBLE when no price of the product to vary is admissible; NO_SOLUTION when no candidate could be evaluated. Blank when the status is NOT VALID.

No unit declared
Average capacity utilization
About this output

Capacity used as a share of the monthly capacity, averaged over the months of the horizon.

Unit %
Horizon variable cost
About this output

Unit variable cost times units sold, summed over products and months, each line posted to the cent.

Unit $
Mean of trials 1 to 50
About this output

The average horizon profit of the first 50 trials. A large gap to the second half shows how much 100 trials still vary.

Unit $
Mean of trials 51 to 100
About this output

The average horizon profit of the last 50 trials.

Unit $
Highest simulated horizon profit
About this output

The highest horizon profit of the 100 trials.

Unit $
Simulated mean horizon profit
About this output

The average horizon profit over the 100 simulated demand scenarios at the plan prices.

Unit $
Lowest simulated horizon profit
About this output

The lowest horizon profit of the 100 trials.

Unit $
Simulated 10th percentile
About this output

The horizon profit that 10 of 100 trials fall below, by linear interpolation. Illustrative with 100 trials.

Unit $
Simulated mean units lost
About this output

The average demand capacity could not serve, in units, over the 100 trials.

Unit units
Simulated median horizon profit
About this output

The middle horizon profit of the 100 trials.

Unit $
Lowest scanned profit
About this output

The lowest horizon profit among the candidate prices scanned by the target search.

Unit $
Peak capacity utilization
About this output

The highest monthly share of capacity used.

Unit %
Horizon profit at the plan price
About this output

Horizon profit with every product at its plan price, as evaluated by the optimizer, posted to the cent.

Unit $
Results by month
About this output

One row per month of the horizon: capacity demanded and used, the capacity, utilization, the step charged and its fixed cost, revenue, contribution and profit. Months beyond the horizon are blank.

No unit declared
Months above the first step
About this output

How many months use more capacity than the first step covers, and so pay a higher step fixed cost.

Unit months
Profit uplift over the plan
About this output

The best candidate profit minus the profit at the plan price. Zero or more when the plan price is among the candidates.

Unit $
Highest scanned profit
About this output

The highest horizon profit among the candidate prices scanned by the target search.

Unit $
Results by product
About this output

One row per product: the effective plan price, demand, units sold and lost, revenue, variable cost, contribution and contribution margin over the horizon. The margin is blank when revenue is zero.

No unit declared
PP03 Products Check
About this output

The check of each product row: blank for an unused row, OK, or the first problem found, starting with its code.

No unit declared
This page is provided by LogicCommons for informational purposes only. Results are model outputs computed from the inputs you supply and are not financial, investment, tax, accounting, or legal advice, and no advisory relationship is created. Verify all inputs and results independently before relying on them in any decision. These calculators model the prices, costs and demand assumptions you enter. They do not estimate how customers respond to price, they are not certified financial reporting, and they do not guarantee a profit improvement.

LogicCommons is in beta. If a result, label, or reference looks wrong, tell us here; we read every message.

Methodology

Purpose and model boundary

This calculator projects the profit of up to five products that share one production resource, such as oven hours, roaster capacity or liters of freezer space, over a plan of 1 to 12 months. You enter each product's prices, unit cost, monthly volumes and how its demand responds to price, and the capacity steps you pay for each month. The spreadsheet serves demand in the priority order you set until capacity runs out, charges each month the fixed cost of the capacity step it falls in, and reports the profit.

One Calculate fills every result section of that one model. It runs the plan as entered. It finds the best price: it tries evenly spaced prices for one product, keeping every other price fixed, and reports the best of them. When you enter a target horizon profit, it finds the target price of that product at which the horizon profit equals the target; with no target, that section stays empty. It runs the risk check: 100 seeded demand scenarios on the plan prices. An 11 by 11 what-if table of a price change for every product against the strength of the demand response is calculated with them.

Every figure on this page is computed by the spreadsheet; the page adds nothing to it. Demand is your assumption, not an estimate of how customers will respond: the calculator does not measure elasticity, forecast sales or guarantee a profit.

Inputs and units

  • Months in the horizon, from 1 to 12, counted from month 1.
  • Capacity unit, an optional label such as hours, liters or lb; blank means units. Nothing is converted.
  • Products, up to 5 rows, filled from the top without a blank row between used rows, each with:
    • a product ID: it starts with a capital letter, uses upper case and no spaces, is at most 16 characters long and is used once; punctuation such as A-1 is accepted;
    • the reference price at which its volumes apply;
    • the plan price;
    • the unit variable cost;
    • the demand model (Fixed, Linear or Constant elasticity);
    • the price elasticity, from -10 to 0, required unless the model is Fixed;
    • the capacity used per unit, from 0 to 1,000 (0 means the product does not use the shared capacity);
    • its capacity priority, where the products in use take the priorities 1, 2, 3 and so on, each once.
  • Reference monthly volumes: one row per month of the horizon and one column per product row, in units a month at the reference price. Every cell for a product in use inside the horizon is required; 0 is a valid volume and differs from blank. Cells after the horizon, or under an unused product row, must stay blank.
  • Capacity steps, up to 5 rows: the monthly capacity each step covers up to, rising from row to row, and the fixed cost a month pays at that step. The last step's limit is the capacity of every month.
  • Price search: the product to vary, chosen from the product IDs in the products table, and the lowest and highest price to try for it, from 0 to 1,000,000. The lowest must not be above the highest, and must be above 0 when that product has constant elasticity demand. Every other product keeps its plan price.
  • Optional, under "Optional: target and risk":
    • the target horizon profit (blank means no target search);
    • the low, most likely and high monthly demand multipliers of the simulation, each from 0 to 5 (0.8, 1 and 1.2 unless you change them);
    • the random seed;
    • the number of candidate prices, from 2 to 101 (101 unless you change it);
    • a minimum unit margin (blank means none).
  • Random seed: the starting number of the spreadsheet's random-number generator, a whole number from 1 to 2,147,483,646. Blank means 42, the seed of the worked examples. Each press of Calculate first sets it to the next seed of the last result, as on the Monte Carlo Retirement Success Calculator, except in two cases. The first press after a worked example or Reset uses that example's seed. A seed you type is used as typed. Through the API or MCP the seed you pass is used as given, so passing a result's seed again reproduces it.
  • What-if table: a price change applied to every plan price, from -90% to 200%; a demand response scale that multiplies every elasticity, from 0 to 5; and the spacing of the table's rows and columns.

Money is in dollars; percentages are shares of a price.

Governing relationships

Demand. For a product with volume Q0 in a month at its reference price R0, the demand at price P is

  • Fixed: D = Q0, whatever the price;
  • Linear: D = max(0, Q0 × (1 + e × (P / R0 − 1)));
  • Constant elasticity: D = Q0 × (P / R0)^e,

where e is the elasticity times the demand response scale. The plan price used everywhere is the entered plan price times (1 + the what-if price change). One product's price never changes another product's demand.

Capacity. Each month, products are served in priority order. A product gets its whole demand while capacity lasts; the product at which capacity runs out gets what is left, divided by its capacity use per unit, and the products after it get nothing. Unserved demand is lost, not carried to a later month. A product with capacity use 0 is always served in full. Production is never held back to stay in a cheaper step.

Capacity steps. Step 1 covers a month's capacity use from 0 up to and including its limit; each later step covers use above the previous limit up to its own. A use within 0.000001 capacity units of a limit counts as inside it. Each month pays exactly one step's fixed cost, including a month with no production.

Profit. For each product and month, revenue is price times units sold and variable cost is unit cost times units sold; each is posted to the cent, rounding half away from zero. Contribution is revenue minus variable cost; horizon profit is contribution minus the fixed costs of the months' steps. Totals are sums of the posted cents. Contribution margin is contribution divided by revenue and is not shown when revenue is 0.

Best price. The admissible range of the product to vary runs from the larger of the lowest price to try and its unit cost / (1 − minimum unit margin) up to the highest price to try. The range is split into the number of candidate prices you set, ends included, and the plan price is tried too when it lies in the range. Each candidate is evaluated over the whole horizon, including the capacity allocation and the steps, and the one with the highest profit to the cent wins; a tie goes to the price nearest the plan price, then to the lower price. The result is the best of those candidates, found by trying every one; a better price can lie between two candidates. When the best is at an end of the range a warning says so, because profit may keep improving beyond it; the status stays OK. With fixed demand profit only rises with price, so the highest price allowed always wins. When the margin floor is above the highest price, no price is admissible and the status is INFEASIBLE.

Target price. Only when you enter a target horizon profit. The search scans the candidate prices for places where profit minus the target changes sign, and narrows each of the first three such crossings by 40 halvings of its interval, far finer than a cent. A crossing whose profit ends within one cent of the target is reported as a target price. A crossing where profit jumps over the target, because a capacity step switches on or off, is reported as a jump with the profit on each side, never as a target price. When profit only rises or only falls across the scan, a located price is the only one in the range; otherwise two crossings closer together than one candidate step can be missed, and the page says so. When no price is located the status is NO SOLUTION FOUND, with the highest and lowest profit the scan saw.

Risk simulation. Each of 100 trials draws one demand multiplier per month from a triangular distribution with your low, most likely and high values; every product in a month shares that month's multiplier, and months are drawn independently. For a uniform draw u between 0 and 1, the multiplier is low + sqrt(u × (high − low) × (mode − low)) when u is below (mode − low) / (high − low), and high − sqrt((1 − u) × (high − low) × (high − mode)) otherwise. The draws come from the multiplicative congruential generator of Park and Miller (multiplier 48,271, modulus 2^31 − 1), seeded from your seed, the same generator the Monte Carlo Retirement Success Calculator uses, so the same seed and inputs always give the same 100 trials. Every trial keeps the plan prices; nothing is re-optimized inside a trial. Setting low, most likely and high equal removes the variation, and every trial then equals the plan with volumes times that multiplier.

What-if table. Rows are 11 price changes centred on yours, one row step apart; columns are 11 demand response scales centred on yours, one column step apart. Each cell is the horizon profit recalculated with every plan price changed by the row value and every elasticity multiplied by the column value, through the spreadsheet's own two-variable data table. The middle cell is your plan. When a step would take the lowest row's prices to zero or below, or the lowest column's scale below zero, the table is withheld with that reason and every other result still stands.

Calculation sequence

The spreadsheet first checks every product, volume and capacity step row and every visible setting, and stops with NOT VALID at the first problem it finds, with every figure at 0. It then sets the effective plan prices and elasticities, computes each month's demand, serves it in priority order, picks each month's capacity step and posts revenue, variable cost and fixed cost to the cent. The candidate prices of the product to vary are then evaluated and ranked for the best price and the price-profit chart; when a target is entered they are also scanned and the crossings narrowed; and the 100 trials run. The what-if table recalculates the plan at its 121 combinations. A block of consistency checks, including that posted revenue less posted costs equals posted profit, that no month uses more than its capacity, and that the table's middle cell equals the horizon profit, runs before the status is returned.

Outputs and interpretation

The headline gives the horizon profit, the best candidate price and the simulated mean horizon profit. The result sections follow.

  • Plan: revenue, variable cost, contribution, fixed cost and contribution margin; units demanded, sold and lost; average and peak capacity utilization; the months that use more than the first step; and the results by product and by month.
  • Best price: the profit at the best price and at the plan price, the uplift, whether the best is at an end of the range, the number of candidates evaluated and their spacing.
  • Target price: up to three target prices to six decimals with their residuals, the number of crossings, whether profit moves one way with price, any jumps and the highest and lowest scanned profit. With no target entered this section is empty and says so.
  • Risk: the median, 10th and 90th percentile, lowest and highest trial profit; the share of trials with a loss and the share reaching your target, each as a count out of 100 with its standard error; the share of trials losing demand and the mean units lost; the means of trials 1 to 50 and 51 to 100; and the seed used. With only 100 trials the percentiles are illustrative, and 0 of 100 trials with a loss does not mean the risk is zero.

For nearby questions, the Job Cost Markup Estimator prices one job from its costs, and the Landed Cost Calculator and Freight Cost Calculator build up the unit cost of goods you buy in.

Validation and status logic

The workbook returns one status, chosen in this order: NOT VALID, then INFEASIBLE, then NO SOLUTION FOUND, then CHECK, then OK.

  • NOT VALID names the first problem: a product row (a blank row above a used row, a missing or malformed ID, a repeated ID, a price, cost, elasticity or capacity use outside its limits, an unknown demand model, a reference price of zero for a responsive product, a plan price of zero for constant elasticity, or a missing elasticity for a responsive product); capacity priorities that are not 1 to the number of products, each once; no product; a volume that is blank inside the horizon for a product in use, or filled after the horizon or under an unused product row; a capacity step row (a gap, a missing value, or a limit that does not rise); no capacity step; and then a setting outside its limits: a product to vary that is not one of the product IDs in the table, a lowest price to try above the highest, a lowest price to try of zero when the product to vary has constant elasticity demand, a target that is not in whole cents, a seed outside its range, or demand multipliers not in the order low, most likely, high. NOT VALID is a refusal, not a numeric answer: every figure is withheld.
  • INFEASIBLE means the minimum unit margin needs a price above the highest price to try, so no candidate price is admissible. The plan's own figures and the simulation stay valid and shown; the best-price and target outputs are withheld.
  • NO SOLUTION FOUND happens only when a target is entered. It means the target search located no price whose profit equals the target, with the highest and lowest profit it scanned and any jump it found. This is not a proof that no such price exists between the candidates. The plan, the best price and the simulation stay valid and shown.
  • CHECK accompanies a valid result that needs a look because a workbook consistency check failed.
  • OK otherwise.

Warnings say when demand exceeds capacity in some months (with the units lost), when a product with capacity use 0 sits outside the capacity check, when the best price is at an end of the range, when a plan price is below half or above twice its reference price so the demand assumption is extrapolated, when the effective plan price of the product to vary lies outside the price range to try, when no product responds to price so the what-if columns are identical, when linear demand reaches zero at a plan price, when the demand multipliers are all equal, when profit crosses the target more than three times, and when the what-if table is withheld. A warning never changes the status.

Assumptions and limitations

  • Capacities are 5 products, 12 months and 5 capacity steps; the price search tries at most 101 evenly spaced prices plus the plan price.
  • Each product has one reference price, plan price and unit cost for the whole horizon; seasonality enters through the monthly volumes. Capacity is the same every month.
  • Demand follows the model you choose, with the elasticity you enter. One product's price does not change another product's demand: substitution between products is not modelled.
  • Quantities are expected values and may be fractional. Unserved demand is lost, never carried to a later month or to another product.
  • Capacity is shared in a fixed priority order; the model does not search for the allocation with the highest contribution, and production is never held back to stay in a cheaper step.
  • The best-price and target searches vary one product at a time and keep every other price fixed. The best candidate is the best of the prices tried; a better price can lie between two candidates.
  • The simulation varies demand only, with one multiplier per month shared by every product and months drawn independently. Prices, costs and capacity are fixed in every trial, and 100 trials give rough percentiles: a share of 0 out of 100 does not mean the risk is zero.
  • Money is in one currency and is not discounted; taxes, financing, inventory and payment timing are not modelled.
  • Results exactly on, or within rounding noise of, a half-cent edge may differ by one cent, including a tie between prices, so the best price named can change.

Restrictions and non-computing states

The calculator enforces its numeric and choice limits before it accepts a result. A blank row between used product or capacity step rows, a repeated product ID, priorities that are not one each from the first, and volumes outside the horizon or under an unused product row are refused by the workbook. With no target entered the target outputs are left blank. When a table step would take the lowest row's prices to zero or below, or the lowest column's response scale below zero, only the what-if table is withheld, with that reason.

Errors and warnings

A request rejected by the page's input limits is not a computed result. A transport or service failure, a timeout or a cancelled run cannot establish a fresh workbook answer, and the last result stays on the page marked as out of date. Review the workbook's References and Disclaimer, and test a result against your own sales and cost data, before using it for a real pricing decision.

References

Sources and further reading

Your prices, costs, volumes, demand responses, capacity steps and fixed costs come from the inputs; the calculator holds no market, industry or customer data, and every value is your own assumption. The sources below explain the ideas the model uses. They do not endorse this calculator.

This is an educational model of the plan you enter, not financial, accounting or pricing advice. It does not estimate how customers respond to price, it is not certified financial reporting, and it does not guarantee a profit improvement; test a result against your own data before acting on it.

Results are informational and not professional advice. See our Terms of Use. Powered by SpreadsheetWeb · About · Privacy · Terms