Lessons · Lesson 1 of 3
The page is a fixture
Read a product listing page the way you read a shop floor. It holds a fixed number of earning positions. Price each one in gross margin a week from the retailer's own measurement, and watch a bigger catalogue divide them.
Lesson 1 of 3 · 44 min
The retailer, the phase, the basis
A website looks as though it has unlimited room. There is no wall to run out of. There is no floor to pay rent on. So one more garment on a category page seems to cost nothing.
It is not free. This lesson measures what the page is really short of. It is the attention of the people already on it. Then it puts a money value on every spot in the grid.
Marchbourne sells womenswear online. Dresses and separates, no shops. Everything in this course happens on one of its listing pages, Womenswear / Dresses, during Autumn/Winter 27. That phase is thirteen trading weeks, from the week commencing 6 September 2027 to the week commencing 29 November 2027.
Four people appear. None of them does anything foolish.
- Piers Cattermole buys dresses. He chooses the product.
- Aurelia Bantock is the womenswear merchandiser. She owns the quantity and the money.
- Nerys Caradoc is the online trading manager. She owns what the site shows, and in what order.
- Devika Manikkam leads product data. She owns the attributes that every filter and every search runs on.
Say the basis once. Ticket prices exclude VAT (value added tax, the sales tax added at the till). Cost is the delivered cost of the goods. Gross margin = ticket − cost, and every margin percentage is worked out on the ticket. A click means a click from the listing page through to a product page, counted by Marchbourne's own measuring tools. A unit is a despatched unit, net of returns, taken from Marchbourne's order data.
That last line is not housekeeping. Online clothing returns are much higher than shop returns. A site that reads its size curve or its best-seller list off gross sales is wrong by exactly its return rate. Marchbourne reads everything in this course net.
Six dresses are named throughout. They are ordinary lines, not extremes.
| Style | What it is | Ticket | Cost | Gross margin | GM% |
|---|---|---|---|---|---|
| MBN-214 Quenington | Midi shirt dress, 4 colours | GBP 58.00 | GBP 21.46 | GBP 36.54 | 63.0% |
| MBN-227 Ferrensby | Bias-cut slip dress, 3 colours | GBP 79.00 | GBP 31.60 | GBP 47.40 | 60.0% |
| MBN-289 Ombersley | Corduroy pinafore, 2 colours | GBP 49.00 | GBP 19.11 | GBP 29.89 | 61.0% |
| MBN-360 Glaisdale | Knitted column dress, 3 colours | GBP 62.00 | GBP 25.42 | GBP 36.58 | 59.0% |
| MBN-372 Pentlow | Jersey wrap dress, 5 colours | GBP 45.00 | GBP 18.00 | GBP 27.00 | 60.0% |
| MBN-431 Bickerstaffe | Velvet occasion dress, 2 colours | GBP 98.00 | GBP 39.20 | GBP 58.80 | 60.0% |
A listing page is a fixture
A fixture is a rail, a table or a unit that holds stock in a shop. A shop floor is a register of rented earning positions: so many square metres, so many fixtures. A front table is worth more than a back wall bay, because more people walk past it.
A listing page is the same object with the geography taken away. The grid has positions. Position 1 is the front table. Position 120 is the stockroom door.
Two beliefs make the page look as though it is not a fixture. Both are wrong.
"The page is infinite, so it has infinite positions." It has as many positions as the catalogue has styles, and that number is not the constraint. The constraint is how far down the grid a person actually goes. That is finite, it is measurable, and it is much smaller than the catalogue.
"Nobody scrolls, so only the first row matters." Also false, and expensive. It is the belief that produces a page where nothing below row three is ever reviewed. Marchbourne measured the tail instead of guessing at it, and the tail is not zero. It is small, it is spread over a great many positions, and it adds up to about a fifth of the page.
At the start of the phase the Dresses page held 148 live styles in a four-column grid. That is 37 rows of four. Marchbourne counted the clicks out of every one of those positions for four weeks, from the week commencing 9 August 2027 to the week commencing 30 August 2027, and took the average.
| Grid band | Positions | Clicks a week per position | Clicks a week, band | Share of the page |
|---|---|---|---|---|
| Rows 1 to 3 | 12 | 1,920 | 23,040 | 44.0% |
| Rows 4 to 6 | 12 | 830 | 9,960 | 19.0% |
| Rows 7 to 12 | 24 | 382 | 9,168 | 17.5% |
| Rows 13 to 24 | 48 | 142 | 6,816 | 13.0% |
| Rows 25 to 37 | 52 | 65 | 3,380 | 6.5% |
| Whole page | 148 | 353.81 average | 52,364 | 100% |
Read the two ends of that table together. The first twelve positions are 8.1% of the page and take 44.0% of the clicks. The last fifty-two positions are 35.1% of the page and take 6.5%. A position in the top band is worth about 29.5 times a position at the hundredth spot.
And yet the bottom two bands together are 19.5% of the clicks. That is nearly a fifth of everything the page does, coming out of a hundred positions nobody in the business ever looks at. Both halves of that sentence matter. The top is where the money is. The tail is not nothing, and it is where every style you have not thought about is standing.
What a position is worth, in money
Three numbers turn a position into money. They are the same three a shop uses.
- How many clicks does the position deliver? From the register above.
- How many of those clicks become a unit? That is the conversion of the product standing there.
- What does a unit earn? Gross margin a unit.
gross margin per position-week = clicks a week × conversion × gross margin a unit
In the week commencing 6 September 2027, Marchbourne's measured dress conversion across the whole department was 3.4%. Its blended gross margin was GBP 33.10 a unit. Hold both of those constant for a moment, and the register becomes a price list.
| Grid band | Clicks a week per position | Units a week per position | Gross margin per position-week |
|---|---|---|---|
| Rows 1 to 3 | 1,920 | 65.28 | GBP 2,160.77 |
| Rows 4 to 6 | 830 | 28.22 | GBP 934.08 |
| Rows 7 to 12 | 382 | 12.99 | GBP 429.90 |
| Rows 13 to 24 | 142 | 4.83 | GBP 159.81 |
| Rows 25 to 37 | 65 | 2.21 | GBP 73.15 |
On that basis the whole page is 1,780 units and GBP 58,930.45 of gross margin a week. Over the thirteen weeks the department actually did 22,890 units and GBP 757,659.00 of gross margin. That is an average of 1,760.77 units a week. So the measured week was a little above the phase average, which is what you would expect of the first week of a phase.
Depth divides a fixed numerator
Here is the arithmetic that catches out every range plan.
The clicks on the Dresses page are not produced by the dresses. They are produced by the marketing spend, the home page, the navigation, the season and the weather. Adding a style to the page does not add a click to the page. It adds a position to the denominator.
Piers bought 48 extra dress styles into Autumn 27, and he had a good reason. The previous autumn had sold out of its best three dresses by week eight, and a stockout is a real loss he could point at. The 48 landed across weeks 3, 4 and 5. The page went from 148 styles to 196, a catalogue 32.4% bigger.
Marchbourne then measured the clicks again, over four weeks from the week commencing 11 October 2027.
- Clicks a week on the Dresses page before: 52,364.
- Clicks a week after: 52,900. That is a change of 1.0%.
- Over the 26 weeks before the phase, the same figure had moved by a median of 3.2% week on week, and by as much as 11.4%. So a change of 1.0% measures nothing. It is the page doing what it always does.
The attention did not move. The catalogue did.
- Average clicks a week per style before: 52,364 ÷ 148 = 353.81.
- Average clicks a week per style after: 52,900 ÷ 196 = 269.90.
- A fall of 23.7% per style, across the whole department, from a decision nobody thought of as a decision about the page.
Nothing in that arithmetic says the 48 were wrong. Some of them will earn their place and push a weaker incumbent down, which is what a range is for. What it says is that the 48 were paid for out of a budget nobody debited: the attention of the people already on the page. The bill was 23.7% of the average style's clicks, spread invisibly across 148 styles that each lost a little.
Three things the register does not know
The register above is a good instrument, and a partial one. Say the limits out loud. A number with unstated limits gets quoted somewhere it does not belong.
It is a desktop-shaped answer to a mobile-shaped question. Marchbourne's grid is four columns on a desktop and two on a phone, and 68% of its dress sessions in the phase were on a phone. On two columns, "row 3" ends at position 6, not position 12. The register above blends both devices. That is right for pricing the average position and wrong for any argument about a specific row. If you make an argument about rows, make it per device.
It prices unfiltered positions only. A session that applies a filter is looking at a different, shorter page, with its own position 1. Marchbourne measured that 38.4% of dress sessions applied at least one filter. So more than a third of the page's traffic never sees the register at all. Lesson 3 is about that third.
It cannot see a style that was never eligible. A style with no stock, or in a colour the filter cannot name, does not appear at position 130. It does not appear at all. A register built from positions will report it as a position that earned nothing, rather than as a style nobody could reach. That distinction is the whole of lesson 3.
Check yourselfMarchbourne adds 24 more dresses in week 10 and the page's clicks a week stay at 52,900. What happens to the average clicks per style, and what would you need to measure before calling the addition a success?Show the answer
The catalogue goes from 196 to 220, so average clicks a week per style fall from 269.90 to 52,900 ÷ 220 = 240.45. That is a further fall of 10.9%. To call the addition a success you would need the 24 new styles' own clicks and units, and the change in the incumbents they pushed down, over the same weeks, corrected for how the department as a whole moved. The new styles' sales are not new sales unless the page's total went up, and it did not.
Check yourselfSomebody proposes ranking the page so that the highest gross-margin-per-unit dresses take the top twelve positions. On the register above, what is wrong with that?Show the answer
Gross margin a unit is what one garment earns. A position is rented by the week. What a position earns is clicks times conversion times margin a unit, and the first two terms are usually larger and more variable than the third. Bickerstaffe earns GBP 58.80 a unit and Pentlow GBP 27.00. But if Pentlow converts at three times Bickerstaffe's rate, the position earns more with Pentlow on it. Rank positions by gross margin per position-week, never by margin a unit.
Prompt · Price my listing page by the position
When you have a listing page and a sales report, but nothing that says what each position on the grid is worth.
I am building an attention register for one product listing page. I will give you the number of live styles on the page, the grid width in columns, and my own measured clicks a week out of each band of positions. I will also give you a department conversion rate and a blended gross margin a unit, both measured on my own traffic. Work out and show, band by band: clicks a week per position, the band's share of the page's total clicks, units a week per position, and gross margin per position-week. Then give me the average clicks per position for the whole page, and the ratio of the top band to the bottom one. Then do the depth arithmetic. If I tell you the catalogue is growing by a number of styles, show me the average clicks per style before and after, and the percentage fall. If I also give you the page's measured clicks after the growth, use the real figure rather than assuming the total is unchanged, and tell me whether the change is larger than the week-to-week variation I give you. Three rules. Do not quote me any industry benchmark for scroll depth or conversion; if I have not measured a number, say it is missing and leave that row blank. Say plainly that holding conversion constant across positions is an assumption I have not tested. And do not tell me a page looks healthy just because no problem showed up.
AI can make mistakes — check anything you act on.