Match record
Superliga · Denmark · 2025/2026
19 Oct 2025 · Completed fixture
Viborg FF vs Odense BK
- Competition
- Superliga (Denmark)
- Season
- 2025/2026
- Date
- 19 Oct 2025
- Venue
- Energi Viborg Arena
- Status
- Completed
- Half time
- 1–0
Match events
Goals, cards, substitutions and other recorded events in chronological order.
- 5' · Goal1-0VFFJakob Vester · assist Hjalte BidstrupLeft foot shot
- 10' · SubstitutionODEYaya Bojang on · Bjørn Paulsen off10' · SubstitutionYaya Bojang on · Bjørn Paulsen off
- 57' · Goal1-1ODENoah Ganaus · assist Rasmus FalkRight foot shot57' · Goal1-1Noah Ganaus · assist Rasmus FalkRight foot shot
- 60' · SubstitutionVFFAsker Beck on · Jakob Vester off
- 60' · SubstitutionVFFDorian Hanza on · Tim Freriks off
- 60' · Goal1-2ODEJona Niemiec · assist Noah GanausLeft foot shot60' · Goal1-2Jona Niemiec · assist Noah GanausLeft foot shot
- 63' · SubstitutionODEJay-Roy Grot on · Jona Niemiec off63' · SubstitutionJay-Roy Grot on · Jona Niemiec off
- 65' · SubstitutionVFFSami Jalal on · Bilal Brahimi off
- 65' · SubstitutionVFFYonis Lucien Alexandre Njoh on · Charly Nouck off
- 79' · Yellow cardODENoah GanausTime wasting79' · Yellow cardNoah GanausTime wasting
- 81' · SubstitutionVFFMads Søndergaard on · Srdjan Kuzmic off
- 87' · SubstitutionODEMax Ejdum on · Ismahila Ouédraogo off87' · SubstitutionMax Ejdum on · Ismahila Ouédraogo off
- 87' · SubstitutionODEMarcus McCoy on · Adam Sørensen off87' · SubstitutionMarcus McCoy on · Adam Sørensen off
Timeline of imported events only. The full event log with teams and players is listed in the table below.
- MinEventPlayers
- 5'GoalViborg FF1-0Left foot shotJakob Vester · assist Hjalte Bidstrup
- 10'SubstitutionOdense BKYaya Bojang on · Bjørn Paulsen off
- 57'GoalOdense BK1-1Right foot shotNoah Ganaus · assist Rasmus Falk
- 60'SubstitutionViborg FFAsker Beck on · Jakob Vester off
- 60'SubstitutionViborg FFDorian Hanza on · Tim Freriks off
- 60'GoalOdense BK1-2Left foot shotJona Niemiec · assist Noah Ganaus
- 63'SubstitutionOdense BKJay-Roy Grot on · Jona Niemiec off
- 65'SubstitutionViborg FFSami Jalal on · Bilal Brahimi off
- 65'SubstitutionViborg FFYonis Lucien Alexandre Njoh on · Charly Nouck off
- 79'Yellow cardOdense BKTime wastingNoah Ganaus
- 81'SubstitutionViborg FFMads Søndergaard on · Srdjan Kuzmic off
- 87'SubstitutionOdense BKMax Ejdum on · Ismahila Ouédraogo off
- 87'SubstitutionOdense BKMarcus McCoy on · Adam Sørensen off
| Min | Event | Team | Players |
|---|---|---|---|
| 5' | Goal1-0Left foot shot | Viborg FF | Jakob Vester · assist Hjalte Bidstrup |
| 10' | Substitution | Odense BK | Yaya Bojang on · Bjørn Paulsen off |
| 57' | Goal1-1Right foot shot | Odense BK | Noah Ganaus · assist Rasmus Falk |
| 60' | Substitution | Viborg FF | Asker Beck on · Jakob Vester off |
| 60' | Substitution | Viborg FF | Dorian Hanza on · Tim Freriks off |
| 60' | Goal1-2Left foot shot | Odense BK | Jona Niemiec · assist Noah Ganaus |
| 63' | Substitution | Odense BK | Jay-Roy Grot on · Jona Niemiec off |
| 65' | Substitution | Viborg FF | Sami Jalal on · Bilal Brahimi off |
| 65' | Substitution | Viborg FF | Yonis Lucien Alexandre Njoh on · Charly Nouck off |
| 79' | Yellow cardTime wasting | Odense BK | Noah Ganaus |
| 81' | Substitution | Viborg FF | Mads Søndergaard on · Srdjan Kuzmic off |
| 87' | Substitution | Odense BK | Max Ejdum on · Ismahila Ouédraogo off |
| 87' | Substitution | Odense BK | Marcus McCoy on · Adam Sørensen off |
Events are shown exactly as imported. A dash means the provider recorded no player for that event.
Team performance
Aggregated from player match data — these are not official provider team statistics. Only statistics recorded for both teams are compared.
Aggregated from player match data: summed from the individual statistics of 31 players in this fixture. These are not official provider team statistics. "Not available" means the provider sent no value — it never means zero.
Match performers
Existing match-level values only. No new rating, ranking or performer formula is applied.
- Lucas LundGoalkeeper · 90'
- Rtg
- 7.30
- G
- 0
- A
- 0
- Hjalte BidstrupDefender · 90'
- Rtg
- 7.27
- G
- 0
- A
- 1
- Jeppe GrønningMidfielder · 90'
- Rtg
- 7.10
- G
- 0
- A
- 0
- Thomas JørgensenMidfielder · 90'
- Rtg
- 7.06
- G
- 0
- A
- 0
- Stipe RadicDefender · 90'
- Rtg
- 6.96
- G
- 0
- A
- 0
- Noah GanausAttacker · 90'
- Rtg
- 8.03
- G
- 1
- A
- 1
- Rasmus FalkMidfielder · 90'
- Rtg
- 7.69
- G
- 0
- A
- 1
- Fiete ArpAttacker · 90'
- Rtg
- 7.32
- G
- 0
- A
- 0
- Nicolas BürgyDefender · 90'
- Rtg
- 7.12
- G
- 0
- A
- 0
- Jona NiemiecAttacker · 62'
- Rtg
- 7.08
- G
- 1
- A
- 0
Existing player match values only — rating, goals and assists as imported, ordered by the stored provider rating. No performer score is calculated. "N/A" means the provider sent no value.
Highest match impact
- 01Rasmus FalkOdense BK75.6
- 02Lucas LundViborg FF74.9
- 03Noah GanausOdense BK73.1
Only appearances with a valid, fully covered match impact value.
Highest rating
- 01Noah GanausOdense BK8.03
- 02Rasmus FalkOdense BK7.69
- 03Fiete ArpOdense BK7.32
Provider match rating, shown as imported.
Most key passes
- 01Fiete ArpOdense BK4
- 02Thomas JørgensenViborg FF3
- 03Nicolas BürgyOdense BK2
Imported match statistic.
Most shots
- 01Noah GanausOdense BK4
- 02Jona NiemiecOdense BK3
- 03Hjalte BidstrupViborg FF2
Imported match statistic.
Most tackles
- 01Jeppe GrønningViborg FF4
- 02Rasmus FalkOdense BK3
- 03Ismahila OuédraogoOdense BK3
Imported match statistic.
Most successful dribbles
- 01Thomas JørgensenViborg FF3
- 02Fiete ArpOdense BK2
- 03Rasmus FalkOdense BK2
Imported match statistic.
Lineups
Starters and substitutes as imported. Substitutes without recorded minutes are flagged as unused and never counted as an appearance.
Viborg FF
Formation 4-3-3Starting eleven
| # | Player | Position | Min | Rating | G | A | Cards | Impact |
|---|---|---|---|---|---|---|---|---|
| 24 | Daniel Anyembe | Defender | 90 | 6.49 | 0 | 0 | 0 | 50.6 |
| 26 | Hjalte Bidstrup | Defender | 90 | 7.27 | 0 | 1 | 0 | 45.0 |
| 13 | Jeppe Grønning | Midfielder | 90 | 7.10 | 0 | 0 | 0 | — |
| 1 | Lucas Lund | Goalkeeper | 90 | 7.30 | 0 | 0 | 0 | 74.9 |
| 55 | Stipe Radic | Defender | 90 | 6.96 | 0 | 0 | 0 | 53.1 |
| 10 | Thomas Jørgensen | Midfielder | 90 | 7.06 | 0 | 0 | 0 | 56.1 |
| 30 | Srdjan Kuzmic | Defender | 81 | 6.35 | 0 | 0 | 0 | — |
| 21 | Bilal Brahimi | Attacker | 65 | 6.90 | 0 | 0 | 0 | 50.4 |
| 11 | Charly Nouck | Attacker | 65 | 6.19 | 0 | 0 | 0 | — |
| 37 | Jakob Vester | Midfielder | 60 | 6.95 | 1 | 0 | 0 | — |
| 9 | Tim Freriks | Attacker | 60 | 6.26 | 0 | 0 | 0 | — |
Substitutes
| # | Player | Position | Min | Rating | G | A | Cards | Impact |
|---|---|---|---|---|---|---|---|---|
| 8 | Asker Beck | Midfielder | 30 | 6.55 | 0 | 0 | 0 | — |
| 19 | Dorian Hanza | Attacker | 30 | 6.44 | 0 | 0 | 0 | — |
| 29 | Sami Jalal | Midfielder | 25 | 6.57 | 0 | 0 | 0 | — |
| 7 | Yonis Lucien Alexandre Njoh | Attacker | 25 | 6.51 | 0 | 0 | 0 | — |
| 6 | Mads Søndergaard | Midfielder | 9 | 6.37 | 0 | 0 | 0 | — |
| 16 | Filip Djukic Unused | Goalkeeper | — | — | — | — | — | — |
| 33 | Frederik DamkjerUnused | Midfielder | — | — | — | — | — | — |
| 18 | Jean Manuel MbomUnused | Defender | — | — | — | — | — | — |
| 32 | Lukas KirkegaardUnused | Defender | — | — | — | — | — | — |
Odense BK
Formation 3-4-1-2Starting eleven
| # | Player | Position | Min | Rating | G | A | Cards | Impact |
|---|---|---|---|---|---|---|---|---|
| 7 | Fiete Arp | Attacker | 90 | 7.32 | 0 | 0 | 0 | 72.8 |
| 13 | Julius Berthel Askou | Defender | 90 | 6.88 | 0 | 0 | 0 | 52.3 |
| 20 | Leeroy Owusu | Midfielder | 90 | 6.99 | 0 | 0 | 0 | 62.2 |
| 5 | Nicolas Bürgy | Defender | 90 | 7.12 | 0 | 0 | 0 | 64.0 |
| 17 | Noah Ganaus | Attacker | 90 | 8.03 | 1 | 1 | 1Y | 73.1 |
| 8 | Rasmus Falk | Midfielder | 90 | 7.69 | 0 | 1 | 0 | 75.6 |
| 16 | Viljar Myhra | Goalkeeper | 90 | 6.72 | 0 | 0 | 0 | 48.5 |
| 3 | Adam Sørensen | Midfielder | 87 | 7.07 | 0 | 0 | 0 | 53.9 |
| 22 | Ismahila Ouédraogo | Midfielder | 87 | 6.88 | 0 | 0 | 0 | 63.6 |
| 11 | Jona Niemiec | Attacker | 62 | 7.08 | 1 | 0 | 0 | 69.2 |
| 4 | Bjørn Paulsen | Defender | 11 | 6.30 | 0 | 0 | 0 | — |
Substitutes
| # | Player | Position | Min | Rating | G | A | Cards | Impact |
|---|---|---|---|---|---|---|---|---|
| 24 | Yaya Bojang | Defender | 79 | 6.99 | 0 | 0 | 0 | 60.0 |
| 31 | Jay-Roy Grot | Attacker | 28 | 6.11 | 0 | 0 | 0 | — |
| 15 | Marcus McCoy | Defender | 3 | — | 0 | 0 | 0 | — |
| 18 | Max Ejdum | Midfielder | 3 | — | 0 | 0 | 0 | — |
| 26 | Elias Hansborg-SørensenUnused | Attacker | — | — | — | — | — | — |
| 14 | Gustav GrubbeUnused | Midfielder | — | — | — | — | — | — |
| 29 | James GomezUnused | Defender | — | — | — | — | — | — |
| 30 | Theo SanderUnused | Goalkeeper | — | — | — | — | — | — |
| 23 | William MartinUnused | Midfielder | — | — | — | — | — | — |
Formations
Starting shapes as recorded by the provider.
Viborg FF · Home
Viborg FF lined up 4-3-3 in front of the goalkeeper.
Odense BK · Away
Odense BK lined up 2-1-4-3 in front of the goalkeeper.
- Viborg FF
- 4-3-3
- Odense BK
- 3-4-1-2
Methodology
Match data comes from the Sportmonks import. Only completed fixtures carry appearances, player statistics and match impact; team figures on this page are summed from individual player match data, and a value the provider never sent stays unavailable rather than becoming a zero.
Data source
Match, lineup, event and player statistics come from Sportmonks and are stored per fixture. Only completed fixtures with recorded minutes are aggregated — announced lineups and future fixtures are excluded.
Per 90 minutes
A per-90 value scales a season total to a full match: total × 90 ÷ minutes played. It is not calculated when minutes are missing or zero.
Missing data
The provider omits some statistics instead of sending a zero. A missing value is shown as "not available" and never converted to 0, so rates and percentiles are only produced where the underlying fields genuinely exist.
Impact Score
The Football Performance Lab Impact Score is an experimental in-house model that combines role-relative percentile families with explicit weights. It is not an official rating and not a measure of transfer value.
Minimum samples
Values are calculated internally from 180 minutes, but a player is only shown publicly with a ranked Impact Score from 360 minutes and 5 appearances, with at least 90% metric coverage and an established role. A single appearance contributes a match impact observation from 30 minutes.