Transparent by design
Methodology
The ranking is deterministic, role-specific, context-aware and versioned. The result should always be explainable from the underlying data.
Positions are ranked separately. External match statistics are normalized per 90, and positive counts are adjusted for pre-match opponent Elo, domestic league strength, and Champions League stage. Metrics become percentiles within the same position cohort.
Award position: player profile, not match formation
From formula v1.4, a player's award category comes from /players/profiles.position: Attacker, Midfielder, Defender or Goalkeeper. Tactical match labels do not move a winger into the midfield ranking. Every covered club and national-team appearance is aggregated once into that player's profile category, including appearances with a different match-position label.
The current verified profile position is used for all imported seasons. This is a consistent award-classification policy, not proof of the player's historical position in each year. Profile evidence and the category used are recorded with the score and frozen in its published snapshot.
From v1.5, when the API profile position is unavailable, an explicitly reviewed position can supply the award category across imported seasons. Manual reviews retain their reviewer, date and source-file hash and are labeled separately from verified API evidence. A known API profile always takes priority, and catalog refreshes do not erase manual reviews. Players without either source remain excluded, never guessed from match data; invalid provider ID 0 remains excluded pending identity repair. Explicitly approved duplicate provider IDs resolve to one canonical player while original raw evidence is retained. Corrections produce new ranking snapshots; earlier formulas and already-published snapshots remain unchanged.
From v1.6, an explicitly approved, player-specific award-position override can supersede a known API profile. Michael Olise (API-Football ID 19617) has an owner-reviewed Attacker category for all imported seasons. This exception records its reviewer and approval-source hash in the immutable formula; the original Midfielder profile and its evidence remain unchanged. Other players keep the profile-first, reviewed-fallback policy. Refreshes preserve the active exception, and corrected rankings are published as new snapshots rather than rewriting history. Scoring weights and trophy rules are unchanged.
Missing provider metrics are disabled cohort-wide below 0.15 coverage and their weight is redistributed; absence is never silently treated as zero. The base score blends performance (92%) and availability (8%), while eligibility minutes scale with season progress. Rankings are versioned snapshots: daily backfill publications simulate the eventual weekly updates, and movement compares with the preceding published snapshot in the same season.
National tournaments and award periods
Alongside the five domestic leagues and Champions League, Merit supports the World Cup, Euros, Copa América, Africa Cup of Nations, Asian Cup, CONCACAF Gold Cup and UEFA Nations League wherever player statistics are available. Coverage is checked per provider edition, not assumed from the competition name. Separate qualification competitions and friendlies are not included in this archive scope; qualifiers bundled into an edition are retained and identified by stage.
National-team appearances belong to the award period of the actual match date, not simply the provider's edition label. June and July tournaments close the season just ended: the 2026 World Cup belongs to 2025/26, while the December 2022 World Cup belongs to 2022/23. Multi-year editions can therefore contribute performance to more than one season. A title belongs to the period in which it is awarded, and its contribution uses the entire winning campaign.
Club and national teams have separate Elo pools. National teams do not affect domestic league-strength comparisons, and national league-strength multipliers stay at 1. Centralized national-tournament matches and Nations League final-four matches are treated as neutral, with no nominal home advantage; Nations League home-and-away rounds retain home advantage. National performance-stage factors are 1.00 for group/qualification/playoff rounds, 1.05 for round of 16, 1.08 for quarterfinals, 1.10 for semifinals and 1.15 for the final. Existing club performance-context rules are preserved.
Trophies: participation, not reputation
Formula v1.6 includes a 5% achievement component. Historical snapshots retain the formula with which they were published.
- A completed domestic league title is worth 3 points; Champions League and the seven included national-team titles are worth 5 points.
- Each title's points are multiplied by the player's normalized campaign contribution, not granted to everyone on the winning squad.
- Earned points are summed and capped at 10, then converted to an achievement score from 0 to 100.
- The final score is 95% of the existing performance/availability blend plus 5% achievement score.
participation = min(1, player minutes / available match minutes)campaign contribution = sum(participation × stage weight) / sum(stage weight)
The denominator includes every match in the winning team's campaign, including games the player missed. A registered player who never plays receives zero. Extra-time matches use 120 minutes; regulation matches use 90. Penalty-shootout status alone does not establish duration: elapsed-time evidence is required. Goals, assists and other performance metrics are not counted again in trophy credit.
Contribution weights are 1.00 for league/group/qualification rounds, 1.10 for knockout playoffs or round of 32, 1.15 for round of 16, 1.30 for quarterfinals, 1.50 for semifinals and 1.75 for the final. Exact provider-stage aliases and these weights are retained in immutable, checksummed policies.
League winners require final standings after a complete league campaign; cup winners require a completed title final with an explicit winning team. Titles enter the score only after the award date. Missing outcomes, minutes, player payloads or unknown stages do not become invented points: they block trophy publication and remain recorded for review. The weights are transparent modelling choices, not a claim that every subjective choice disappears.
Historical coverage and reproducibility
Rankings can be published from covered matches when the provider has no usable player statistics for other completed fixtures. These fixtures are omitted from performance and availability calculations, not turned into zeroes. Each new snapshot freezes its coverage counts and missing competition/stage groups; incomplete snapshots display a coverage warning. Unprocessed fixtures and other data-integrity errors still block publication, and trophy credit still requires the complete winning-team campaign. If provider goal and shot counts contradict each other, the impossible conversion ratio is unavailable; Merit does not invent replacement counts.
The archive targets 2015/16–2025/26 across all six club competitions, plus completed 2026/27 matches and available national editions. Import support does not mean every season is already loaded: provider gaps are recorded explicitly. Raw responses are retained, repeated imports skip completed fixtures, and new rankings are published under a new formula version without replacing old snapshots. Player pages explain earned title points and campaign participation from the published snapshot.
Formula v1.6
GK
Position cohort| Metric | Weight |
|---|---|
| Save percentage | 26% |
| Saves / 90 | 20% |
| Clean-sheet rate | 15% |
| Goals conceded / 90 | 14% |
| Penalties saved / 90 | 10% |
| Long-pass accuracy | 7% |
| Accurate long passes / 90 | 4% |
| Errors leading to goal / 90 | 4% |
DEF
Position cohort| Metric | Weight |
|---|---|
| Duel win rate | 18% |
| Aerial duel win rate | 14% |
| Interceptions / 90 | 16% |
| Tackles / 90 | 16% |
| Clearances / 90 | 10% |
| Recoveries / 90 | 10% |
| Accurate passes / 90 | 8% |
| Pass accuracy | 4% |
| Errors leading to goal / 90 | 4% |
FWD
Position cohort| Metric | Weight |
|---|---|
| Goals / 90 | 30% |
| Assists / 90 | 16% |
| Shots on target / 90 | 12% |
| Key passes / 90 | 12% |
| Successful dribbles / 90 | 12% |
| Duel win rate | 8% |
| Goal conversion | 10% |
MID
Position cohort| Metric | Weight |
|---|---|
| Key passes / 90 | 16% |
| Assists / 90 | 10% |
| Accurate passes / 90 | 12% |
| Pass accuracy | 8% |
| Interceptions / 90 | 14% |
| Tackles / 90 | 12% |
| Duel win rate | 10% |
| Successful dribbles / 90 | 8% |
| Goals / 90 | 10% |