Methodology

How we collect data, how match scores are calculated, and why paid placement cannot move them. Published in full because a comparison site asking for your trust owes you the arithmetic.

Where the data comes from

Every numeric value on this site carries a source URL and the date we read it. There are four kinds:

  • Provider site — read from the provider's own published pricing or documentation page.
  • Regulator — read from a regulatory register. Licence data is only ever this.
  • Provider claimed — supplied by someone who has verified control of the listing.
  • Press — reported by a named publication, used sparingly and never for fees.

A value with no source is not published. The page shows “Not published” instead. This is enforced in code at the point data is read from the database, not in the templates, so a new page inherits the rule automatically. We would rather show a gap than a guess.

How fees are normalised

Most directories store a fee as a string — “1.4% + 25c”, “Interchange++”, “Contact for pricing”. Strings cannot be sorted, compared or modelled. We store the percentage as an integer number of basis points and the fixed component as integer minor units, alongside the original string. There is no floating-point arithmetic anywhere in the money path.

Interchange++ pricing is a markup over interchange, not an all-in rate. Where we model it, we add an assumed 0.25% interchange and 0.10% scheme fees and flag that we have done so. That assumption is visible on every estimate that uses it.

The match score

100 points across six components:

ComponentMaxHow it is earned
Coverage25Proportion of your selling countries covered. An explicit country listing counts in full, global coverage at 0.75, a region-only match at 0.6.
Payment methods2520 points for the methods you marked required, 5 for nice-to-haves. If you require none, the weight moves to coverage.
Industry20Explicit acceptance in the provider's own criteria scores 20; listed for the industry scores 17; category implies it scores 14; silence scores 8. Explicit exclusion disqualifies.
Cost15Estimated effective rate scored against the spread of the other qualifying providers in your run — not a fixed threshold. No published rate scores a neutral 6.
Capabilities10Proportion of your required features supported.
Integration5Channel supported (2), SDK for your stack (2), instant sandbox (1).

Hard filters

Five conditions disqualify outright. A disqualified provider is never silently dropped — it appears in a collapsed list with the specific reason:

  1. Your country of incorporation is on the provider's exclude list.
  2. Your industry is explicitly declined.
  3. Your volume is below their published onboarding floor.
  4. Your chargeback rate exceeds their published ceiling.
  5. They require processing history you do not have.

Modifiers

  • +3 the listing is claimed and maintained by the provider.
  • −5 our data is more than 180 days old.
  • −8 no licence found in your country, where the industry or the provider's own criteria make one necessary.
  • +2 the provider accepts introductions through us — and we disclose this on every affected result, because it is the one modifier with a commercial dimension.

What money does not buy

Paid placement contributes exactly zero to any score. The matching engine does not read featured status, affiliate URLs, or the sponsorship table. Sponsored providers appear in a separate labelled block, outside and above the ranked list, with rel="sponsored" on the link. We assert this with an automated test that scores the same provider twice — once marked as featured, once not — and fails the build if the two results differ in any respect.

We do earn commission on some outbound links. That commission does not change a score, a position, or the price you are quoted. If it ever did, the independence would be the only thing we had actually sold.

Reproducibility

Every match run stores the engine version that produced it. When we change the weights, old shared results keep their original scores and are labelled as historical rather than silently recalculated. The version history lives in the repository.

Getting it wrong

We will have figures that are out of date or simply wrong. Every provider page has a report link that needs no account, and every correction is recorded in the change ledger with its date and source. If you work at a provider, claim your listing and fix it directly.