The 0–100 Score
10 min read
- View as Markdown Open this page as plain Markdown (opens in a new tab)
- Open in ChatGPT Ask questions about this page (opens in a new tab)
- Open in Claude Ask questions about this page (opens in a new tab)
- Open in Google AI Studio Ask questions about this page (Google account required) (opens in a new tab)
The trust score is a number from 0 to 100 attached to every scored customer in your store. It’s the headline metric you see on the Dashboard, the customer list, the orders list, and the customer detail page. This guide explains exactly what the number means, how to read it, what makes it move, and how to use it in day-to-day operations.
What the Number Means #
The trust score is a behavioral risk indicator. Higher numbers mean a customer’s pattern of orders, refunds, coupons, disputes, and checkout behavior looks more like a reliable shopper. Lower numbers mean it looks more like the patterns of abuse or fraud that TrustLens is designed to detect.
The number is anchored at 50 = neutral baseline. Every customer starts at 50 and moves up or down based on what their behavior actually looks like in your store.
| Score | What It Means |
|---|---|
| 100 | Maximum trust. Either an allowlisted customer (kill-switch lock at 100) or a long-tenured customer with a very clean record and strong positive signals. |
| 70–99 | Above-average trust. Established repeat buyers with low refund rates and no abuse signals. |
| 50–69 | Neutral to mildly positive. Most customers sit here. New customers with little history yet, or a balanced mix of small positive and negative signals. |
| 30–49 | Early-warning territory. One or two negative signals — elevated return rate, a coupon-then-refund pattern, a country mismatch. |
| 10–29 | Likely abuse. Multiple negative signals adding up. The behavioral pattern is consistent with serial returners, coupon abusers, or low-tier fraud rings. |
| 0–9 | Confirmed abuse across multiple modules — disputes plus high return rate, linked accounts plus coupon abuse, etc. These customers cost real money. |
Anchoring Points #
A few specific scores have explicit meanings worth memorizing.
Score = 50 #
The base score, and the usual score of a brand-new customer. Below the Full-confidence Order Threshold (default 3 orders) most modules wait for more history, so a new customer with no refunds, no linked accounts and under three months of tenure sits at 50. On the customer profile you’ll see the zero-point signal “Limited local history (1/3 orders); return risk is confidence-weighted” while they’re below the threshold. New customers are not pinned at 50, though: a refund (confidence-weighted), a linked-account match or the account-age bonus can still move them.
A customer with a longer history can also land at exactly 50 — it just means the positive and negative signals balanced out. Look at the signal breakdown to tell the difference.
Score = 100 #
Maximum possible. Two paths get a customer here:
- Allowlist: Toggling the allowlist on locks the customer at 100 and skips signal calculation entirely. Recommended for known VIPs and protected accounts.
- Earned 100: A customer with strong positive signals and the maximum account-age bonus (+15) can reach 100 organically. This is rare and means they’ve been a customer for over a year with a clean record and accumulated positive signals across multiple modules.
Score = 0 #
Minimum possible. Score is clamped at 0, but the internal sum can be much lower — a customer with a 90% return rate, three filed disputes, and four linked risky accounts might internally compute to -80 before being clamped. The clamp is what you see; the magnitude underneath is reflected in how many severe signals appear on the profile.
How the Score Moves #
Scores change only when behavior changes — or when tenure crosses an account-age milestone and the customer is next recalculated. The Dashboard’s trust-score trend chart is the easiest way to see store-wide movement at a glance; for a single customer, compare the signal breakdown on their profile over time.
Typical Score Changes #
| Event | Typical Score Delta | Notes |
|---|---|---|
| First refund on an established customer | 0 to -5 | Single refund usually doesn’t move the rate enough to trigger a tier |
| Refund pushing rate to 25%+ | up to -10 | Lowest return-rate tier |
| Refund pushing rate to the high threshold (40%), or to 30%+ when that is at least 2× your store’s return rate | up to -20 | “High” tier |
| Refund pushing rate to the critical threshold (60%), or to 50%+ when that is at least 3× your store’s return rate | up to -30 | “Critical” tier |
| 2+ delivered orders refunded in full with item-level return evidence | up to -8 (-12 at 3+) | Added on top of the rate tier; the whole Returns penalty is capped at -50 |
| 1st / 2nd / 3rd+ refunded order that used a coupon | -5 / -15 / -25 | Coupons module coupon-then-refund tiers |
| A first-order coupon plus any refunded coupon order | -10 (additional) | Coupons module first-order abuse pattern |
| Dispute filed (still pending) | -20 | Chargebacks module |
| Dispute lost | -30 (-40 at 2, -50 at 3+) | Chargebacks module; any dispute still pending adds a further -20 |
| Dispute won (no losses) | -5 | The dispute was still filed |
| Linked to 1–2 accounts | -5 | Plus 5 per linked account in Risk/Critical and 10 per blocked linked account (defaults) |
| Linked to 3–4 / 5+ accounts | -10 / -15 | Same per-link additions apply |
| Customer linked to a device caught card testing | -30 | Card-Testing Defense signal |
| Crossing 3 months tenure | +5 | Account-age bonus kicks in |
| Crossing 6 months tenure | +10 (replaces +5) | Tier upgrade |
| Crossing 1 year tenure | +15 (replaces +10) | Maximum age bonus |
| 3 / 5 / 10+ clean orders (counted orders minus refunded orders) | +5 / +10 / +15 | Orders module loyalty bonus |
| 10+ orders and no disputes | +10 | Chargebacks module positive signal |
The table reflects the shipped defaults. Return-abuse penalties are shown at full strength: the Returns module scales them down by a sample-size confidence factor (low for customers with few orders) and by the product-risk multiplier (0.5×–2×, default 1.0×), so the actual delta is often smaller.
Reading the Score in Context #
The raw number is most useful when combined with three pieces of context.
1. Segment #
The score-to-segment mapping is the fastest interpretation. A score of 28 always means Risk; a score of 72 always means Trusted. See Six Customer Segments for treatment recommendations per segment.
2. Trend Direction #
A customer at 45 (Caution) is very different depending on which way they’re heading:
- 45 trending down from 65: Something just happened — recent refund, recent dispute. Investigate.
- 45 trending up from 25: Customer is recovering from a past issue. Watch but don’t act yet.
- 45 stable over months: Steady-state mediocre customer. Probably no action needed.
The Customer Detail page shows the current score and its signals rather than a score-history chart, so read direction from the signals (a recent refund, a new dispute) and from the profile’s 12-week return-rate trend.
3. Signal Density #
Two customers can have the same score for very different reasons:
- Score 35, one signal: One refund spike pushed return rate above the high threshold. Manageable risk.
- Score 35, six signals across four modules: Coordinated pattern — refunds and coupon abuse and linked accounts and shipping anomalies. Higher confidence the customer is actually abusive.
The signal count and module spread are visible directly on the profile. More modules implicating a customer is a stronger signal than one module spiking.
Score Stability #
Trust scores aim to be stable — small fluctuations from normal customer behavior shouldn’t move them around constantly. The design choices that produce this stability:
- Tiered thresholds. Return rate signals only fire at set tiers — 25%, the high threshold (40%) and the critical threshold (60%), with the high and critical tiers also reached at 30% and 50% when the rate is 2× / 3× your store’s return rate. A customer whose rate moves from 22% to 24% doesn’t change score; one whose rate crosses 25% does. This produces visible “step changes” rather than continuous noise.
- Full-confidence threshold. Until a customer reaches the threshold (default 3 orders), most modules wait and the Returns penalty is scaled down by a sample-size confidence factor. New customers don’t swing wildly on incomplete data.
- Account-age bonus tiers. +5 → +10 → +15 are stepped at 3-month, 6-month, and 1-year milestones, not continuous, so the bonus doesn’t drift daily.
- Insufficient-data signals. If a module can’t emit a meaningful signal, it returns zero rather than guessing. Modules don’t make up data.
For an active customer, expect 3–10 score changes per year as their tenure and behavior actually evolve. Multiple changes per day usually mean an active situation (a card-testing attack, a rapid refund spree) and warrant a look.
Common Score Patterns #
A few patterns recur across stores and are worth recognizing.
The “Healthy Repeat Buyer” #
Score 75–85, segment Trusted, score has crept up over time. 6+ orders, low single-digit return rate, account-age bonus at +10 or +15. No abuse signals. These are your bread and butter.
The “Quiet VIP” #
Score 92–100, segment VIP. Either allowlisted (locked at 100) or organically there from years of clean behavior. Allowlist these even if they’re already at 100 — it protects them from future signal noise.
The “Suspicious New Account” #
Score in the 40s or 50s, only one or two orders, with the “Limited local history” signal and maybe a linked-account or confidence-weighted return penalty. Below the Full-confidence Order Threshold only returns, linked accounts and tenure count, so coupon, shipping, chargeback and card-testing signals haven’t been applied yet. Watch — once they reach the threshold those modules join in and the score can step down sharply.
The “Wardrobing Returner” #
Score 25–45, repeated full refunds after delivery. Two or more delivered orders refunded in full with item-level return evidence, often requested late in the return window. Classic wardrobing pattern: order, wear/use, return for full refund.
The “Coupon Abuser” #
Score 20–40, signals dominated by Coupons module. Refunded orders that used coupons, often including a first-order coupon, frequently combined with linked-account signals. Usually one person creating throwaway accounts to grab new-customer discounts.
The “Fraud Ring Member” #
Score 0–15, signals from Linked Accounts plus at least one other module. Linked to multiple already-risky accounts. The score is often pinned at 0 by compound penalties.
The “Disputed Customer” #
Score 0–20, dominant signal from Chargebacks module. One or more filed disputes. Score depends on dispute count and outcome (lost disputes are weighted heavier than won).
Using the Score Operationally #
The number itself isn’t the action — the segment and signals are. But the raw score is useful for a few specific operational tasks:
| Task | Use the Score By |
|---|---|
| Sorting the customer list | Sort ascending to find your highest-risk customers |
| Filtering the WooCommerce orders list | Filter by segment via the trust badge column |
| Setting automation conditions (Pro) | Use trust_score thresholds — e.g. trust_score < 30 instead of segment = Risk if you want different behavior at 29 vs 10 |
| Exporting cohorts | Filter the Customers list by segment (or search) before clicking Export CSV — the export follows those filters |
| Auditing scoring changes | Compare the Dashboard’s trust-score trend chart against your operational events (new policies, coupon launches) |
For human moderation decisions, the segment is usually more useful than the raw score. The score is for sorting and automation rules where you want fine-grained thresholds.
Score Display Locations #
The same score is shown in several places, always the same value:
- Dashboard — store-wide average and 30-day trend
- Customers list — sortable column
- Customer Detail page — score gauge and the Signal impact breakdown
- WooCommerce orders list — Trust column (segment color + score), sortable and filterable by segment
- Order edit page — score and segment displayed in the Customer Trust meta box
- REST API — included in the customer endpoint payload
Updates appear as soon as a recalculation finishes. The Dashboard’s high-risk list (Priority Targets) is cached for up to 5 minutes (and refreshed whenever a customer changes segment); everywhere else reflects the live customer-row value.
Score Privacy #
Customers do not see their own trust score. The score is admin-only, intended for store-side moderation decisions. If you want to surface trust to customers in some form — e.g. VIP discount eligibility — use a segment-based action (loyalty plugin integration, role assignment) rather than exposing the raw number.
For GDPR data export requests, the customer’s score and signals are included in the export, since they are processed personal data. See Privacy & GDPR FAQ.
Updated on October 18, 2026