Merchant Performance Analyzer
Find where payment performance is leaking
- 1. Upload transactions
- 2. Diagnose performance
- 3. See where it leaks
6 diagnostics · deterministic
runs in your browser · nothing uploaded
Drop a transaction .csv
or pick one from your machine
transaction_id · timestamp · amount · currency · payment_status
up to 10 MB / 250,000 rows
- Authorization approval rate01
approved ÷ (approved + declined), with the decisioned base
- Decline drivers02
top issuer / network decline codes, rolled up by category
- Technical errors03
integration and connectivity failures, counted separately
- Retry & recovery04
declined-then-approved chains, and value recovered
- Segment performance05
approval by method, 3DS, country — z-tested against the book
- Post-payment lifecycle06
refunds, chargebacks and reversals, per currency
file.text(), never uploaded, never sent to a model. Files with card-number / CVV / personal-data columns are rejected outright. Privacy →Expected CSV format & downloads
Required (aliases accepted): transaction_id, timestamp, amount, currency, payment_status.
Useful optional: payment_method, card_scheme, merchant_country, issuer_country, channel, psp, auth_3ds, decline_code, is_retry, original_transaction_id, fee_amount, lifecycle_status, refund_amount, chargeback_amount, is_refunded, is_chargeback.
payment_statusis the authorization outcome only — approved / declined / error / pending. Approval rate = approved ÷ (approved + declined); errors and pending are excluded.- Refunds and chargebacks go in
lifecycle_status(orrefund_amount/chargeback_amount), never inpayment_status. - Amounts in major units, any currency; kept per currency, never summed across them.
- No PANs, card numbers, CVVs, IBANs, names, emails or addresses.