B2B buyers order on cadence (weekly/monthly POs). Silence = early churn signal worth a Sales call.
At a glance
List of B2B accounts (Adobe Commerce Company entities or B2B-tagged customers) whose most recent order is more than 2× their established ordering cadence. B2B buyers order on cadence (weekly/monthly POs); silence is an early churn signal worth a Sales call before the renewal review.
Calculation
Calculated automatically from your Adobe Commerce data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A janitorial-supply distributor on Adobe Commerce 2.4.6 with the B2B module enabled. The merchant has 312 active Company entities. Snapshot taken Tuesday 12 Apr 26. Top-LTV B2B accounts (12-monthbase_grand_total top 50%): 156 accounts.
Silence detection on the high-LTV cohort:
What this is telling Sales:
- Riverside Hospital Group is the top priority. A weekly-cadence 5,400/week of recurring revenue.
- Westfield School District just missed the threshold (57 vs 60 days). Not flagged but worth watching, the schools’ fiscal year ends 30 Jun and procurement decisions are being made now. A proactive nudge before the threshold trips converts 2-3× better than a reactive rescue.
- HotelChain UK at 42 days silent on a 14-day cadence is the canary for the hospitality category. If two more hospitality accounts go silent in the next 14 days, there’s a sector-wide cause (hotel occupancy dropped, a category-wide supplier-switch, a competitor running aggressive pricing).
- The flagged accounts together represent $470k of 12-month LTV. Each Sales rescue call that retains the account is worth (12-month LTV × probability_of_save). Industry norms suggest 50-70% save-rate at 2× cadence, dropping to <20% at 4× cadence. Move fast.
pending_paymentorders are excluded from cadence detection. Riverside Hospital’s procurement may have submitted a PO that’s stuck inpending_payment(their AP system hasn’t approved). That order isn’t counted as “placed” here. Operations should also check Order State Distribution filtered to B2B for stuck POs that masquerade as silence.- StateGov is a 90-day cadence account, mid-cycle silence isn’t flagged. Quarterly POs are normal in public sector; the 2× threshold (180 days) gives them headroom. Good design.
Sibling cards merchants should reference together
This is a Sales-action card. Pair with these to triage and follow up:Reconciling against the vendor’s own dashboard
Where to look in Adobe Commerce Admin: For Adobe Commerce B2B (the Companies module is part of Adobe Commerce, not Magento Open Source):Customers > Companies in Admin shows the full Company list with their assigned Sales rep. Click a Company to see its order history (Orders tab on the Company detail page).For per-account silence-checking:
Customers > Companies > [Company Name] > Orders lists every order with created_at. Compare the most recent date to today; if the gap is unusually long for that account, silence is real.
For merchants who use Customer Group tagging instead of the B2B Companies module:
Customers > Customer Groups to define your B2B group, then Customers > All Customers filtered to that group, sorted by Last Login or last order date.Other Adobe Commerce Admin views that look relevant but aren’t:
- Customers > Now Online: real-time login state, not order silence.
- Marketing > Newsletter Subscribers: email list, not purchase activity.
- Reports > Customers > Customers by Orders Total: lifetime totals, not silence detection.
- Reports > Customers > Customers by Number of Orders: total order count, not recency.
- Reports > Sales > Coupons: irrelevant to silence detection.
Cross-connector reconciliation (when these connectors are connected for this merchant):
This is a B2B operational card; few connectors reconcile directly.
Known limitations / merchant FAQs
A flagged account ordered yesterday but it’s still on the list, why? Sync lag. The card uses the most recent OpenSearch index sync (5-15 min behind real-time). If the order landed within the last sync interval, the card hasn’t seen it yet. Refresh in 15 minutes and the account should drop off the list. My Sales rep says the account placed an order via phone/email, why isn’t it counted? The card only counts orders placed through Adobe Commerce. Off-platform orders (phone-in POs, EDI orders, manual orders entered into the ERP but not Adobe) don’t appear. If your B2B routinely takes off-platform orders, this card will over-flag those accounts. Either: (a) push all orders through Adobe (manual entry via Sales > Orders > Create New Order), or (b) tag those accounts with a custom attribute and exclude them from this card’s manifest. What’s the difference betweenstate and status and does it affect silence detection?
state is the system lifecycle (8 fixed values). status is configurable label. This card uses state-based filtering: it excludes pending_payment and canceled from cadence calculation, includes everything else. If you’ve renamed your processing status to “PO Received” or similar, the card still works (the underlying state = processing is what matters).
Why are pending_payment and canceled orders excluded from cadence?
B2B silence detection asks “is this customer still buying?”. A pending_payment PO that the gateway never resolved isn’t a buy, the customer placed an order intent but no commitment was confirmed. A canceled order is a withdrawn intent. Counting either as a “real” order would mask genuine silence. The exclusion is opinionated; it differs from most cards on this connector which include all states. If your B2B has high pending_payment rates due to net-30 PO routing (the order intentionally sits unconfirmed for AP processing), the card may over-flag, in that case, configure the manifest to include pending_payment for B2B accounts only.
My multi-currency Adobe Commerce, can the card compare cadence across regions?
Yes. Cadence detection is date-based, currency-agnostic. The LTV ranking uses base_grand_total (FX-converted) so accounts across regions are comparable on the LTV-cohort filter.
Why doesn’t Adobe Commerce dashboard have an equivalent?
Adobe Commerce B2B module shows per-Company order history but doesn’t compute median cadence or flag silence relative to cadence. The closest native view is the Sales rep’s account-by-account drill-down. The card is the synthesis layer that flags silence at scale.
My Stripe revenue and B2B silence don’t reconcile, expected?
Yes. Stripe sees Stripe-paid orders only; many B2B accounts pay via net-30 invoice (manual payment, recorded in Adobe but never touching Stripe). Stripe’s view of the B2B world is a subset, not a reflection. Don’t try to reconcile directly.
Why doesn’t Google Analytics flag the silenced accounts?
GA4 attributes by session, not by account. A B2B procurement contact who logs in less often shows up as fewer sessions, but GA4 doesn’t tie back to a Company entity. The card uses Adobe-side customer_id which has the Company link.
grand_total vs base_grand_total, which does this card use?
LTV ranking uses base_grand_total so multi-currency accounts are comparable. Cadence detection is date-based, neither field matters. Most cards in the Nerve Centre use grand_total; this one uses base_grand_total deliberately for the cross-region LTV cohort.
My multi-store Adobe Commerce, can the card scope per Store View?
Yes. By default it filters to the B2B Store View. For multi-region B2B (UK B2B portal, US B2B portal), the card flags silence per portal. Configure per-Store-View routing in the manifest if you want a unified per-account view that spans portals (rare, most B2B accounts shop on one portal).
Why does the threshold use 2× cadence rather than a fixed 30/60/90 days?
B2B cadences vary wildly: a daily-PO janitorial account vs a quarterly-PO public-sector account. A fixed 30-day threshold would over-flag the public sector and under-flag the janitorial. Multiplicative threshold (2× the account’s own cadence) normalises across cadence types.
Why does today’s number swing so much?
Daily resolution can flip an account in or out of the flagged list as their “days silent” crosses the 2× threshold. If you do a Sales-call workflow on the list, snapshot it once daily (e.g. each morning) and work that snapshot rather than chasing the live list. The flag-state of a specific account is more meaningful than the aggregate count.
An account on the list said they’re on holiday, should I dismiss them?
Yes, mark the account as “on hold” in the Vortex IQ workspace (a per-account snooze feature). Otherwise it will re-flag every refresh. Snoozing also feeds back into the cadence median, so when they return to ordering it doesn’t artificially shorten their established cadence.