Skip to main content
Card class: Cross-ChannelCategory: Ecommerce Platform
High-LTV customers refunding repeatedly, leading indicator of churn. Trigger a save-flow campaign before they go silent.

At a glance

High-LTV WooCommerce customers refunding repeatedly. Leading indicator of churn. Trigger a save-flow campaign before they go silent.
What it countsSUM(customer_LTV) WHERE customer has 2+ refund events in last 90D AND lifetime value > $500. Joins Woo customer / order / refund data.
REST API endpointWoo: /customers, /orders, /orders/{id}/refunds. Aggregated client-side.
VAT / tax treatmentLTV computed on order.total (tax-inclusive).
Status filterCustomers with _customer_user > 0 (logged-in registered customers; guests are excluded because no LTV history).
RefundsThe trigger metric. 2+ refund events in 90D classifies as “at-risk”.
Cancelled / failed ordersExcluded from LTV.
CurrencyLTV summed in store currency. Multi-currency stores need filter alignment.
Channels / sourcesAll Woo orders contribute to LTV; refunds across all channels count toward the trigger.
Self-hosted vs managed-WooSelf-hosted with sync gaps may miss refund events for hours, briefly under-flag the at-risk set. Managed-Woo is steadier.
Time window90D
Alert trigger>$5K LTV at risk (sum of at-risk LTV across all flagged customers in the window)
Rolesowner, marketing, finance, operations

Calculation

Calculated automatically from your WooCommerce 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 US homewares brand on managed-Woo with strong repeat purchase behaviour. 90D window: 14 Jan 26 to 14 Apr 26.
CohortCountAvg LTVAt-risk LTV
All registered customers12,400$186n/a
Customers with 2+ refunds in 90D84$640$53,760
… and lifetime value > $500 (this card)32$1,420$45,440
The card flags 32 customers totalling $45,440 LTV at risk. Three observations:
  1. High-LTV refunders are a red flag, not a problem customer. These are the merchant’s best customers, they buy a lot, and when product / fit / quality fails they refund rather than absorb. Losing 32 customers worth $45,440 LTV typically costs more than the refund expense itself. The save-flow message (“we noticed your last few orders had returns, can we help?”) often retains them.
  2. Self-hosted variance is the recurring theme. On self-hosted Woo with sync lag, refund events sometimes appear in the index hours late. The at-risk set may briefly under-count when a refund is pending sync. Managed-Woo with reliable cron eliminates this.
  3. Plugin-induced data shape variance: Subscriptions plugin. WooCommerce Subscriptions cancellations are not always refunds (sometimes pro-rata refund, sometimes no-refund cancellation). The card joins on refund events specifically, so subscription churn-without-refund is invisible here. Pair with Customer Churn for the full picture.

Sibling cards merchants should reference together

CardWhy pair it with Refund-Driven Churn
WC Customer ChurnBroader churn view (includes silent churn).
WC Refund RateStore-level refund signal.
WC Top CustomersThe high-LTV customer list, this card is a subset.
WC Top Refunded ProductsIdentifies the SKUs driving refunds.
Klaviyo High-Value At-RiskEmail save-flow trigger.

Reconciling against the vendor’s own dashboard

Where to look in WooCommerce Admin: Woo does not surface this combined view natively. Closest manual approximation: WP Admin → WooCommerce → Customers, filtered by spend > $500 and refund count > 1. Why our number may differ from a manual segment:
ReasonDirection
Time-zone. UTC vs WP-site.Boundary effects
Self-hosted server uptime. Sync gaps under-count refunds briefly.Self-resolves
Plugin-version compatibility. WooCommerce Subscriptions cancellations may or may not produce refund events.Either
Refund-object aggregation. WC creates one post per refund event; multi-step refunds can over-count toward the 2+ trigger. The card de-duplicates by order.Without de-dup, ours higher
Currency plugin. LTV needs single-currency normalisation.Material for multi-currency
Cross-connector reconciliation:
CardExpected relationship
klaviyo.klv_high_value_at_riskEmail-side at-risk list. Should overlap with this card’s at-risk customers.

Known limitations / merchant FAQs

Self-hosted vs managed-Woo, why does it matter? Sync gaps under-count refunds briefly on self-hosted, the at-risk set updates late. Managed-Woo is steadier. Status-filter selection, why exclude guests? Guests have no LTV history (no _customer_user link). Including them would conflate one-time buyers with at-risk repeat customers. Refund-object accounting, why 2+ events? A single refund is normal (sizing, damage). Two refunds in 90 days is the early signal of dissatisfaction; three+ is severe. Plugin-induced data shape variance, what plugins change behaviour?
  • WooCommerce Subscriptions: cancellations may not be refunds; pair with Customer Churn.
  • Smart Coupons / Store Credit: refunds-as-store-credit do not create refund posts in some configurations; verify in your store.
  • B2B / Wholesale plugins: bulk credit-notes for wholesale returns may not appear as refund posts.
Multi-currency configuration, does it affect LTV? LTV is summed in store base currency (or per-currency if filter is set). Multi-currency stores need workspace currency-mapping configured for accurate LTV. Why does Woo and Stripe disagree? Stripe-routed refunds appear in Stripe; non-Stripe (PayPal, manual) do not. The Vortex IQ Woo engine reads all refund posts regardless of payment method, so this card is comprehensive. Today is jumpy, why? 90D window for stability; the at-risk list moves slowly. Sync-lag from self-hosted server slowness? Refund detection lag of 1-3 hours possible during outages. Self-resolves at next poll. My WP Admin shows different at-risk customers, debug:
  1. Match LTV threshold ($500) and refund-count threshold (2+) explicitly.
  2. Match the 90D window.
  3. Confirm currency normalisation if multi-currency.
  4. If gap remains, contact support.

Tracked live in Vortex IQ Nerve Centre

Refund-Driven Customer Churn is one of hundreds of KPI pulses Vortex IQ tracks across WooCommerce and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.