A proposal I co-wrote for a European food and consumer goods manufacturer offered three example measurables for the effect of its consumer e-commerce activity: reach, amplification and advocacy of advertising. Nobody in the room would have blinked. That was the vocabulary of the moment, and it had the great advantage of being computable on a Friday afternoon.
Four pages later the same document proposed something else. Link the online advertising channels, banner, social media, search optimisation and paid search, to the back-end transaction systems, per product, and read a real funnel and a real cost per sale off the join.
Both passages answer the same question, which is whether the money spent on consumer e-commerce did anything. Only one of them answers it. I keep coming back to that document because it contains its own correction, and because the three-word vocabulary never died. It migrated. It is alive in every review pack where somebody reports impressions, shares and sentiment for an activity whose sales they cannot see.
Three words, three different ways of being produced
Read the three as a ladder and they make obvious sense. Reach is how many people the activity could have touched, amplification how many passed it on to an audience of their own, advocacy how many spoke up for the brand in their own words. Commitment rises as you climb, which is why the ladder reads as a story about persuasion.
The ladder framing hides the thing that matters. The three are not three rungs of one measurement. They are produced in three completely different ways.
Reach is counted by the system that delivers the advertising, as a by-product of delivering it. The number exists before anyone decides it is a metric, and it means the same thing this month as last, because a machine settled the definition rather than a person.
Amplification is counted by a platform too, but what it counts is a mechanical act: somebody pressed a control that copied a message onto their own feed. The count is exact. What it is evidence of is a matter of opinion.
Advocacy is not counted by anything. Before it has a number somebody has to decide what qualifies: a positive mention, a mention above some sentiment threshold, a mention that names the product rather than the company. Those questions have no technically correct answer. They get settled by a person and written down, or they do not, and when they do not you get a figure that looks like the two beside it and means something different every time it is produced.
The join was the whole engagement
The proposal's other answer is mechanically dull and that is its merit. Take the named advertising channels. Take the back-end transaction systems. Put them on one key. What falls out is a sales funnel for each product and a cost per sale that comes from cash rather than from a model of cash, and once you have a cost per sale you can move budget between channels and watch the number respond.
The reported evidence is earlier clients: conversion increases of up to 20 percent, a lower marketing spend per order, and, in the covering letter, a flat 20 percent improvement in conversion ratios from reallocating an online marketing budget. Those are prior references in a sales document, not results delivered to this manufacturer.
What the document does not do is describe the join. Four channels and a transaction system are named. The mechanism that decides that this impression and that order belong to the same person is not, anywhere. That silence is where the difficulty lives, and it is why a proposal can promise a funnel per product in weeks and a programme can spend far longer failing to produce one.
The worked example carries three percentages, 10, then 24, then 40, on a page the document itself heads as an example. It is a drawing of a shape somebody hoped for, not a measurement, and it should not be read as one.
- Three
- Advertising measurables named as examples of e-commerce effect
- Four
- Advertising channels the replacement names before an etc.
- Up to 20%
- Conversion increase reported from earlier clients, not from this one
- Zero
- Lines describing how an ad record is matched to a transaction record
Which of the three survived
Reach survived by being demoted. It is a fine number that sat in the wrong column. Reach is not an effect, it is a denominator: the population that had the chance to respond. Put it under a cost and you get cost per exposure, which is a real operating figure. Put it in a list headed effect and you have asserted that being seen is the outcome, which nobody in the business believes when it is said out loud.
Amplification did not survive. It was never a measurement of anything the business wanted; it was there because the sale was invisible. Once a per-product funnel exists and a cost per sale is computable, nobody asks how many times the message was passed on, in the same way that nobody asks the length of the queue once the till roll is available. The number is still produced, because platforms produce it for free, and it still appears in packs, because it is flattering and it moves. It has no consumer.
Advocacy half survived, and it survived by moving house. Of the three it is the only one naming an outcome the business genuinely wants and genuinely cannot see from the advertising side: a customer who buys again and brings somebody with them. The outcome is real; the place it was being measured was wrong. It does not live in the social stream, it lives in the transaction record, as a repeat purchase, a second household on the same referral, a re-order interval that shortens. Advocacy needed exactly the same join as everything else. The word kept its meaning and changed its data source.
So the test is not whether a metric is soft or hard, upstream or downstream. It is this: if you had one more join, would you still report it? Reach, yes, as a denominator. Advocacy, yes, from the other side of the join. Amplification, no. The ones that fail that question are not weak metrics. They are placeholders for a piece of engineering nobody has done.
Why this gets worse the moment a model touches it
Proxies were tolerable when the output was a slide. A human reading amplification alongside sales knows, without articulating it, how much weight to put on each. That correction is not written down anywhere, which is fine until the reading is automated.
Point a pipeline at the same table and the correction is gone. If the target column is amplification, the system will learn, faithfully and without complaint, how to get messages passed on, and it will succeed. Spend moves toward whatever gets shared, and the link between that and revenue becomes an assumption made once, by somebody who has left, sitting in a column nobody re-reads.
This is a lineage problem before it is a modelling problem. A feature store is a promise about where a value came from and what it means. A proxy metric entering one arrives with the same shape as a measured one, the same type, the same freshness, and none of the caveat, because the caveat lived in the head of the analyst who chose it. Nothing downstream can tell the difference. The pipeline runs, the dashboard renders, and the assumption compounds at machine speed.
The early language-model pilots crossing my desk make this sharper rather than softer. Classifying sentiment and intent from open text is genuinely better than it was, and much of what used to be a hand-coded rule is now a prompt with acceptable accuracy. That improves the proxy. It does not convert it into an effect. If the join to the transaction is missing, better classification only gives you a cleaner number to be wrong with.
A proxy exists because a join is missing. Build the join and the proxy does not improve, it disappears, and the ones that do not disappear were never proxies to begin with.
What we would do first
Name the transaction the activity is supposed to move, in the system of record, as a row you can point at. Find the key that connects a channel record to that row, and if there is no key, that is the project rather than a preliminary. Sort every number in the commercial pack into denominators, effects and placeholders, and publish the sort so the three stop being read as one. Label the placeholders, and keep them out of a training set.
None of that requires a data scientist, which is the uncomfortable part, because all of it has to land before one is worth hiring. It is the opening block of a RealAI Platform engagement, and it is why we ask which number you want to move before we ask which use case you want to run.
The vocabulary in that proposal was not wrong for its moment. It was the honest best of a team that could not see the sale. What is harder to forgive is keeping it once the sale is visible, and harder still to explain once a model is trained on it.
Figures are as recorded in a data analytics proposal to a European food and consumer goods manufacturer: its stated opportunity areas, its worked example, and the prior-client references it cites. Every figure in it is a projection or a reference to earlier work elsewhere, not a delivered outcome for that manufacturer. Reading its three measurables against its own proposed join is ours.
“A proxy exists because a join is missing. Build the join and the proxy does not improve, it disappears, and the ones that do not disappear were never proxies to begin with.”
Get in touch
Put RealAI’s applied-AI team on your hardest data problem.
We help enterprises move from pilots to production: sovereign models, governed data, and agents you can audit. Start with a value-first assessment.
