Profitability analysis

Channel & Marketplace Profitability Calculator

Shows what is left from each sale across up to 3 channels, for up to 10 products over 1 to 12 months: fee rules with minimums, caps, month windows and refunds on returns, fulfilment, return shipping, ads, storage and cash timing. One Calculate fills the plan, a fee audit, the break-even and target prices, 100 simulated return levels and a what-if table of price against returns. Every value is your assumption; 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

What-if: return multiplier, all rows (required) Conditional
About this input

Multiplies every return rate before anything is calculated, from 0 to 5. The columns of the what-if table are centred on it. Each return rate times this must stay at most 100%.

Unit x returns Default 1 Range 0 to 5
Sales by product and channel (required)
About this input

Up to 30 sales rows, one per product and channel: list price, units a month, and optionally a discount, units per order, a shipping charge, a return rate, a profile, ad spend and average inventory. List price times units a month must be at most 1,000,000,000. Non-zero units must be at least 0.01.

Default 2 rows
ColumnRange or allowed values
Product Not declared
Channel Not declared
List price 0 to 100000
Discount 0 to 1
Units a month 0 to 100000
Units per order 1 to 10000
Shipping charged per order 0 to 10000
Return rate 0 to 1
Fulfilment profile Not declared
Ad spend a month 0 to 10000000
Average inventory, units 0 to 10000000
Simulated return multiplier, most likely (required) Conditional
About this input

The most likely return multiplier, the peak of the triangular distribution, between the low and the high value.

Unit x returns Default 1 Range 0 to 5
Simulated return multiplier, high (required) Conditional
About this input

The highest return multiplier in the 100 trials, from 0 to 5. Each return rate times the what-if multiplier times this must stay at most 100%. Set low, most likely and high equal to switch the variation off.

Unit x returns Default 1.2 Range 0 to 5
Simulated return multiplier, low (required) Conditional
About this input

The lowest return multiplier in the 100 trials, from 0 to 5. One multiplier per trial, shared by every row and channel.

Unit x returns Default 0.8 Range 0 to 5
Target margin Conditional
When omitted Blank
About this input

The target search finds the lowest price on each channel that leaves this share of net revenue as contribution, from -100% to 95%. Blank means no target search: its section stays empty.

Default Not set Range -1 to 0.95
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
Monthly sales pattern
When omitted Blank
About this input

A sales index for each month: monthly units are units a month times this index. Blank means 1. An index is 0, or from 0.01 to 5. Values after the last month of the plan are not read.

Default 0 rows
ColumnRange or allowed values
Month Not declared
Sales index 0 to 5
Highest price to try Conditional
When omitted Blank
About this input

The highest list price the searches try, from 0 to 300,000 and not below the lowest price to try. Blank means 3 times the highest list price of the product. Lowest and highest may be equal: the searches then test that one price.

Default Not set Range 0 to 300000
Lowest price to try Conditional
When omitted Blank
About this input

The lowest list price the searches try, before the row discount, from 0 to 300,000. Blank means 0.

Default Not set Range 0 to 300000
Table step, price multiplier (required) Conditional
About this input

The spacing of the 11 price rows of the what-if table, above 0 and at most 0.2. When the lowest row would fall below 0, only the table is withheld.

Default 0.05 Range 0 to 0.2
Table step, return multiplier (required) Conditional
About this input

The spacing of the 11 return columns of the what-if table, above 0 and at most 1. When the lowest column would fall below 0, or the highest would return more than 100% of a row, only the table is withheld.

Default 0.2 Range 0 to 1
Fee rules
When omitted Blank
About this input

Up to 15 fee rules, each belonging to one channel. A rule charges a percent of item sales, shipping or both, or a fixed amount per order or per item, held between a minimum and a cap, in its own months, with a share refunded on returned units. May be empty: no fees.

Default 1 row
ColumnRange or allowed values
Rule ID Not declared
Channel Not declared
Charged on Item sales, Shipping, Combined, Orders, Units
Percent 0 to 1
Fixed amount 0 to 10000
Charged per Per order, Per item
Minimum 0 to 10000
Cap 0 to 10000
Refund on returns 0 to 1
First month 1 to 12
Last month 1 to 12
Channel to compare against (required) Conditional
About this input

The channel results show each other channel against this one: contribution, unit contribution and margin. Pick a Channel ID from the channels table.

Default DIRECT
Channels (required)
About this input

Up to 3 sales channels. Each has an ID, and may have a payment delay in months and a storage cost per unit per month. Customer money and fees settle after the delay. Blank means 0.

Default 2 rows
ColumnRange or allowed values
Channel ID Not declared
Payment delay, months 0 to 6
Storage cost per unit per month 0 to 1000
Products (required)
About this input

Up to 10 products. Each has an ID and a cost per unit, and may keep a share of that cost when a unit comes back and can be resold. Do not include channel fees or shipping in the cost; enter those as fee rules and profiles, so they are counted once.

Default 1 row
ColumnRange or allowed values
Product ID Not declared
Product cost per unit 0 to 100000
Returned stock value kept 0 to 1
Fulfilment profiles
When omitted Blank
About this input

Up to 10 fulfilment profiles: pick and pack and shipping out per order, and return shipping per returned unit. A sales row may name one. May be empty when no sales row names a profile. Blank costs mean 0.

Default 2 rows
ColumnRange or allowed values
Profile ID Not declared
Pick and pack per order 0 to 10000
Shipping out per order 0 to 10000
Return shipping per returned unit 0 to 10000
Product to price (required) Conditional
About this input

The break-even and target searches find the lowest price of this product on each channel it sells on. Every other row keeps its price. Pick a Product ID from the products table.

Default MUG
Months in the plan (required) Conditional
About this input

Months modelled from month 1, a whole number from 1 to 12. Sales, ads and storage run for these months.

Unit months Default 1 Range 1 to 12
What-if: price multiplier, all rows (required) Conditional
About this input

Multiplies every list price before anything is calculated, from 0 to 3. The rows of the what-if table are centred on it. The searches try their own prices, so this does not move them.

Unit x price Default 1 Range 0 to 3

Outputs

Simulated 10th percentile
About this output

The contribution that 10% of the trials fall below. With 100 trials it is illustrative.

No unit declared
Simulated 90th percentile
About this output

The contribution that 90% of the trials fall below. With 100 trials it is illustrative.

No unit declared
Simulated median
About this output

The middle contribution of the 100 trials.

No unit declared
Simulated minimum
About this output

The lowest contribution of the 100 trials.

No unit declared
Share of trials below zero
About this output

The share of the 100 trials below zero. Zero of 100 does not mean zero risk.

No unit declared
Target price of the chosen product, by channel
About this output

The same search for the target margin. Empty when no target is entered.

No unit declared
Target search status
About this output

The same as the break-even status, for the target margin. Blank when no target is entered.

No unit declared
Standard error of that share
About this output

The sampling error of the share of trials below zero.

No unit declared
Storage
About this output

Average inventory times the storage cost of the channel, over the plan. It comes from inventory, never from sales.

No unit declared
Mean of trials 51 to 100
About this output

The mean of the last 50 trials. It shows how settled the 100-trial mean is.

No unit declared
Shipping collected
About this output

Shipping charged to customers. It is not refunded on returns.

No unit declared
Risk range, by channel
About this output

The 100 trials of each selling channel, all on the same draws: mean, percentiles, range, the trials it is the best channel and the trials below zero, with their shares and standard errors. Zero of 100 does not mean zero risk.

No unit declared
Lowest price tried
About this output

The lowest list price the searches tried.

No unit declared
PP08 Season Check
About this output

The check of each month: blank when the cell is blank or after the last month of the plan, OK, or the problem found, starting with its code.

No unit declared
Simulated contribution, 100 trials
About this output

The 100 trial totals in 10 equal bins from the lowest to the highest. All trials sit in bin 1 when every trial is equal.

No unit declared
Simulated mean contribution
About this output

The average of 100 trials in which one number scales every return rate. Prices and costs stay fixed.

No unit declared
Mean of trials 1 to 50
About this output

The mean of the first 50 trials. It shows how settled the 100-trial mean is.

No unit declared
Trials below zero
About this output

How many of the 100 trials have a total contribution below zero.

Unit of 100
Simulated maximum
About this output

The highest contribution of the 100 trials.

No unit declared
Table1 CMP Row Axis
About this output

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

No unit declared
Table1 CMP Row Input
About this output

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

No unit declared
Table1 CMP Column Input
About this output

Machinery, not an input: the cell the table substitutes each column return multiplier into. The rest of the time it repeats the return multiplier.

No unit declared
Table1 CMP Corner
About this output

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

Unit 0.00
Table1 CMP Values
About this output

Each cell is the total contribution recalculated with every list price multiplied by the row value and every return rate multiplied by the column value. The middle cell is your own plan.

Unit $0
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
About this output

The number of simulated trials, always 100.

Unit count
Warnings
About this output

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

Unit count
Table1 CMP Column Axis
About this output

The return multipliers across the top of the what-if table: your own multiplier in the middle, five equal steps below and five above.

No unit declared
Returned units
About this output

Units returned over the plan.

Unit units
Units
About this output

Units sold over the plan: units a month times the monthly index. Quantities are expected values, so fractions are allowed.

Unit units
Total contribution
About this output

Net revenue less net product cost, net fees, fulfilment, return shipping, ads and storage, over the whole plan. Every value behind it is your own assumption.

No unit declared
Orders
About this output

Orders over the plan: units divided by units per order.

Unit orders
Contribution per unit
About this output

Contribution per unit sold. Blank when no units sell.

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. Blank until the inputs are valid.

No unit declared
Status code
About this output

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

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
Seed used
About this output

The seed of this run: your entry, or 42 when blank.

No unit declared
Highest price tried
About this output

The highest list price the searches tried.

No unit declared
Cash by month
About this output

Net cash by month for each channel row, in grid order, with the whole-plan net and cumulative cash. Customer money and fees settle after the payment delay; costs fall in their own month. Blank after the last month with a cash flow.

No unit declared
The plan, by channel
About this output

One row per channel, with each channel against the one you chose to compare against, its cash inside and after the plan, and how many times its current returns take its contribution to zero (blank when returns cannot reach that).

No unit declared
Cash after the plan
About this output

The part of contribution that settles after the last month of the plan, because of the payment delays.

No unit declared
Cash inside the plan
About this output

The part of contribution that has settled by the last month of the plan.

No unit declared
PP08 Channels Check
About this output

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

No unit declared
Fee audit
About this output

One row per fee rule: where it applied, how many orders or items it charged, what it charged and refunded, and on how many rows the minimum or the cap held. It adds up exactly to the fees in the plan.

No unit declared
Fee refunds
About this output

The share of fees on returned units that comes back.

No unit declared
Product cost
About this output

Units at their cost per unit, before any returned stock value kept.

No unit declared
Product cost, net
About this output

Product cost less returned stock value kept.

No unit declared
Break-even price of the chosen product, by channel
About this output

For each channel the product sells on: the lowest list price on the scanned range at which it stops losing money, within 0.01, with the scan facts. Closest gap and closest price show how near the scan came. Margin may not move one way with price; see Monotone.

No unit declared
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 the price range is empty, NO SOLUTION FOUND when no price reaches a goal, and CHECK for a result to look at. Above about $10 trillion of revenue plus cost the calculator refuses, because whole cents stop being exact there. Below that, one cent of posted contribution decides the best channel, apart from small rounding in the underlying sum.

No unit declared
Break-even search status
About this output

OPTIMAL when every channel the product sells on has a price at the goal: the lowest on the scanned range, within 0.01. NO_SOLUTION when one has none. INFEASIBLE when the price range is empty. Blank when the search did not run.

No unit declared
Lead of the best channel
About this output

The contribution of the best channel less that of the next best. Blank with one selling channel.

No unit declared
Best channel per unit
About this output

The channel with the highest contribution per unit, among channels with units above 0, read to 15 significant digits. Ties go to the earlier channel row.

No unit declared
Ads
About this output

Ad spend a month over the plan.

No unit declared
Best channel
About this output

The channel with sales rows and the highest contribution. Ties go to the earlier channel row.

No unit declared
PP08 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
PP08 Profiles Check
About this output

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

No unit declared
Peak cash need
About this output

The lowest point of cumulative cash, as a positive amount. 0 when cash never goes below zero. Stock purchases are not modelled.

No unit declared
The plan, by product
About this output

One row per product. Best channel has the highest contribution for that product; ties go to the earlier sales row.

No unit declared
Returned stock value kept
About this output

The share of unit cost kept on returned units that can be resold.

No unit declared
The plan, by sales row
About this output

One row per sales row: units, posted money lines and contribution. Blank rows are unused. Per unit and margin are blank at a zero denominator.

No unit declared
PP08 Sales Check
About this output

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

No unit declared
Refunds
About this output

Returned units at the price after discount.

No unit declared
Return shipping
About this output

Return shipping per returned unit.

No unit declared
Month of the peak cash need
About this output

The first month at the lowest point of cumulative cash. Blank when there is no deficit.

Unit month
Fees, net
About this output

Fees charged less fee refunds.

No unit declared
Fulfilment
About this output

Pick and pack and shipping out, per order.

No unit declared
Fees charged
About this output

Every fee rule on every row of its channel, before refunds.

No unit declared
PP08 Fees Check
About this output

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

No unit declared
Why the what-if table is withheld
About this output

Blank when the what-if table is shown. Otherwise the step to change, or that some what-if scenarios exceed the supported numerical range. Every other result still calculates.

No unit declared
Contribution margin
About this output

Contribution as a share of net revenue. Blank at zero net revenue.

No unit declared
Net revenue
About this output

Item sales plus shipping collected less refunds.

No unit declared
Item sales
About this output

Units at the price after discount.

No unit declared
Sales rows that lose money
About this output

How many sales rows have a contribution below zero.

Unit count
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 shows what is left from each sale on each sales channel. A seller sells up to 10 products through up to 3 channels, over a plan of 1 to 12 months. Each product on each channel is one sales row, with its own price, discount, monthly units, returns, ads and inventory. Up to 15 fee rules belong to the channels. A monthly pattern scales the units of every row.

One Calculate fills every result section of that one model: the plan by channel, product and row, a fee audit, cash by month, the break-even price of one product on each channel, the price for a target margin when you enter one, 100 simulated return levels and an 11 by 11 what-if table of price against returns.

Every figure on this page is computed by the spreadsheet; the page adds nothing to it. Every value is your own assumption. The calculator holds no channel's fee schedule, it does not say how customers respond to a price or how a channel will change its terms, it is not certified financial reporting, and it does not guarantee a profit.

Inputs and units

  • Plan: the months in the plan, a whole number from 1 to 12, and the channel the others are compared against, chosen from the channel IDs you typed.
  • Products, up to 10 rows, filled from the top without a blank row between used rows: a product ID, which is a capital letter and then up to 15 capital letters or digits, each ID used once; the product cost per unit, from 0 to 100,000; and optionally the share of that cost you keep when a unit comes back and can be resold, from 0% to 100% (blank means 0%). Channel fees and shipping do not belong in the product cost; enter them as fee rules and profiles, so they are counted once. At least one product is required.
  • Channels, up to 3 rows, filled from the top: a channel ID, in the same form; the payment delay in whole months, from 0 to 6 (blank means 0); and the storage cost per unit per month, from 0 to 1,000 (blank means 0). At least one channel is required.
  • Fulfilment profiles, up to 10 rows, which may be empty: a profile ID, and the pick and pack cost per order, the shipping cost per order and the return shipping cost per returned unit, each from 0 to 10,000 (blank means 0).
  • Sales by product and channel, up to 30 rows, filled from the top. Rows can be typed or pasted from a spreadsheet. Each row has a product and a channel from their tables, one row per product and channel; a list price from 0 to 100,000; and units a month, either 0 or from 0.01 to 100,000. List price times units a month must be at most 1,000,000,000. Optional, with what blank means: the discount, from 0% to 100% (0%); units per order, from 1 to 10,000 (1); the shipping charged per order, from 0 to 10,000 (0); the return rate, from 0% to 100% (0%); a fulfilment profile from its table (no fulfilment cost); the ad spend a month, from 0 to 10,000,000 (0); and the average inventory in units, from 0 to 10,000,000 (0). At least one row is required.
  • Fee rules, up to 15 rows, which may be empty. Rows can be typed or pasted from a spreadsheet. Each rule has a rule ID, used once; a channel from its table; and what it is charged on: Item sales, Shipping, Combined, Orders or Units. Optional, with what blank means: a percent, from 0% to 100% (0%), which a rule on Orders or Units cannot have; a fixed amount, from 0 to 10,000 (0); a minimum and a cap, each from 0 to 10,000 with the cap not below the minimum (none); the refund on returns, from 0% to 100% (not refundable); and the first and last month, from 1 to 12 (the whole plan). A rule on Item sales, Shipping or Combined also says whether it is charged per order or per item.
  • Monthly sales pattern: a sales index for each of the 12 months, either 0 or from 0.01 to 5. Blank means 1. Months after the plan are not read.
  • Price search: the product to price, chosen from the product IDs you typed, and optionally the lowest and highest list price to try, each from 0 to 300,000. The slider reaches 10,000; you can type a higher price in the box. Blank lowest means 0, and blank highest means 3 times the product's highest list price. The two may be equal: the searches then test that one price.
  • What-if table: a price multiplier from 0 to 3 and a return multiplier from 0 to 5, applied to every row before anything is calculated (1 unless you change them), and the spacing of the table's rows, above 0 up to 0.2, and columns, above 0 up to 1.
  • Optional, under "Optional: target and risk":
    • the target margin, from −100% to 95% (blank means no target search);
    • the simulated return multiplier low, most likely and high, each from 0 to 5, in that order (0.8, 1 and 1.2 by default);
    • the random seed, a whole number from 1 to 2,147,483,646 (blank means 42).

Money is in dollars. Percentages are shares of a price, of an amount or of units.

Governing relationships

Units and orders. Units on a row over the plan are units a month times the sum of the sales index over the months in the plan. Orders are units divided by units per order. Units, orders and returned units are expected values, so they can be fractions.

A fee rule. A rule applies to every sales row of its channel. Per order or per item, in the rule's own months, the amount before limits is the percent of what the rule is charged on, plus the fixed amount. Item sales means the price after discount, Shipping means the shipping charged and Combined means both; Orders and Units take the fixed amount only. The minimum and cap then hold that amount, per order or per item, on the original amount. The fee is that amount times the orders or items sold in the rule's months. The refund is the returned share of the original fee times the refund on returns, including any fixed part.

The ledger. Each line of each row is rounded once to the cent, half away from zero. Every total is a sum of those lines.

  • Net revenue is item sales plus shipping collected less refunds. Refunds are the returned units at the price after discount; shipping collected is not refunded.
  • Net product cost is the product cost of all units less the returned stock kept, which is the returned units at product cost times the share kept.
  • Net fees are the fees charged less the fee refunds.
  • Fulfilment is orders times pick and pack plus shipping out. Return shipping is returned units times its rate.
  • Ads are the ad spend a month times the months in the plan.
  • Storage is average inventory times the channel's storage rate times the months in the plan. It comes from inventory, never from sales, so it carries on through a month with no sales.
  • Contribution is net revenue less net product cost, net fees, fulfilment, return shipping, ads and storage.

Margin is contribution divided by net revenue, and contribution per unit is contribution divided by units. Each is blank when what it divides by is zero. The best channel has the highest contribution, and a tie goes to the earlier row. The best channel per unit is read to 15 digits: two channels that match that far tie, and the earlier row is named.

Cash by month. Cash is separate from contribution. Costs fall in the month they happen. Customer money and fees settle after the channel's payment delay, so some money can land after the plan ends: that amount is shown. Sales, cost of sales and fees spread over the months by the sales index, and a fee only over its own months. Ads and storage spread evenly. Each channel's months add up exactly to its contribution, with any rounding cent placed by month order. Product cost is dated in the month of sale; stock purchases are not modelled.

Break-even and target prices. For the product to price, on each channel it sells on, the search varies that row's list price, before its own discount, and every other row keeps its price. It tries 101 evenly spaced prices from the lowest to the highest, and where the goal is crossed it narrows the price by 40 halving steps. The break-even goal is a contribution of zero and always runs. The target goal is contribution equal to your margin on net revenue and runs only when you enter a target. The answer is the lowest price that meets the goal, within one cent of contribution. A price rounded up to the cent is shown beside it. When the goal is already met at the lowest price tried, that price is the answer, with a warning. Fee minimums and caps can make margin move both ways with price, and the page warns when they do: prices closer together than one scan step can then be missed. Up to 3 crossings are located and reported; a falling crossing too steep to locate within a cent is counted but not reported.

Simulation. Each of the 100 trials draws one return multiplier from your low, most likely and high (a triangular distribution). That one number scales the returns of every row and channel, so channels are compared on the same draws. Prices stay fixed and nothing is re-optimized. Each trial is exact, because contribution moves in a straight line with the return rate. The same seed and inputs give the same 100 trials, and each Calculate after the first moves on to the next seed, so a new press draws new trials. Percentiles from 100 trials are illustrative only, and 0 of 100 trials below zero does not mean zero risk.

Return multiple at break-even. For each channel, the channel table shows how many times current returns would take its contribution to zero. It is blank when returns cannot do so, or when some row would pass 100% returned first.

What-if table. Rows are 11 price multipliers centred on yours, one row step apart; columns are 11 return multipliers centred on yours, one column step apart. Each cell is the total contribution recalculated by an Excel Data Table. The middle cell is your own plan. When a step would take the lowest row or column below 0, or take a row's returns above 100%, the table is withheld with that reason and every other result still stands.

Calculation sequence

The spreadsheet first checks the products, channels, profiles, sales rows, fee rules and monthly pattern, then that each key names a row of its table, then the settings, and stops with NOT VALID at the first problem it finds, with every figure at 0. It then works out each rule's fee on each row and posts the ledger to the cent, adds the channel, product and rule totals, and dates the cash. It searches the prices, runs the 100 trials and recalculates the what-if table at its 121 combinations. A block of consistency checks runs before the status is returned, including that the rows and channels add up to the plan, that each channel's cash adds up to its contribution, that the fee audit adds up to the net fees, and that the table's middle cell equals the contribution.

Outputs and interpretation

The headline gives the total contribution, the margin and the cash that arrives within the plan. The result sections follow.

  • The plan: the best channel, its lead and the best channel per unit, the contribution per unit, the units, returned units and orders, each revenue and cost line and how many rows lose money; with tables by channel, by product and by sales row. The channel table also shows each channel against the one you chose to compare with, its cash in and after the plan, and its return multiple at break-even.
  • Fee audit: the fees charged, refunded and net; and for each rule its months in the plan, the rows it charged, the orders or items charged, its fee, refunds and net, and how many rows sit at its minimum and at its cap. The audit adds up exactly to the fees in the plan.
  • Cash by month: the amount after the plan, the largest cash need and its month; with net cash by channel, the whole plan and the running total, month by month.
  • Break-even price on each channel: the range searched; and for each channel the price now, the status, the lowest price, that price rounded up to the cent and after the discount, the contribution and margin there, whether the answer is the lowest price tried, the crossings and prices found, and the closest the scan came.
  • Price for the target margin: the same table for your target. With no target entered this section is empty and says so.
  • Risk: 100 simulated return levels: the mean, median, 10th and 90th percentile, lowest and highest total contribution; the share of trials below zero with its count and standard error; the means of the first and last 50 trials and the seed used; with a table by channel, including how often each channel was best, and a histogram.

For nearby questions, the Cost-to-Serve & Minimum Profitable Order Calculator looks at what one order costs by size and policy, the Price Volume Profit Scenario Simulator projects profit over months when demand responds to price, and the Quote Pricing & Deal Margin Optimizer prices one deal.

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, channel, profile, sales row or fee rule (a blank row above a used row, a missing, malformed or repeated ID, a value outside its limits, or a rule that does not fit together, such as a percent on Orders or a minimum above the cap); no product, channel or sales row; a month index outside its limits; a sales row or rule naming a product, channel or profile not in its table, or a product and channel entered twice; a setting outside its limits, including a return rate that a multiplier would take above 100%; or a calculation that exceeds the supported numerical range.
  • INFEASIBLE means the lowest price to try is above the highest after a blank highest takes its value. The plan, cash, fee audit, simulation and table stay valid and shown.
  • NO SOLUTION FOUND means no price in the range brings a searched row to break-even or, with a target entered, to the target margin. The plan, cash, fee audit, simulation and table stay valid and shown. A channel that reached its goal keeps its answer, and the closest the scan came is shown for the one that did not.
  • CHECK accompanies a valid result that needs a look because a workbook consistency check failed.
  • OK otherwise.

Warnings say when sales rows lose money; when the channel to compare against has no sales rows; when a goal is already met at the lowest price tried; when margin does not move one way with price on a searched row; when the search found more than 3 crossings; when no row has returns, or no row has both sales and a price, so what-if columns or rows are identical; when the simulated multipliers are all equal; when a month index after the plan is not used; when the what-if table is withheld; when net revenue is zero on a selling channel; when the product to price has no sales rows; when an amount settles after the plan; and when a fee rule charges nothing on this plan.

Assumptions and limitations

  • Capacities are 10 products, 3 channels, 10 profiles, 30 sales rows, 15 fee rules and 12 months, with cash shown to month 18.
  • Units are what you enter. A price or fee change moves no units: the calculator does not estimate how customers respond.
  • One return multiplier is shared by every row and channel in a trial, so the simulation does not show one channel's returns moving on their own.
  • Returned units are refunded at the price after discount. Shipping collected is not refunded. A returned unit keeps only the share of cost you enter.
  • A fee rule applies to every sales row of its channel. Its limits apply per order or per item, not per month or per plan.
  • Stock purchases, taxes, overheads and financing costs are not modelled.
  • A row at the largest allowed size can leave a target search that is negative without an answer, because 40 halving steps then resolve price more coarsely than one cent. It reports no solution, never a false price.
  • Above about $10 trillion of revenue plus cost the calculator refuses, because whole cents stop being exact there. When only some what-if scenarios pass that limit, only the table is withheld.
  • Results exactly on, or within rounding noise of, a half-cent edge may differ by one cent, including a tie between channels or the month a cent of cash falls in, so the best channel or peak month named can change.
  • Amounts within two cents below the $10 trillion limit may show as $10 trillion. Near $10 trillion, this can also change the peak month or raise a one-cent settlement warning.
  • Near $10 trillion, whether a plan with returns simulation is refused can depend on the seed, because it refuses only when a drawn trial exceeds the limit.
  • Above $10 billion, a simulated mean can be off by less than one cent.
  • A loss far under a cent can read as no loss, and near $10 trillion two channels less than 0.05 of a cent apart in a trial count as tied.

Restrictions and non-computing states

The calculator enforces its numeric and choice limits before it accepts a result. A blank row between used rows, a repeated ID, a key not in its table, a sales row above the size limit and a fee rule that does not fit together are refused by the workbook. With no target the target section is left blank. When a table step would take the what-if table out of range, only the table is withheld.

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 check a result against your own costs and your channels' current terms, before using it to set a price or choose a channel.

References

Sources and further reading

Your prices, units, costs, fee rules, returns, ads, inventory and payment delays come from the inputs; the calculator holds no market, channel or fee 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, pricing or legal advice. It does not estimate how customers respond to a price or how a channel will change its fees, it is not certified financial reporting, and it does not guarantee a profit; check a result against your own costs and your channels' current terms before using it.

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