learn-prescriptive-analytics-with-phoebe / Leader session 2 of 6
Learn Prescriptive Analytics with Phoebe · Leader session 2 of 6

The highest margin product nobody makes

Show earns 71 a tonne. Standard earns 38. Every plan the mill's own solver returns makes zero tonnes of Show. That is not a rounding artefact, a bug or a missing constraint, and the sentence that explains it is short: margin per tonne ranks products, and the mill is not choosing a product, it is spending 131 milling hours. Tonight is the answer you committed to in session 1, taken apart with the mill's numbers in front of you.

🟡 Foundations Anyone who signs off a plan Anyone who sets a sales incentive 45 min
0-3 · Your answer 3-18 · Rank or allocate 18-28 · Both optima 28-45 · Build-along and Q&A
Part 0

The sentence you wrote down, and what the mill does with it

Session 1 ended with one sentence on paper: which product should Ravensworth make more of, and why. Almost everyone writes Show, because Show earns 71 a tonne against Dairy's 54 and Standard's 38, and the reasoning is sound as far as it goes. Tonight the mill's own solver runs on the same table. Show comes back at zero. Not small, not last, zero. Nothing was hidden from you in session 1 and nothing new is added tonight; the whole gap sits between two questions that use the same words.

Live = presented in the 45 minutes Self-study = the full depth, after class 🔍 Every diagram zooms

★ What you walk out with tonight. The difference between ranking products and allocating capacity, in a form you can use on any resource that runs out: people, machine hours, cash, floor space. Both of Ravensworth's optimal plans, continuous and integer, with Show at zero in each. And one uncomfortable consequence you can check in your own company this week, which is that a commission scheme paying out on the highest-margin line pushes the operation away from its best plan while every single person in the chain does exactly what they were asked to do.

LiveZero is a strong word4 min▶

When a plan makes none of something, the room reaches for explanations in a fairly predictable order. The margin figure must be wrong. The model must be missing a customer commitment. Somebody has capped Show somewhere. Each of those is a reasonable thing to check and none of them is what happened here. Show's margin of 71 is the correct margin. There is no cap on Show anywhere in the problem. The solver is free to make as much of it as it can fit, and it chooses not to.

Hold on to how strange that feels, because the strangeness is the lesson. A result that merely disagrees with you gets argued with. A result that disagrees with you this hard either reveals a fault in the model or a fault in the question, and the skill being built tonight is telling those two apart quickly.

Real world

The Show line at Ravensworth is real, the customer is real, and the 71 a tonne is real. Nobody at the mill is confused about which bag is the premium bag. What the plan says is narrower and stranger than "Show is a bad product": it says that in a week with 131 milling hours and this mix of alternatives, the hours Show would consume are worth more elsewhere.

Self-studyThe words tonight adds3 min▶
  • Optimal plan. The feasible plan with the best objective value. Named in session 1, computed tonight.
  • Continuous solution. The plan when quantities may be fractional. Ravensworth's is 30.6897 Standard, 64.8276 Dairy, 0 Show.
  • Integer solution. The plan when quantities must be whole. Ravensworth's is 33 Standard, 63 Dairy, 0 Show.
  • Ranking. Putting items in order by a per-unit figure. Answers which item is better per unit, and nothing else.
  • Allocation. Deciding how a fixed pool of a resource is spent across competing uses. A different question with a different answer.
  • Consumption rate. What one tonne of a product takes out of a constraint. Show takes 2.3 milling hours, Standard takes 1.1.
  • Binding constraint. One the plan has pushed right up against, with nothing left over. Priced in session 3.
  • Degeneracy. A problem where several different plans tie for best. Worth knowing as a concept, and not what is happening at Ravensworth: exactly one integer plan reaches 4,656.00.
Part 1 · covers ranking against allocating

Two questions that sound like one question

15 min live

"Which product is most profitable" and "what should the mill run this week" are asked in the same tone of voice, answered by the same people, and settled by different arithmetic. The first is a ranking and it needs one column: margin a tonne. The second is an allocation and the margin column alone cannot answer it, because an allocation is about a pool that runs out, and margin a tonne says nothing about how fast each product drains the pool.

The same three products, asked two different questions. QUESTION A · WHICH PRODUCT IS MOST PROFITABLE? Answered with one column: margin a tonne. 1ST Show 71 2ND Dairy 54 3RD Standard 38 This ranking is correct and it is not in dispute. Show does earn the most of the three for every tonne that leaves the bagging line. Nothing tonight overturns that figure. The question is what it is an answer to. QUESTION B · WHAT SHOULD 131 MILLING HOURS RUN? Needs a second column: milling hours a tonne. Show 2.3 Dairy 1.5 Standard 1.1 Every tonne of Show takes 2.3 hours out of the week. Every tonne of Standard takes 1.1. The week holds 131 hours in total and the mill cannot buy more of them by wanting to. That is what makes this an allocation. Column A ranks the products. Column B is what the products spend. Only one of these two columns is in a margin report, and it is the one that cannot answer question B on its own. The mill is not choosing a product. It is spending hours. Rank by margin a tonne and you have ordered the products. The order is right. But nothing in that order tells you what the week's hours should buy, and the week's hours are the thing that actually runs out.
🔍 Click to zoom - the left panel is true and the right panel is what the decision needs. Both are measured on the same plant floor.
LivePer-unit figures rank, they do not allocate5 min▶

A per-unit figure answers a per-unit question: if I could have one more tonne of exactly one product for free, which would I want. That question is well posed and margin a tonne answers it perfectly. Show wins, and would win again tomorrow.

An allocation asks something else entirely. It asks how a fixed pool gets divided among uses that all draw on it at different rates. The moment the pool is fixed, a product that earns more per tonne but consumes more of the pool per tonne is in a genuine contest, and the margin column has no information about the second half of that contest. Show consumes 2.3 milling hours a tonne. Standard consumes 1.1. Those two numbers belong in the decision and neither of them is a margin.

The general form is worth saying without the mill attached to it, because it travels: a per-unit ranking and a capacity allocation are different questions. Anywhere a scarce pool is shared, the ranking will look like an answer and will not be one. Revenue per customer ranks customers; it does not allocate a support team. Value per feature ranks features; it does not allocate an engineering quarter.

LiveWhy the ranking still feels like the answer4 min▶

Two reasons, and both are structural rather than anybody being careless. The first is that the margin column is the one that gets reported. It is in the monthly pack, it has a currency symbol on it, and it is comparable across products without any conversion. The consumption rates live in operations, in different units, and rarely appear on the same page as the money.

The second is that the ranking is genuinely correct. This is not a case of a wrong number being believed. Show really does earn the most a tonne, the report really does say so, and anyone who checks will find the report was right. A correct answer to a question nobody asked out loud is far harder to catch than an incorrect one, because every check you run comes back clean.

Self-studyWhen ranking and allocating do agree4 min▶

They are not always different answers, and pretending they always are is its own error. If every product drew on the constrained resource at the same rate, then ordering by margin a tonne and ordering by what the hours buy would give the same sequence, and the ranking would be a perfectly good allocation rule. Plenty of businesses are close enough to that condition that the shortcut has worked for years.

That is exactly why the failure is so quiet when it arrives. The heuristic is not wrong in principle, it is wrong in this instance, and the instance changed when the product mix changed. At Ravensworth the rates are 1.1, 1.5 and 2.3 for the three products, which is a wide enough spread that the shortcut stops being safe. The useful habit is not to distrust rankings, it is to ask what each item consumes before treating a ranking as a plan.

Part 2 · covers both optima

What the solver actually returns, twice

10 min live

The mill's problem gets solved two ways tonight, because both are the sort of number that lands in a meeting. First with fractional tonnes allowed, which is what the underlying method gives you. Then with whole tonnes required, which is what the bagging line can physically produce. The two plans differ, the two margins differ, and the one thing they agree on completely is Show.

Ravensworth's two optimal plans, tonnes for the week PLAN STANDARD DAIRY SHOW TOTAL MARGIN Continuous optimum fractional tonnes allowed 30.6897 64.8276 0 4,666.90 Integer optimum whole tonnes only, what the line can bag 33 63 0 4,656.00 ZERO IN BOTH Show earns 71 a tonne, the most of the three, and appears in neither plan. The two plans disagree about Standard and Dairy. They do not disagree about Show. Whether tonnes may be fractional changes the mix and the margin. It does not bring the highest margin product into the plan. The leadership consequence, with nobody at fault 1 · The incentive Commission pays out on the highest margin line: Show, 71. 2 · The sales force Does precisely what it was asked to do, and sells Show. 3 · The mill Every tonne of Show booked takes 2.3 milling hours. 4 · THE WEEK Moves away from 4,656.00. Every step in that chain is somebody following their instructions correctly. The commission scheme was written from a true ranking. The sales force hit its target. The mill ran what was booked. There is no careless person to find, which is why the loss survives a performance review, an audit and a margin report, all three of which come back clean. The fault is in the join: a per-unit ranking was used to steer a capacity allocation, and the two answer different questions.
🔍 Click to zoom - the amber chain is the expensive part. Nobody in it is doing anything wrong.
Live The real solver, running in this page. Force Show into the plan and watch what it costs.

...

...
LiveMaking Show is not forbidden, it is paid for4 min▶

Set the box above to one tonne of Show, then five, then ten. Nothing breaks. Each of those plans is perfectly legal, the mill can run every one of them, and the solver will happily hand you the best plan available under that requirement. What changes is the total, and it changes downward every time.

That is the honest shape of the finding, and it is worth stating more carefully than "do not make Show". The mill is not banned from making Show. It is being told what making Show costs in a week where milling hours are the thing in short supply. If a commercial reason to keep the Show customer exists, and there often is one, the figure in that box is the price of keeping them, and it is now a number rather than an argument.

LiveWhy the two plans differ at all3 min▶

The continuous answer is 30.6897 Standard and 64.8276 Dairy, earning 4,666.90. The integer answer is 33 Standard and 63 Dairy, earning 4,656.00. The second is lower, which is not a surprise: requiring whole tonnes removes options and removing options cannot help.

What is worth noticing tonight, and gets taken apart properly in the practitioner track, is that the integer plan makes more Standard than the continuous one, not less. Going from 30.6897 to 33 is not what anybody expects when they are asked to turn a fractional plan into a whole-tonne plan. Session 5 comes back to what that implies about handing a fractional plan to somebody and telling them to be sensible with it.

Self-studyWhere serious people disagree5 min▶

Grant everything above and there is still a live argument about what to do on Monday morning, and it is not a soft one.

One camp says the incentive is simply broken and should be rewritten to pay on what the plan is actually short of. On this view the commission scheme is a piece of machinery that was built from the wrong column, the mill has now measured what that costs, and continuing to pay people to push the operation off its best plan is indefensible once you can see it. Pay on hours well spent, not on margin a tonne, and the chain in the amber band stops working against itself.

The other camp says the objective is the thing that is wrong, not the incentive. The sales force is closest to the Show customer and knows things the margin row does not carry: that the Show account is the reference other buyers check, that dropping the line is a one-way door, that the relationship is worth more over three years than the week's hours are worth now. On this view the solver is answering honestly about a week, the incentive is encoding a longer horizon badly but is encoding it, and rewriting the incentive to match a one-week objective throws away the only part of the system that was looking past Friday.

Notice that both camps agree on every number on this page. The disagreement is entirely about what the objective should have been, and no amount of further computation settles it. It is worth knowing which one you hold before you walk into the meeting, and worth knowing which one the person opposite holds before you try to persuade them.

Part 3 · build-along

Take your own answer apart

17 min hands on

No code. Six steps, using the live box above and the sentence you brought from session 1. The aim is to leave able to spot a ranking being used as an allocation in your own company, from the outside, in under a minute.

Read your session 1 sentence out loud

The one about which product Ravensworth should make more of. Say whether it named Show, and say what evidence it leaned on. Then say whether the evidence was wrong or whether the question was.

Price one tonne of Show

Set the live box to one tonne and note the total. Say the result as a sentence with a currency figure in it, in the form "requiring one tonne of Show costs the week this much". A number you can say out loud is a different object from a chart you nodded at.

Walk it up and find where it stops being small

Take Show from one to ten, a tonne at a time. Watch whether the cost per extra tonne stays steady or gets worse. Write down the point at which you would stop calling it a rounding detail and start calling it a decision.

Say the general form without the mill in it

One sentence, no feed products, no tonnes: what is the difference between a per-unit ranking and a capacity allocation. If it takes more than two clauses, it is not compressed enough to survive being repeated by somebody else.

Find your own scarce pool

Name the resource your operation genuinely runs out of. Not the one in the strategy deck, the one that stops work happening on a normal Wednesday. Then name the per-unit figure your company ranks by, and say whether the two have ever been on the same page.

Take a side in the disagreement

Rewrite the incentive, or rewrite the objective. Pick one, in one sentence, and say what you would lose by picking it. Both answers are defensible and the sentence about what you lose is the part that matters.

The habit to keep. When somebody proposes doing more of the best-performing thing, ask what that thing consumes and whether the supply of it is fixed. If the answer is that it consumes a shared pool at a higher rate than the alternatives, the ranking has stopped being an answer and nobody in the room has noticed yet, because the ranking is still correct.

Check yourself

Three questions

Show earns 71 a tonne, more than Dairy's 54 and Standard's 38, and it is zero in both optimal plans. What is the reason?

The margin figure is correct and there is no cap on Show anywhere in the problem. The solver is free to make as much as it can fit and chooses not to, because a per-unit ranking and a capacity allocation are different questions and only the second one is being asked.

A commission scheme pays out on the highest margin line. Who in the chain is doing something wrong?

This is what makes the loss so durable. Every individual check comes back clean, so a performance review, an audit and a margin report all pass, and the plan still moves away from 4,656.00 every week.

The continuous optimum is 30.6897 tonnes of Standard and the integer optimum is 33. What does that comparison show?

The continuous answer is correct for the problem it was given, which allows fractional tonnes. The integer answer is correct for the problem the bagging line actually poses. Neither is a tidied-up version of the other, and exactly one integer plan reaches 4,656.00.

Before session 3

Homework

Twenty minutes, on a ranking your own organisation acts on.

Find a live ranking and the pool it is spending

Pick one league table your company acts on: top products, top accounts, top channels, top projects. Write down the per-unit figure it is sorted by. Then write down the scarce resource that gets spent when somebody acts on it, and the rate at which each item on the list consumes that resource. If you cannot find the second column anywhere, that is the finding.

Bring the price of one tonne of Show

The figure from step 2 of the build-along, and the sentence you wrote about where the cost stops being a rounding detail. Session 3 asks what an hour of milling capacity is worth, and that question has a second half that almost nobody quotes.

Covered tonight

What this session covers

✓Why ranking by margin misallocates capacityA per-unit ranking and a capacity allocation are different questions.
✓The highest margin product at zeroShow earns 71 a tonne and is zero in both optimal plans.
✓Consumption rates as the missing columnShow takes 2.3 milling hours a tonne, Standard takes 1.1, against 131 in the week.
✓The continuous optimum30.6897 Standard, 64.8276 Dairy, 0 Show, earning 4,666.90.
✓The integer optimum33 Standard, 63 Dairy, 0 Show, earning 4,656.00, and exactly one plan reaches it.
✓The incentive that pays for the lossA chain of four correct steps that moves the week away from its best plan.
◐Why whole tonnes change the mix upwardNamed tonight as a surprise. Rounding and branch and bound belong to the practitioner track.
◐What a binding constraint is worthMilling is clearly the pressure point tonight. Priced, with its validity range, in session 3.
○How the solver finds these plansSimplex and branch and bound are mechanics, and they live in the practitioner track.
○Whether the plan survives uncertain demandEverything tonight assumes the plan sells. Session 4 tests that assumption.
○Designing the commission scheme itselfNamed as a consequence, not solved. Compensation design is a different subject.
Take this with you

Cheat sheet

The one sentence. A per-unit ranking and a capacity allocation are different questions.
The headline. Show earns 71 a tonne, the most of the three, and is zero in every optimal plan.
The missing column. Show consumes 2.3 milling hours a tonne against Standard's 1.1, out of 131 in the week.
Continuous optimum. 30.6897 Standard, 64.8276 Dairy, 0 Show, earning 4,666.90.
Integer optimum. 33 Standard, 63 Dairy, 0 Show, earning 4,656.00. Exactly one plan reaches it.
The incentive trap. Pay on the highest margin line and the mill moves off its best plan with nobody at fault.
Show is not banned. It is priced. Require a tonne of it and the solver tells you what the week gives up.
The open question. Rewrite the incentive or rewrite the objective. Both are defensible, and the numbers do not settle it.