docs
FeaturesCustomers

Customer signals

What each signal on a customer profile means, when it fires, and how to act on it.

Every customer profile carries a Customer Intelligence panel with a row of signals XPay derives from this customer's payment history. A signal fires when the customer crosses a specific threshold worth surfacing: top of your spend distribution, sudden drop in spend, payments from many different cards, and so on. Each signal carries a one-line detail (a percentile, a trend, a count) so you know exactly what triggered it.

This page lists every signal, when it fires, and what to do about it.

How to read a signal

Each signal sits in one of four sentiment buckets, used to color-code the panel:

SentimentWhat it means
PositiveA customer worth your attention as engaged, loyal, or high-value.
WarningA pattern worth a closer look. Refunds, disputes, failed payments, or geographic mismatches.
InfoNeutral context that helps you understand who this customer is.
NeutralStatus without action implied (currently used for Inactive).

Percentile-based signals fire when a customer is in the top 10% on your account for that metric. The percentile is computed across all your customers in the same database (test or live), so test-mode percentiles only compare against test-mode customers.

Loyalty signals

The customers you want to pay close attention to as engaged or at risk of going quiet.

Top Spender

Sentiment: positive. Detail line: percentile + lifetime spend.

Triggers when this customer's lifetime gross spend is in the top 10% on your account.

Use it for: VIP outreach, priority support, referral asks, early access to new products.

Frequent Buyer

Sentiment: positive. Detail line: percentile + total payments.

Triggers when this customer has made more successful payments than 90% of your customers, with at least two payments on record.

Use it for: Loyalty rewards, repeat-purchase discounts, subscription pitches if you sell on a recurring model.

New Customer

Sentiment: info. Detail line: "First purchase today" or "First purchase Nd ago".

Triggers within 30 days of their first successful payment.

Use it for: Welcome flows, onboarding follow-ups, first-month engagement.

Inactive

Sentiment: neutral. Detail line: "Last seen Nd ago".

Triggers when their most recent successful payment was 90 or more days ago.

Use it for: Win-back campaigns, surveys, re-engagement offers.

Spending change signals

How this customer's behavior is shifting over the last 60 days, comparing the most recent 30 days to the 30 days before that. These need data in both periods to fire.

Spending Trend

Sentiment: positive when up, warning when down. Detail line: "Up X% vs last 30 days" or "Down X% vs last 30 days".

Triggers when total spend in the last 30 days is at least 30% higher or lower than the prior 30 days.

Use it for: Up means a candidate for upsell or expansion. Down is an early signal of churn risk worth investigating before they go quiet.

Order Value Shift

Sentiment: info. Detail line: "Up X% vs last 30 days" or "Down X% vs last 30 days".

Triggers when the customer's average payment amount in the last 30 days is at least double, or at most half, the average from the prior 30 days.

Use it for: Catching plan-tier upgrades, basket-size shifts, or migration between products. Often pairs with Spending Trend.

Risk signals

Patterns that warrant a closer look. Each of these is worth a manual review, not a blanket action.

High Refunds

Sentiment: warning. Detail line: percentile + amount refunded.

Triggers when their refund-to-spend ratio is in the top 10% on your account, with at least one refund processed.

Use it for: Look at refund reasons in the Transactions section of the profile. Product-fit problems, fulfillment issues, or coordinated abuse.

High Disputes

Sentiment: warning. Detail line: percentile + amount lost to disputes.

Triggers when their dispute losses as a fraction of spend are in the top 10%, with at least one real loss recorded.

Use it for: Same review as High Refunds, plus cross-check Card-Country Mismatch and Multi-Card User for fraud-shaped behavior.

Card-Country Mismatch

Sentiment: warning. Detail line: "X% of payments from a different country than card".

Triggers when 30% or more of this customer's successful payments came from an IP address in a different country than the card's issuing country, across at least 3 charges where both countries are known.

Use it for: Travel, VPN usage, or fraud. Cross-reference with refunds, disputes, and Multi-Card User.

High Failure Rate

Sentiment: warning. Detail line: "X% of payment attempts fail".

Triggers when 25% or more of all their charge attempts (succeeded plus failed) failed, across at least 3 attempts.

Use it for: Expired card on file, billing address change, or active card-testing. If failures cluster around the same card or IP, treat it as a fraud signal rather than a friction signal.

Behavior signals

Context about how this customer pays. Neutral on their own, telling when paired with a risk signal above.

Multi-Card User

Sentiment: info. Detail line: "N different cards used".

Triggers when they've paid with at least 3 distinct cards. For registered customers this counts cards saved as payment methods on the account; for guests it counts every card they've ever paid with.

Use it for: Often a power user mixing personal and business cards. Combined with Card-Country Mismatch or High Failure Rate, can mean card-testing.

Multi-Device

Sentiment: info. Detail line: "N different devices".

Triggers when this customer has paid from at least 3 distinct devices XPay has fingerprinted.

Use it for: Households, shared accounts, or workplace devices. Combined with risk signals, can mean unauthorized account use.

When a profile shows no signals

Empty signal panels are normal. A profile won't show signals when:

  • The customer hasn't paid yet, or has only one or two payments. Most behavioral signals need at least 3 successful payments to compute meaningfully.
  • They sit in the middle of every percentile (not in the top 10% on any spend, refund, dispute, or frequency metric).
  • Their spending pattern is steady (no 30%+ swing in totals or 2x shift in average amount over the last 60 days).
  • They're past day 30 since first purchase (so New Customer doesn't apply) and have paid in the last 90 days (so Inactive doesn't apply).

In short: signals are designed to surface a pattern only when there's enough data and enough deviation to act on. A quiet profile means the customer is acting like a typical customer for your account.

Where to next

On this page