The margin leaks at the quote
This note comes from self-directed R&D, not client work. I worked through where agents fit in B2B distribution, and built a working prototype on a made-up sample book. No company is named, no real data was used, and none of the numbers here came from anyone's business.
The margin leaks at the quote, not in the books. A sales rep prices thousands of account and product pairs, mostly by feel. The software keeps the record of every number but never says what the number should have been.
You can see the leak without a model. Take accounts that should price alike, the same product, class, tier and period, and plot the margin each one actually paid. The spread is the leak. The left tail is margin you already earned and gave back. I would not start with an elasticity model: quote history is written by the reps, so it only shows the prices they chose to offer.
It hides in predictable places. Specialty lines before commodity ones, because nobody shops them. A cost basis that went stale in a rising market. An order where the shopped lines are priced tight and the quiet lines carry the same discount for no reason. And margin maths that ignores rebates.
The design that held up has one rule: a deterministic engine writes every number, and the model only explains. If the model's answer contains a figure the engine did not compute, the answer is dropped and the plain one is shown instead.
Autonomy is set by a signed mandate, not by the model's confidence. The owner signs a floor, a cap on how far a price can move, and a target. Every proposed move then sorts into one of three lanes: it runs, it asks, or it goes to a person. Moves based on the distributor's own data can run alone. Moves based on other distributors' data always go to a person. One switch pauses everything.
Some moves always need a person: a price cut, how to pass on a cost increase, anything over the cap, and undoing a price the buyer has already seen. The agent refuses to negotiate with the buyer at all. That is a decision, written down, not a gap.
A cost increase gets three answers, not one: hold the gross-profit dollars, hold the margin percentage, or split the difference, each clamped to the floor. Aim at the middle of the peer range, not the top. And recommend cuts as well as increases, or it is a markup bot.
Nothing counts as saved until it has been written back and read back from the system of record, and every change can be undone. A read-back proves the value arrived; it does not prove the old system priced it the way you meant, so check that separately.
Prove it with a holdout, not a before-and-after. Randomise by account, or stagger the rollout, and agree the measure first: incremental gross-profit dollars net of lost volume, with win rate and retention as the guardrails. Watch early signals, like how often reps accept or override a suggestion, but do not count them as the result.
The prototype runs all of this on made-up data, and is labelled illustrative.
The same loop shows up in ordering, quoting and receivables: read messy input, propose a structured action, keep a person in control of the moves that matter, write it back, and measure whether it held. The agent finds the leak. The person decides how much of it to close.