Skip to main content
DoneThat

AI Adoption GuideProcurementSource

Reverse auction ML optimization

ML agent manages dynamic pricing events, adjusts reserve prices in real time, and flags bid gaming behavior, using tools like Keelvar.

Procurement processRequestApproveSourceEvaluateSelectOrderReceiveReview

By Don, DoneThat’s AI coach · updated

The agent flags and advises; you still run the event

A reverse-auction model earns its keep when it watches the live bid stream, flags patterns that look like gaming, and recommends a reserve or lot change. It does not earn its keep by starting the clock, dropping the floor, or awarding the event.

You still click start, pause, extend, and award. If the model can close the room, you have handed it a commercial decision you cannot unwind without a supplier fight.

Do not book savings from an event that has not closed. A current low under last year's award is a bid, not a result. Savings is an awarded, accepted price on a PO against a named baseline, not a screenshot of the ticker.

Sourcing event platforms in this class include Keelvar, SAP Ariba, Coupa, and Jaggaer. This page does not rank those products. Run the watchers in the room that already holds your lots, invited suppliers, and bid log. Do not export the event to a second tool so a model can watch a copy of the bids.

Publish the rules before you invite anyone: rank-only or full price, auto-extend, whether the reserve is visible, and how lots will be awarded. A room whose mechanism is a surprise attracts fewer serious bids and more last-second theater.

Pin the reserve to should-cost before the clock starts

The reserve is a walk-away, not a chase. Set it from a named should-cost range before suppliers enter, then treat that floor as a hard stop.

Build the range from market price benchmarking: last comparable awards, the indices that actually move this category, freight and Incoterms, and any unit conversion that makes the lots match. A reserve with no named inputs is a hope. A model that invents an index you do not subscribe to is not a benchmark.

Do not auto-drop the reserve under should-cost because the room went quiet. Quiet is a signal to pause and look at participation. It is not a reason to chase a bid that has not arrived. If invited suppliers sit out, you have a competition problem. Dropping the floor will not create bidders. It will teach the ones who showed up that waiting works.

If the live low is already under should-cost, treat that as a warning, not a win. Recheck spec comparability, Incoterms, and whether the bid excludes a cost you still pay. total cost of ownership modeling is the check before you treat a cheap unit price as the award.

Recommend a reserve move only inside the should-cost band, and only with a reason the sourcing lead can read in one line: participation too thin, a lot mix hiding a high-cost SKU, or a bid that looks like a dump. The lead still confirms. The model does not silently rewrite the floor.

Watch decrement patterns, not only the current low

Gaming rarely looks like one absurd number. It looks like a pattern across bidders and time.

Watch for:

  • Lockstep decrements. Two or more suppliers drop by the same increment on a rhythm that does not match how this category usually moves. Once can be coincidence. Repeated, it is a pause.
  • Turn-taking. A then B then A, each shaving just enough to hold rank, never competing through. Rank-only rooms hide this if you only watch the leader.
  • Parking. One bidder sits a tick above another and never undercuts. Combined with a last-second move, that is a dump setup.
  • Last-second dumps. A large drop in the closing window, especially from a bidder who was idle. Auto-extend exists for this. A model that only logs the new low and does not flag the dump is not watching the event.

A flag is not proof of collusion. Collusion is a legal finding. The operational response is pause, notify the sourcing lead, and decide whether to extend, split the lot, invite another qualified bidder, or stop. Do not tell the room you detected collusion. Do not auto-disqualify on a pattern score.

competitive pressure analysis belongs before you open the room, and after you have comparable quotes. If you cannot name two other qualified sources for this spec, you do not have an auction. You have a negotiation with a clock. Two bidders in a thin market learn your walk-away. They do not create a market.

A sanctions, quality, or ESG miss mid-event is a pause, not a price problem. If a bidder would fail esg supplier screening, do not let them set the market in the last minute.

Illustrative event: three converters, one lot that should have been two

The following is an illustrative scenario, not a measured result.

A packaging buyer runs a reverse auction for corrugated shippers covering three plants. The lot is written as "all RSC cartons, 32 ECT, delivered." Three converters are invited. The should-cost floor came from last year's awards, linerboard index movement, and a freight add by plant.

Mid-event, two bidders decrement in near-identical steps. The third sits idle, then dumps a large cut in the closing window. The model recommends dropping the reserve to follow the dump.

What should happen

The sourcing lead pauses. Lockstep moves plus an idle-then-dump is a gaming flag, not an award. The dump also sits under should-cost for the two plants that are not next to that converter.

The lead does not drop the reserve. They split the lot: Plant A (near that converter) as one award, Plants B and C as another, with freight and lead time still in the scoring. They extend once.

If the published criterion was total cost, not unit price, a dump that excludes inbound freight to B and C does not win. The model can recommend the split. It cannot award Plant A on a delivered price that was never comparable for B and C.

What must not happen

If the reserve auto-drops under should-cost to keep the room moving, you have taught every bidder that the floor is optional. Next event they wait.

If you award on the last price after publishing a TCO score (freight, quality claims, pallet height, recycled content), you have run a different event than the one you invited. The cheap unit price will return as a freight bill and a claim rate the plant already knows.

If the spec was never comparable (one bidder quoting 32 ECT kraft, another quoting a recycled sheet that jams your line, mixed Incoterms in the same lot), the auction is invalid before the first bid. internal contradiction detection on the event pack should have caught mixed specs and mixed Incoterms. An ML watcher will not fix a lot you should not have opened.

Pause, re-lot, or walk away; the lead still clicks award

The honest moves during an event are few:

  1. Hold the reserve. Quiet room, or a dump under should-cost. Do not chase.
  2. Pause and extend. Gaming pattern, late technical question, or a bidder who just failed a screen.
  3. Re-lot. Unlike plants, unlike SKUs, or a freight structure that makes one winner a loss for two sites.
  4. Stop. Too few real competitors, spec not comparable, or the live low only works if you ignore the published TCO weights.

Award is a human click against the criterion you published. If that criterion was TCO, the price leader is not automatically the winner. If a bidder is out on ESG, sanctions, or a spec they did not actually meet, they do not set the price for everyone else.

Record the flags, the recommended reserve or lot change, and the click you made. That log is how you improve the next event. It is not a savings number. Do not put auction savings in a tracker until the award is accepted and the PO matches the awarded terms.

Start in categories you already auction: comparable spec, enough qualified bidders, a should-cost you can defend. Standard hardware and freight lanes are the usual first rooms. Do not start on a sole-source OEM spare, or on a services statement of work each bidder will interpret differently.

Suppliers you still need next year read a reverse auction as a message. Use it where competition is real and switching is possible. Do not use it as a periodic threat in a two-source category you cannot actually leave.

Is this worth automating for you?

Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other. This one is rated high effort to implement, so the baseline matters more than usual.

DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.

Measure the baseline first