Spaces:
Running on Zero
Running on Zero
A newer version of the Gradio SDK is available: 6.25.0
RazorShield — Merchant Incident Detection & Persistent Fraud Spikes Documentation
This document describes the merchant-level incident detection layer, persistent anomaly tracking, state transitions, campaign awareness, detection delay measurement, and replay evaluation for RazorShield.
Incident Score Disclaimer: The merchant incident score is a policy operating score, NOT a calibrated probability. It combines merchant temporal spike probabilities, fraud excess ratios, and window persistence counters under configurable policy weights.
1. Merchant Incident Layer Architecture
graph TD
A["Incoming Transaction (TransactionInput)"] --> B["Calibrated Transaction Model"]
A --> C["Merchant Temporal State Manager"]
B --> C
C --> D["Deployable Spike Model (P_spike)"]
D --> E["Merchant Incident State (MerchantIncidentState)"]
C --> E
E --> F["Incident Policy Engine (Persistence N=2)"]
F --> G["Incident Decision: NORMAL / INVESTIGATE / ALERT"]
G --> H["Structured JSON Incident Evidence"]
Key Distinction: Transaction vs. Merchant Incident Risk
- Transaction Risk Engine: Evaluates immediate transaction-level risk ($P_{\text{calibrated}}$) and 15-minute rolling merchant spike risk ($P_{\text{spike}}$).
- Merchant Incident Engine: Tracks persistent anomaly trends across consecutive temporal windows. A single isolated suspicious transaction does NOT trigger a merchant fraud incident. An incident is declared (
ALERT) only when an anomaly persists for $N$ consecutive windows (default $N = 2$).
2. Incident States & Policy Thresholds
| Incident State | Severity | Criteria / Policy Thresholds | Action |
|---|---|---|---|
NORMAL |
LOW |
No persistent anomaly (consecutive_windows == 0, incident_score < 0.35) |
Standard transaction processing |
INVESTIGATE |
MEDIUM |
Single suspicious window detected (consecutive_windows == 1, 0.35 <= incident_score < 0.65) |
Flag merchant for monitoring; require step-up verification |
ALERT |
HIGH |
Persistent fraud attack ($N \ge 2$ consecutive suspicious windows, incident_score >= 0.65) |
Declare Merchant Fraud Incident; initiate automated mitigation |
3. Campaign Awareness Policy
During a registered promotional campaign (e.g., FLASH_SALE with 4.0x expected volume multiplier):
- Volume velocity expectations are adjusted to account for legitimate promotional traffic.
- Fraud-excess signals remain strictly active: High fraud excess ratios ($\ge 1.8\text{x}$) or elevated transaction fraud probabilities still increment persistent incident window counters.
- Flash Sale (Normal Traffic): High velocity (4.5x), Fraud Excess ~1.0x $\rightarrow$
NORMAL(0.00%false-alert rate). - Flash Sale (With Fraud Attack): High velocity (4.5x), Fraud Excess ~3.5x $\rightarrow$
ALERTafter $N=2$ windows.
4. Structured Evidence JSON Schema
{
"merchant_id": "M_102",
"incident_state": "ALERT",
"severity": "HIGH",
"incident_score": 0.8421,
"spike_probability": 0.4500,
"fraud_excess_ratio": 3.50,
"velocity_ratio": 4.50,
"suspicious_windows": 2,
"total_suspicious_windows": 2,
"campaign_active": true,
"policy_mode": "BALANCED",
"signals": [
{
"name": "spike_probability",
"value": 0.45,
"direction": "elevated"
},
{
"name": "fraud_excess_ratio",
"value": 3.5,
"direction": "elevated"
},
{
"name": "velocity_ratio",
"value": 4.5,
"direction": "suppressed"
},
{
"name": "consecutive_suspicious_windows",
"value": 2,
"direction": "persistent"
}
]
}
5. Replay Evaluation & Detection Delay Benchmarks
Replay of 21,352 Dataset B test transactions through the Merchant Incident Engine:
- Total Simulated Transactions:
21,352 - Average Incident Decision Latency:
0.7298 msper transaction - Detection Delay:
- Median Detection Delay:
2.0 windows(369.0 secondsfrom fraud attack onset to firstALERT) - P95 Detection Delay:
2.0 windows(369.0 seconds)
- Median Detection Delay:
- Merchant Incident Precision:
80.47%(80.47% precision on persistent fraud incidents)
Performance Across Demo Scenarios
| Scenario Type | Expected Incident State | Simulated Rows | False Incident Alert Rate | Merchant Incident Precision |
|---|---|---|---|---|
Scenario A: normal |
NORMAL |
6,447 | 0.00% |
N/A |
Scenario B: volume_only_spike (Flash Sale) |
NORMAL |
5,866 | 0.00% |
N/A |
Scenario C: amount_shift (Bulk Shift) |
NORMAL |
3,627 | 0.00% |
N/A |
Scenario D: fraud_spike (Fraud Attack) |
ALERT |
5,412 | 1.07% |
80.47% |
6. Known Limitations
- Window Resolution: Incident tracking currently uses 1-minute window steps. Faster sub-minute aggregation can reduce detection delay for extremely high-throughput merchants.
- Distributed Persistence: Current
MerchantIncidentStatestores window counters in-memory. Multi-region deployments require Redis state synchronization.