Profitability analysis

Cost-to-Serve & Minimum Profitable Order Calculator

Finds what each order costs to serve and what it earns, by customer segment and order size: product cost, order activities, carrier bands per shipment, payment fees and returns against the net price, the shipping charge and any small-order surcharge. One Calculate posts the period ledger, finds the break-even and minimum profitable order size, every profitable size range and an optional target size, compares up to three order policies on the same orders, and tabulates contribution across product and delivery cost. 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

List price per unit (required) Conditional
About this input

The price of one unit before any segment discount, in dollars, above 0 and at most 1,000,000.

Unit $ Default 10 Range 0 to 1000000
Handling cost per returned unit (required) Conditional
About this input

Return postage, inspection and any write-off, per returned unit, in dollars, from 0 to 10,000.

Unit $ Default 0 Range 0 to 10000
Share of units returned (required) Conditional
About this input

The expected share of units sent back, from 0% to 100%. Returned units are refunded at the net price and go back into stock at product cost.

Unit % Default 0 Range 0 to 1
Fixed overhead for the period Conditional
When omitted Blank
About this input

Fixed costs for the period that do not depend on orders, in dollars, from 0 to 1,000,000,000. Period profit is contribution less this overhead. Blank means 0.

Unit $ Default Not set Range 0 to 1000000000
Order policies (required)
About this input

Up to three order policies: a Policy ID, the shipping charge per order, an optional free-shipping threshold on order value, an optional minimum order and what happens below it (Reject or Surcharge), and the surcharge.

Default 1 row
ColumnRange or allowed values
Policy ID Not declared
Shipping charge per order 0 to 10000
Free shipping from order value 0 to 10000000
Minimum order (units) 1 to 10000
Below the minimum Reject, Surcharge
Small-order surcharge 0 to 10000
Policy to apply (required) Conditional
About this input

The Policy ID, chosen from the policies table, that the period ledger, the cost bridge, the order-size search and the what-if table use. The policy comparison evaluates every policy.

Default STD
Product cost per unit (required) Conditional
About this input

What one unit costs you to buy or make, in dollars, from 0 to 1,000,000. Enter handling and delivery as order activities and shipping bands, not here.

Unit $ Default 6 Range 0 to 1000000
Weight per unit Conditional
When omitted Blank
About this input

The weight of one unit, in the same unit (kg or lb) as the band table, from 0 to 10,000. Required and shown only when shipping bands are by weight.

Unit weight unit Default 0.8 Range 0 to 10000
Units per shipment Conditional
When omitted Blank
About this input

The most units one parcel or pallet holds, a whole number from 1 to 10,000. An order of 41 with 40 per shipment ships as 2 shipments. Blank means the whole order ships as one shipment.

Unit units Default Not set Range 1 to 10000
Segment to search (required) Conditional
About this input

The Segment ID, chosen from the segments table, whose net price the order-size search and the contribution-by-size chart use.

Default OFFICE
Customer segments (required)
About this input

Up to five customer segments: a Segment ID and the price discount that segment gets off the list price. At least one segment is needed.

Default 1 row
ColumnRange or allowed values
Segment ID Not declared
Price discount 0 to 0.9
Target contribution per order Conditional
When omitted Blank
About this input

A contribution per order, in whole cents from -1,000,000 to 1,000,000, that the search tries to reach: it finds the smallest order size that earns at least this much. Blank means no target search.

Unit $ Default Not set Range -1000000 to 1000000
What-if product cost multiplier (required) Conditional
About this input

A what-if multiplier on the product cost everywhere, from 0 to 5. 1 is your own cost. The rows of the what-if table are centred on it.

Unit x product cost Default 1 Range 0 to 5
What-if delivery cost multiplier (required) Conditional
About this input

A what-if multiplier on every carrier band cost, from 0 to 5. 1 is your own carrier cost. The columns of the what-if table are centred on it.

Unit x carrier cost Default 1 Range 0 to 5
Orders in the period (one row per segment and order size) (required)
About this input

The orders of one period, up to 20 rows: the segment, the order size in units and how many orders of that size arrive. Each segment and size pair appears once. Zero orders is valid.

Default 5 rows
ColumnRange or allowed values
Segment Not declared
Order size (units) 1 to 10000
Orders in the period 0 to 10000000
Order activities
When omitted Blank
About this input

Up to ten order activities, each charged per order, per unit or per shipment, at a rate in dollars. An activity with a segment applies only to that segment; blank applies to every segment. The table may be empty.

Default 1 row
ColumnRange or allowed values
Activity ID Not declared
Charged Per order, Per unit, Per shipment
Rate 0 to 100000
Only for segment Not declared
Shipping bands by (required) Conditional
About this input

How a shipment finds its shipping band: Weight places it by the weight of the units in it, Order value by the value of those units after the segment discount.

Default Weight Allowed Weight, Order value
Shipping bands (carrier cost per shipment) (required)
About this input

Up to ten carrier bands per shipment. Band k covers shipments from its start up to, but not including, the next start. The first band starts at 0 and the starts strictly increase.

Default 1 row
ColumnRange or allowed values
Band starts at 0 to 1000000000
Carrier cost per shipment 0 to 100000
Most orders a policy may turn away Conditional
When omitted Blank
About this input

The largest share of the period orders a policy may turn away and still be chosen as best, from 0% to 100%. Blank means no limit.

Unit % of orders Default Not set Range 0 to 1
Payment fee per order (required) Conditional
About this input

A fixed payment fee on every order, in dollars, from 0 to 100.

Unit $ Default 0 Range 0 to 100
Payment fee, percent of amount collected (required) Conditional
About this input

The payment fee as a share of the amount collected: the item value, the shipping charge and any surcharge of each order, from 0% to 20%. It is not refunded on returns.

Unit % Default 0 Range 0 to 0.2
Table step, product cost (required) Conditional
About this input

The spacing of the 11 product cost rows of the what-if table, above 0 and at most 0.2. The lowest row must not fall below 0, or only the table is withheld.

Unit x product cost Default 0.05 Range 0 to 0.2
Table step, delivery cost (required) Conditional
About this input

The spacing of the 11 delivery cost columns of the what-if table, above 0 and at most 1. The lowest column must not fall below 0, or only the table is withheld.

Unit x carrier cost Default 0.1 Range 0 to 1
Largest order size to search (required) Conditional
About this input

The largest order size the search evaluates, a whole number from 1 to 1,000. Every whole size from 1 to this value is evaluated.

Unit units Default 20 Range 1 to 1000

Outputs

PP09 Segments Check
About this output

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

No unit declared
Shipping charged to customers
About this output

Shipping charges collected on served orders; none on an order at or above the free-shipping threshold.

No unit declared
Order-size search status
About this output

OPTIMAL when a profitable order size exists, proven by evaluating every whole size from 1 to the largest searched; NO_SOLUTION when none is profitable.

No unit declared
Results by segment
About this output

One row per customer segment under the policy to apply: orders served and turned away, units, net revenue, each cost, contribution, contribution per order, shipping subsidy and margin. Per-order and margin are blank when not applicable.

No unit declared
Shipping subsidy
About this output

Carrier cost less shipping charged. Positive means you pay part of the delivery.

No unit declared
Contribution at the target size
About this output

The contribution per order at the target size, to the cent.

No unit declared
Order value at the target size
About this output

The order value at the target size: that size times the net price of the segment searched.

No unit declared
Contribution by order size (segment to search, policy to apply)
About this output

One row per order size from 1 up to the largest searched (at most 100): the per-order item value and costs, each shown to the cent, and the contribution per order. The shown parts can differ from the contribution by a cent of display rounding.

No unit declared
Small-order surcharges
About this output

Surcharges collected on orders below the minimum of a Surcharge policy.

No unit declared
Refunds on returned units
About this output

The share of units returned times the item revenue: returned units are refunded at the net price.

No unit declared
Order value needed
About this output

The order value at the minimum profitable size: that size times the net price of the segment searched.

No unit declared
Profitable range 3, from
About this output

The first order size of profitable range 3, in ascending order. Blank when there is no such range.

Unit units
Profitable range 3, to
About this output

The last order size of profitable range 3. Blank when there is no such range.

Unit units
Return handling
About this output

Handling cost of the returned units for the period.

No unit declared
Order size with the highest contribution
About this output

The searched order size with the highest contribution per order, the smallest on ties.

Unit units
Net price of the segment searched
About this output

The list price less the discount of the segment to search: the price per unit the search uses.

No unit declared
Safe minimum order size
About this output

The size from which every larger size up to the largest searched is profitable. Blank when the largest size searched loses money.

Unit units
Highest contribution per order
About this output

The contribution per order at that size, to the cent.

No unit declared
Smallest order size meeting the target
About this output

The smallest searched order size whose contribution per order is at least the target. Blank when no target is entered or none meets it.

Unit units
Table1 CTS Corner
About this output

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

Unit 0.50
Table1 CTS Row Axis
About this output

The product cost 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 CTS Column Axis
About this output

The delivery cost 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
Table1 CTS Column Input
About this output

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

No unit declared
Table1 CTS Row Input
About this output

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

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
Table1 CTS Values
About this output

Each cell is the period contribution recalculated with the product cost multiplied by the row value and every carrier cost by the column value. The middle cell is your own plan.

Unit 0
Warnings
About this output

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

Unit count
Target search status
About this output

OPTIMAL when a searched order size meets the target; NO_SOLUTION when none does. Blank when no target is entered.

No unit declared
Period contribution
About this output

Net revenue less product cost, order activities, carrier cost, payment fees and return handling of the served orders of the period, under the policy to apply. Each line of each order-size row is posted to the cent.

No unit declared
Safe size for the target
About this output

The size from which every larger size up to the largest searched meets the target. Blank when there is none.

Unit units
Order sizes meeting the target
About this output

How many searched order sizes meet the target. Blank when no target is entered.

Unit count
Contribution of turned-away orders
About this output

What the turned-away orders would have contributed if served. Negative means they were losing money.

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
Status code
About this output

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

No unit declared
Units served
About this output

Units in the served orders, before returns.

Unit units
Reference data version
About this output

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

No unit declared
Break-even order size
About this output

The smallest order size whose contribution per order is zero or more. Blank when none is.

Unit units
Cost bridge of the policy to apply
About this output

The per-order cost bridge for the average served order: item revenue, refunds, shipping, surcharges, net revenue, then product cost, activities, carrier, payment fees and return handling as negatives, and contribution. The per-order column is blank when no order is served.

No unit declared
Gain from the best policy
About this output

The best policy contribution less the contribution of the policy to apply. Zero when the policy to apply is the best.

No unit declared
Contribution at break-even
About this output

The contribution per order at the break-even size, to the cent.

No unit declared
Carrier cost
About this output

Carrier band costs of every shipment, times the what-if delivery multiplier.

No unit declared
PP09 Distribution Check
About this output

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

No unit declared
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 or column below zero, or some what-if scenarios exceed the supported numerical range. Every other result is still calculated.

No unit declared
Contribution margin
About this output

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

Unit %
Contribution per order served
About this output

Contribution divided by orders served. Blank when no order is served.

No unit declared
Model version
About this output

The version of the model that produced these results.

No unit declared
Policy comparison status
About this output

OPTIMAL when the best of the declared policies was found by evaluating every one; INFEASIBLE when every policy turns away more orders than the limit allows. Blank when the inputs are not valid.

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 policy can be chosen under the limit on orders turned away, NO SOLUTION FOUND when no order size is profitable or none meets the target, and CHECK for a result to look at. Plans above about $90 trillion of revenue plus cost, or about 9 quadrillion units, are refused because whole cents and whole units stop being exact there. Below that one cent still decides the best policy, except a cent inside one posted line above about $10 trillion, which is itself kept to 15 significant digits. 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.

No unit declared
PP09 Activities Check
About this output

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

No unit declared
Period contribution of the best policy
About this output

The period contribution of the best policy on the same orders.

No unit declared
Best policy
About this output

The policy with the highest period contribution on the same orders, among those within the limit on orders turned away. Ties go to fewer orders turned away, then the first row. Blank when no policy can be chosen.

No unit declared
Order activity cost
About this output

The order activities charged per order, per unit or per shipment.

No unit declared
PP09 Bands Check
About this output

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

No unit declared
Item revenue after segment discount
About this output

Units served times the net price of their segment, posted to the cent per order-size row.

No unit declared
Policy comparison on the same orders
About this output

Every policy evaluated on the same orders: orders served and turned away, the share turned away, net revenue, contribution, what the turned-away orders would have contributed, the shipping subsidy, and whether it is within the limit. No policy changes how customers order.

No unit declared
Product cost of kept units
About this output

Product cost of the units customers keep; returned units go back into stock.

No unit declared
Policies that can be chosen
About this output

How many policies turn away no more orders than the limit allows.

Unit count
PP09 Policies Check
About this output

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

No unit declared
Profitable ranges
About this output

How many separate runs of consecutive profitable order sizes the search found. More than one means some sizes between them lose money.

Unit count
Profitable range 2, from
About this output

The first order size of profitable range 2, in ascending order. Blank when there is no such range.

Unit units
Profitable range 2, to
About this output

The last order size of profitable range 2. Blank when there is no such range.

Unit units
Profitable range 1, from
About this output

The first order size of profitable range 1, in ascending order. Blank when there is no such range.

Unit units
Profitable range 1, to
About this output

The last order size of profitable range 1. Blank when there is no such range.

Unit units
Net revenue
About this output

Item revenue less refunds plus shipping charged plus surcharges.

No unit declared
Orders served
About this output

Orders the policy to apply serves.

Unit orders
Contribution at the minimum profitable size
About this output

The contribution per order at the minimum profitable size, to the cent.

No unit declared
Minimum profitable order size
About this output

The smallest whole order size, from 1 to the largest size searched, whose contribution per order is above zero for the segment to search under the policy to apply. Blank when none is.

Unit units
Orders in the period
About this output

All orders of the order table, served or turned away.

Unit orders
Payment fees
About this output

Payment fees on the amount collected plus the fixed fee per order.

No unit declared
Period profit
About this output

Period contribution less the fixed overhead.

No unit declared
Orders turned away
About this output

Orders below the minimum of a Reject policy. They are lost, not replaced by larger orders.

Unit orders
Fixed overhead used
About this output

The fixed overhead for the period, 0 when blank.

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 shows what an order costs to serve and what it earns. A seller sells one product at one list price to up to 5 customer segments, and each segment has its own price discount. A table of up to 20 rows says how many orders of each size each segment placed in one period. Each order carries the product cost of the units kept, up to 10 order activities, a carrier cost from up to 10 shipping bands, a payment fee, and returns. Up to 3 order policies differ in their shipping terms and in what happens below a minimum order.

One Calculate fills every result section of that one model. It posts the period of the policy you choose to apply, by segment. It evaluates every order size from 1 to the largest you set, for one segment, and finds the break-even size, the smallest profitable size and every profitable range. When you enter a target contribution per order, it finds the size for the target; with no target, that section stays empty. It compares every policy on the same orders. An 11 by 11 what-if table of product cost against delivery cost is calculated with them.

Every figure on this page is computed by the spreadsheet; the page adds nothing to it. Every value is your own assumption. The calculator does not say how customers respond to a minimum order, a fee or free shipping, it is not certified financial reporting, and it does not guarantee a profit.

Inputs and units

  • Product and price: the list price per unit, above 0 and up to 1,000,000, and the product cost per unit, from 0 to 1,000,000. Handling and delivery do not belong in the product cost; enter them as activities and bands.
  • Customer segments, up to 5 rows, filled from the top without a blank row between used rows: a segment ID, which is a capital letter and then up to 15 capital letters or digits, each ID used once, and a price discount from 0% to 90% (0% means the list price). At least one segment is required.
  • Orders in the period, up to 20 rows, filled from the top. Rows can be typed or pasted from a spreadsheet. Each row has a segment ID from the segments table, an order size from 1 to 10,000 units, and the number of orders of that size, from 0 to 10,000,000. A segment and size appear only once. Sizes above the largest size searched are allowed: the period totals include them and the search does not. At least one row is required.
  • Order activities, up to 10 rows, which may be empty: an activity ID, how it is charged (per order, per unit or per shipment), the rate from 0 to 100,000, and a segment if it applies to only one. A blank segment means every segment.
  • Shipping: whether the bands go by weight or by order value; the weight per unit, from 0 to 10,000, in the same unit as the bands (asked only for weight bands); and the units per shipment, from 1 to 10,000 (blank means the whole order ships as one shipment). The bands, up to 10 rows, each have the start of the band and the carrier cost per shipment, from 0 to 100,000. The first band starts at exactly 0, and each next start is higher. At least one band is required.
  • Payment and returns: the payment fee as a percent of the amount collected, from 0% to 20%, and per order, from 0 to 100; the share of units returned, from 0% to 100%; and the handling cost per returned unit, from 0 to 10,000.
  • Order policies, up to 3 rows. Each has a policy ID, in the same form as a segment ID; a shipping charge per order, from 0 to 10,000; and optionally an order value from which shipping is free, a minimum order from 1 to 10,000 units, what happens below the minimum (Reject or Surcharge), and the small-order surcharge, from 0 to 10,000. A minimum needs a rule, a rule needs a minimum, and the Surcharge rule needs a surcharge. At least one policy is required.
  • The policy to apply and the segment to search are chosen from the IDs typed in their tables. The largest order size to search is from 1 to 1,000.
  • What-if table: a product cost multiplier and a delivery cost multiplier, each from 0 to 5 (1 unless you change it), applied everywhere before anything is calculated, 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, limit and overhead":
    • the target contribution per order, in whole cents (blank means no target search);
    • the most orders a policy may turn away, from 0% to 100% (blank means no limit);
    • the fixed overhead for the period, from 0 to 1,000,000,000 (blank means 0).

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

Governing relationships

One order. The net price is the list price times (1 minus the segment's discount). The item value is the order size times the net price. The seller collects the item value, the shipping charge and any surcharge, and refunds the returned share of the item value. Returned units go back into stock, so product cost is charged only on the units kept. The contribution of one order is:

item value − refunds + shipping charged + surcharge − product cost − activities − carrier cost − payment fee − return handling.

Quantities are expected values, so the share of a unit returned can be a fraction.

Shipping charge and free shipping. The shipping charge is per order, never per shipment. It is waived when the item value before refunds is at or above the free-shipping threshold. Free shipping is a step in revenue, not a saving at the carrier: the carrier still charges for the shipment.

Shipments and carrier bands. With units per shipment entered, an order of 41 with 40 per shipment ships as 2 shipments, one full and one with 1 unit, and each pays the band of its own weight or value. With it blank, the whole order is one shipment. A band runs from its start up to, but not including, the next band's start, so a shipment exactly at a start is in that band. The delivery multiplier multiplies every carrier cost.

Activities. A per order activity is charged once on an order, a per unit activity on every unit and a per shipment activity on every shipment. An activity limited to one segment applies only to that segment's orders.

Payment fee and returns. The payment fee is charged on the item value, shipping charge and surcharge of each order, plus the fixed fee, and it is not refunded on returns. Returned units cost the handling rate each.

Minimum orders. Below a policy's minimum, a Surcharge policy adds the surcharge to the order, and a Reject policy turns the order away. A turned-away order adds nothing to the period's results; what it would have contributed is shown separately, and negative means it was losing money.

Period. For each row of the orders table, each line (item value, refunds, shipping, surcharge, product cost, activities, carrier, payment fee, return handling) is multiplied by the number of orders and rounded once to the cent, half away from zero. Every total is a sum of posted lines. Contribution per order is the period contribution divided by the orders served. Margin is contribution divided by net revenue, and shipping subsidy is carrier cost less shipping charged. Period profit is contribution less the fixed overhead.

Order-size search. Every whole order size from 1 to the largest you set is evaluated for the segment to search, under the policy to apply. Each contribution per order is rounded to 8 decimals and then to the cent. The policy's Reject rule is ignored in the search, with any surcharge kept, so the search can tell you whether a minimum is worth setting. Break-even is the smallest size that earns zero or more, and the smallest profitable size is the first that earns more than zero. A profitable range is a run of consecutive profitable sizes. Sizes between ranges lose money. The size from which every order pays is the start of the last range, when that range reaches the largest size searched. Because every size is evaluated, every fee, band and threshold step is seen, and no size is skipped.

Size for the target. Only when you enter a target. The search rows above are read again: the target size is the smallest that earns at least the target, and the page also shows the order value there, the size from which every larger size meets the target, and how many sizes meet it.

Policy comparison. Every policy is evaluated on the same orders, with the same rounding. A policy can be chosen when it turns away no larger a share of orders than your limit. The best is the highest period contribution among those, and a tie goes to fewer orders turned away, then to the first row. No policy changes customer behaviour: a minimum order does not make customers order more, turned-away orders are lost, and a surcharge is assumed to lose no order.

What-if table. Rows are 11 product cost multipliers centred on yours, one row step apart; columns are 11 delivery cost multipliers centred on yours, one column step apart. Each cell is the period contribution recalculated under the policy to apply through the spreadsheet's own two-variable data table. The middle cell is your own plan. When a step would take the lowest row or column below 0, the table is withheld with that reason and every other result still stands.

Calculation sequence

The spreadsheet first checks every segment, order row, activity, band and policy and every setting, and stops with NOT VALID at the first problem it finds, with every figure at 0. It then works out each segment's net price and activity rates, evaluates each order row under each policy and posts its lines to the cent, and adds the totals by segment. It evaluates every order size for the segment to search and finds the sizes and ranges, reads the target when one is entered, and compares the policies. The what-if table recalculates the period at its 121 combinations. A block of consistency checks, including that the posted lines add up to the contribution, that the segments add up to the totals, and that the table's middle cell equals the contribution, runs before the status is returned.

Outputs and interpretation

The headline gives the period contribution, the smallest profitable order size and the best policy. The result sections follow.

  • Period under the policy to apply: orders in the period, served and turned away, units served, each revenue and cost line, the margin, the contribution per order, the shipping subsidy, the contribution of turned-away orders, the overhead and the period profit; with the per-order cost bridge for the average served order, and the results by segment.
  • Order-size search: the net price, the break-even size and what it earns, what the smallest profitable size earns and its order value, the size from which every order pays, how many profitable ranges there are and the first three, and the size that earns the most; with a table for the first 100 sizes. A component shown in that table can differ from its contribution by a cent of display rounding.
  • Size for the target: the target size, its order value and contribution, the size from which every larger size meets the target, and how many sizes meet it. With no target entered this section is empty and says so.
  • Policy comparison: the best policy's contribution, how much more it earns than the policy to apply, how many policies can be chosen, and every policy's orders served and turned away, share turned away, net revenue, contribution, contribution of turned-away orders, shipping subsidy and whether it can be chosen.

For nearby questions, the Quote Pricing & Deal Margin Optimizer prices one deal, the Price Volume Profit Scenario Simulator projects profit over months when demand responds to price, and the Freight Cost Calculator looks at the cost of one shipment.

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 segment (a blank row above a used row, a missing, malformed or repeated ID, or a discount outside its limits); no segment; an order row (a gap, a segment not in the table, a size or order count that is not a whole number in its limits, or a segment and size already entered); no order row; an activity (a gap, a missing, malformed or repeated ID, a charge that is not on the list, a rate outside its limits, or a segment not in the table); a band (a gap, a value outside its limits, a first band not at 0, or a start not above the one before it); no band; a policy (a gap, a missing, malformed or repeated ID, a value outside its limits, a minimum without a rule, a rule without a minimum, or a Surcharge rule without a surcharge); no policy; or a setting outside its limits.
  • INFEASIBLE means every policy turns away more orders than the limit you entered. The period, the search and the target stay valid and shown, the best policy is withheld, and the policy table still shows every policy as one that cannot be chosen.
  • NO SOLUTION FOUND means no order size from 1 to the largest searched is profitable, or a target is entered and no size meets it. Because every whole size was evaluated, within that range this is a proven result. The period and the comparison stay valid and shown, with the size that earns the most.
  • CHECK accompanies a valid result that needs a look because a workbook consistency check failed.
  • OK otherwise.

Warnings say when the profitable sizes are not continuous, when there are more than three ranges, when free shipping lowers the contribution at its threshold, when the policy to apply turns orders away, when another policy earns more on the same orders, when policies tie, when some orders are larger than the largest size searched, when a segment has no orders, when no order is served, when every carrier cost is 0 so the delivery multiplier has no effect, and when the what-if table is withheld.

Assumptions and limitations

  • Capacities are 5 segments, 20 order rows, 10 activities, 10 bands and 3 policies; the search reaches at most 1,000 units, and the size table and first chart show the first 100 sizes.
  • One product and one list price; a segment differs by its discount and by any activity limited to it. Payment fees and returns apply to every segment alike.
  • The orders are one period's orders, with no months or dates.
  • A policy changes shipping terms and what happens below a minimum, and nothing else. The orders stay the same under every policy: the calculator does not estimate how many customers leave, order more or combine orders.
  • A shipment's band is read from its own weight or value. Carrier costs are per shipment, with no surcharges by distance or zone beyond the bands you enter.
  • Returned units are refunded at the net price and restocked at product cost. Payment fees and shipping are not refunded.
  • Results exactly on, or within rounding noise of, a half-cent edge may differ by one cent, including a tie or a reading that no order size makes a profit.
  • From about $10 trillion to $90 trillion, a line can be off by up to 5 cents and a total by more, and the best policy can change on a difference that small. Amounts within two cents below $10 trillion may show as $10 trillion.

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, an order row or activity naming a segment not in the table, bands that do not start at 0 or do not rise, and a minimum and rule that do not go together are refused by the workbook. With no target the target outputs are left blank. When a table step would take the lowest row or column of the what-if table below 0, 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 terms, before using it to set an order policy.

References

Sources and further reading

Your price, discounts, orders, activity rates, carrier bands, fees, returns and policies come from the inputs; the calculator holds no market, carrier 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 orders you enter, not financial, accounting, pricing or legal advice. It does not estimate how customers respond to a minimum order, a fee or free shipping, it is not certified financial reporting, and it does not guarantee a profit; check a result against your own costs and terms before using it.

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