AI Replenishment Agent: Predict When Customers Will Buy Again (2026)
Quick summary: Vitamins due next week — unless they already subscribe. Predict the window, draft one reminder, never charge the card. Cart abandonment is 70.22%; that is not a refill rate.
Key Takeaways
- Cart abandonment is 70
- 22%; that is not a refill rate
- on a 30-day timer
- Baymard puts average cart abandonment at 70
- 22% across 50 studies (updated Sep 22, 2025)

Table of Contents
Monday kitchen counter: vitamins, litter, detergent. The shopper will need more — unless it was a gift, a return, or an active subscription you are about to double-sell. Stores still blast “running low?” on a 30-day timer. That is how you email someone whose box arrived yesterday, or bill them twice.
Baymard puts average cart abandonment at 70.22% across 50 studies (updated Sep 22, 2025). That is people who never paid. Replenishment is people who did. Gorgias where-is-my-order (WISMO) ~18% (via Redo) is “where is this order,” not “when is the next one.” Do not mix the templates.
This is post 21 in the 15-automations map. We have no published store results that say refill conversion moved.
The job. Predict the next-buy window from interval and behavior. Talk once — or stay quiet. Never charge the card.
This week. Read purchase interval, subscription state, inventory, suppression. Suppress gifts, active subs, opt-outs. Draft one reminder for in-stock, two-interval buyers.
A person still signs. Any send, any new subscription, any substitute-on-out-of-stock promise.
Skip it when the catalog is mostly one-time fashion, you have fewer than two paid intervals, or the real ask is “auto-subscribe everyone.”
Our take: predict, then maybe talk once. Subscription billing stays in the subscription engine. The agent will not “just subscribe them.”
Copy the rules — Priors, engage/suppress, goldens:
replenishment-engagement-rules.md. Journey handoff:post-purchase-journey-playbook.md. Ship gates:monday-checklist.md.
When they will buy again — and whether to talk
Today: a 30-day email flow, or Recharge/Skio handling subs, or nothing. The failure mode is spam or double-sell.
The agent opportunity: getPurchaseInterval + getSubscriptionState + inventory + suppression → engage yes/no + how.
flowchart TD
IntervalHistory --> ReplenishAgent
SubscriptionState --> ReplenishAgent
InventoryBehavior --> ReplenishAgent
ReplenishAgent --> EngageDecision
EngageDecision --> DraftOrSilence
DraftOrSilence --> HumanOrESPIntervals, quantity, behavior, seasonality, subscription state → agent → engage or silence → human / email platform. The model does not charge the card.
| Category | Interval shape (prior only) | Engage trap |
|---|---|---|
| Beauty / skin | 30–90d by size | Gift sets |
| Supplements | Bottle count × serving | January blasts in August |
| Food / CPG | SKU-specific | Oversell short shelf-life |
| Pet | Bag size / 14–45d | Medical claims |
| Household | 30–90d | Bundles vs component SKUs |
Priors are not a send. Replace them with your last-three paid intervals. One lifetime order → refuse a prediction.
Post-purchase hands off this stage. It must not invent cadence in the education drip. Retention is churn bands, not refill copy. Warehouse purchase-order timing is inventory reorder — different Identity, different writes.
What a person still owns
Deterministic (keep out of the prompt): charge, tax, dunning, skip/delay in the subscription portal, opt-out, “active sub on this SKU → do not remind.”
AI: messy history (they bought 18 then 45 then 22 days), gift vs self-use, seasonality vs true lapse, whether a bundle explodes into component intervals.
Humans: send approval, substitute-on-out-of-stock, any new createSubscription. Approval can be a Next.js queue — not the agent host.
If Recharge already emails 3 days before renewal and that is the product, do not add a second reminder from Harness. Hybrid: billing engine owns money; agent owns non-sub next-buy guesses.
How to engage when engage: yes: one previewed template, one SKU, one window. Not a sequence of five “still thinking about it” pings. Out of stock → recommend delay or substitute to a human, not a promise date. Returns on that SKU → support or retention, not refill copy.
There is no native Shopify connector. Shopify subscriptions, a custom order store, and warehouse inventory are signed-in targets.
Ship suppress first, then one draft
Automate first: suppress on active subscription + gift flag + opt-out. Then draft one reminder for in-stock, two-interval buyers. Not a new subscribe button.
Eval suite: two 28-day buys → draft, not charge; active sub → silence; gift ship-to → silence; chargeNow attempted → DENY; out of stock → no “buy now”; duplicate inside 7 days → suppress.
Sample output (fixture — not client data):
customer_ref: hashed:aa12 sku: VIT-D3-90
predicted_window: 2026-09-12 .. 2026-09-18 (getPurchaseInterval, n=3)
subscription: none inventory: in stock gift: false opt_out: false
engage: yes how: draft_reminder approval_required: true
customer_ref: hashed:bb09 sku: FOOD-CAT-4KG
predicted_window: (tool returned active_sub)
engage: no suppress_reason: active_sub
how: none — billing engine already owns the chargeFor your technical lead
On June 17, 2026, Amazon Bedrock AgentCore Harness reached general availability (What’s New). After July 30, 2026, Agents Classic is in maintenance for new customers. Net-new replenishment agents should not start on Classic.
Bedrock = model. Harness for a single-domain predictor. Runtime + Strands only for hop caps with inventory/retention specialists. Strands does not give you Policy.
| Piece | Role |
|---|---|
| Gateway | getPurchaseInterval, getSubscriptionState, getInventoryRisk, getEngagementSuppression, previewReplenishSend |
| Cedar | Default-deny chargeNow, createSubscription, enqueueSend until reviewed |
| Identity | System job; shopper JWT must not bill |
| Browser | Off |
First-party signals we reuse (not eCommerce client outcomes) — Gateway server-side tools cut median tool round-trip ~180 ms → ~95 ms on a B2B CRM assistant (12 tools, ~8k turns/day) — Gateway post. Platform TCO silhouette: support-style AgentCore at 50K sessions/mo ~$791/mo platform + model (decision guide). Per-SKU scoring at catalog scale is invoke volume; model it on the AgentCore pricing calculator.
Context: Harness GA June 17, 2026, Gateway reads, Cedar on any send. Category priors in the artifact are starting points. Swap them for SKU-level medians before you score production traffic.
What broke — Sample harness treated every 30-day prior as a send. Fixture customer had an active subscription on the same SKU; the agent still drafted “time to refill” and a prototype
enqueueSendfired because Policy wasLOG_ONLYwith no sub check. Shopper was charged on the usual date and clicked the reminder. Detection: Gateway showedgetSubscriptionStateunused; email platform + billing both moved the same day; eval 2 was not in the suite yet. Recovery: requiregetSubscriptionState;engage: nowhen active; strip send untilENFORCE; replay as must-fail. Lesson: replenishment without a sub gate is a second storefront.
A second counter-case: refill copy on a returned supplement. That is support or retention, not a nag.
What to do this week
- List consumable SKUs that actually repeat. If the list is fashion-only, stop.
- Expose
getPurchaseIntervalandgetSubscriptionState. No billing writes. - Copy
replenishment-engagement-rules.md. Fill your intervals. - Harness on Gateway; Policy default-deny charge/subscribe/send; Browser off.
- Ten goldens + three must-fail (spam, gift, active sub).
- Human approval for any send. Named owner for evals + cost alarm.
- Price SKU×customer scoring on the AgentCore pricing calculator.
monday-checklist.md.
Need Cedar on send without touching billing? Contact us. Related: Amazon Bedrock, Generative AI on AWS, AWS for retail / eCommerce.
What this post doesn’t cover
- Journey stages before refill — post-purchase coordinator.
- DC / vendor reorder POs — inventory reorder.
- Churn winback lists — retention.
- Measured refill rate or subscription-attach from a FactualMinds engagement.
- AgentCore Payments / x402; PAN in Memory.
- A native Shopify / Recharge AgentCore connector.
FAQ
When should we NOT deploy an AI replenishment agent?
Skip it when the catalog is mostly one-time fashion or durables with no repeat SKU, when you have fewer than two prior paid intervals for the SKU, or when the real ask is “auto-subscribe everyone.” A dated email “buy again” flow is enough if you already suppress active subscriptions. Also skip the older Agents Classic product after July 30, 2026.
What could go wrong if we spam “time to refill”?
You train unsubscribes and look blind to the order they placed yesterday. One reminder in the predicted window. Dedup 7 days. Honor opt-out. Gift ship-to is not a user. Daily nag is not a cadence.
What could go wrong if the agent touches subscription billing?
Double charges, tax mistakes, and dunning loops. Charge, retry, and skip stay in the subscription engine. The agent may recommend a reminder or a skip — it must not call chargeNow. Instructions in the prompt are not PCI or a billing SOP.
How is this different from inventory reorder and post-purchase?
This agent predicts the shopper next buy. Inventory reorder is the warehouse / purchase-order side (post 22). Post-purchase coordinates the journey after one order and must hand replenishment here, not guess intervals in the education drip.
Beauty vs supplements vs pet — same agent?
Same harness, different priors and evals. Replace the sample interval table with your SKU data. Vet and ingestible copy must not invent medical claims. Short shelf-life food must not oversell. Gift flags matter more in beauty than in cat litter.
Harness or Runtime? Shopify connector?
Harness (AgentCore) is enough for interval reads plus a draft reminder. Runtime plus Strands if inventory and retention specialists share a turn with hop caps. There is no native Shopify AgentCore connector — wrap orders, subscriptions, and inventory as signed-in lookups. Browser off. No payment tools.
AWS Cloud Architect & AI Expert
AWS-certified cloud architect and AI expert with deep expertise in cloud migrations, cost optimization, and generative AI on AWS.




