AC Oulu vs KTP

27 September 2025 · Veikkausliiga · 2025 · Referee Joona Kontinen

Full time 0 – 2

Half-time: 0–0

  • Rangel 52’ (pen)
  • Joni Mäkelä 75’

Match summary

KTP beat AC Oulu 2-0 on the road. It was goalless at half-time.

Rangel put KTP ahead from the penalty spot in the 52nd minute and Joni Mäkelä made it 0-2 in the 75th minute.

The chances backed that up: KTP created 1.74 expected goals (xG) from 8 shots to AC Oulu's 0.48 from 9.

Match stats

64% Possession 36%
9 Shots 8
3 Shots on target 4
7 Corners 5
527 Passes 300
83.1% Pass accuracy 83.3%
5 Tackles 6
13 Fouls 14
3 Yellow cards 3
0 Red cards 0
0 Offsides 1

Key events

AC Oulu KTP
Kick-off
3’
Petteri ForsellShot on target
5’
Aaro ToivonenShot on target
Joel LehtonenShot on target
6’
16’
19’
Albin LinnérFoul
Julius KörkköShot on target
24’
Half-time0-0
Second half underway
52’
RangelPenalty0-1 (KTP)
54’
59’
Atomu TanakaFoul
Justin RennicksMusa Jatta
60’
Shadirac SayShot on target
63’
65’
Aleksi TarvonenRangel
72’
Juho LehtirantaMikko Sumusalo
72’
Nathaniel TahmbiAtomu Tanaka
75’
Joni MäkeläRight foot shot0-2 (KTP)
Shadirac SayFoul
82’
86’
Mitchell GlassonPetteri Forsell
90+1’
Nathaniel TahmbiFoul
Full-time0-2

How the chances added up

Running total of expected goals (xG) for each side through the match. xG rates each chance by how often similar shots are scored. A goal is marked where it was scored.

0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.48 1.74 52’ Rangel (KTP), 0-1 52’ 75’ Joni Mäkelä (KTP), 0-2 75’ 0.0 0.5 1.0 1.5 2.0 0’ 15’ 30’ 45’ 60’ 75’ 90’ HT 0.48 1.74 52’ Rangel (KTP), 0-1 Rangel 52’ 75’ Joni Mäkelä (KTP), 0-2 Mäkelä 75’
AC Oulu 0.48 xGKTP 1.74 xG Goal

Tap a goal for the scorer and score.

Shot map

Every shot and where it was taken from.

 KTP attacking AC Oulu attacking 
52’ Rangel (KTP), penalty, 0.76 xG, goal 4’ Joona Toivio (KTP), from a corner, 0.35 xG, off target 28’ Albin Linnér (KTP), from a corner, 0.22 xG, off target 5’ Aaro Toivonen (KTP), open play, 0.21 xG, saved 63’ Shadirac Say (AC Oulu), from a corner, 0.20 xG, saved 75’ Joni Mäkelä (KTP), open play, 0.14 xG, goal 89’ Justin Rennicks (AC Oulu), from a corner, 0.08 xG, blocked 27’ Tuomas Kaukua (AC Oulu), open play, 0.05 xG, off target 24’ Julius Körkkö (AC Oulu), open play, 0.04 xG, saved 3’ Petteri Forsell (KTP), open play, 0.04 xG, saved 73’ Justin Rennicks (AC Oulu), open play, 0.04 xG, off target 13’ Julius Körkkö (AC Oulu), open play, 0.02 xG, blocked 6’ Joel Lehtonen (AC Oulu), open play, 0.02 xG, saved 35’ Niklas Jokelainen (AC Oulu), open play, 0.02 xG, off target 53’ Atomu Tanaka (KTP), open play, 0.02 xG, blocked 64’ Justin Rennicks (AC Oulu), open play, 0.01 xG, off target 58’ Joni Kauko (KTP), open play, 0.00 xG, blocked 52’ Rangel (KTP), penalty, 0.76 xG, goal 4’ Joona Toivio (KTP), from a corner, 0.35 xG, off target 5’ Aaro Toivonen (KTP), open play, 0.21 xG, saved 28’ Albin Linnér (KTP), from a corner, 0.22 xG, off target 63’ Shadirac Say (AC Oulu), from a corner, 0.20 xG, saved 75’ Joni Mäkelä (KTP), open play, 0.14 xG, goal 89’ Justin Rennicks (AC Oulu), from a corner, 0.08 xG, blocked 27’ Tuomas Kaukua (AC Oulu), open play, 0.05 xG, off target 24’ Julius Körkkö (AC Oulu), open play, 0.04 xG, saved 73’ Justin Rennicks (AC Oulu), open play, 0.04 xG, off target 3’ Petteri Forsell (KTP), open play, 0.04 xG, saved 13’ Julius Körkkö (AC Oulu), open play, 0.02 xG, blocked 6’ Joel Lehtonen (AC Oulu), open play, 0.02 xG, saved 35’ Niklas Jokelainen (AC Oulu), open play, 0.02 xG, off target 53’ Atomu Tanaka (KTP), open play, 0.02 xG, blocked 64’ Justin Rennicks (AC Oulu), open play, 0.01 xG, off target 58’ Joni Kauko (KTP), open play, 0.00 xG, blocked
Size shows xG Goal On target Off target or blocked

Hover or tap a shot for the player, minute and xG.

Lineups

AC Oulu 5-3-2 Starting XI
Kinn
Cassama
Pitkänen
Say
Jatta 60’
Lehtonen
Kaukua 78’
Jokelainen
Paananen
Paananen
Körkkö 60’
KTP 3-5-2 Starting XI
Linnér
Sumusalo 72’
Toivio
Linnér
Toivonen
Kauko
Tanaka 72’
Mäkelä
Paavola
Forsell 86’
Rangel 65’

Player stats

Goalkeeper1 player
Thomas Kinn
90′ 2 2 40 1 – – – –
Defenders7 players
90′ – 1 1 6 1 45 2 – –
90′ – 1 – 5 3 49 1 – – –
Shadirac Say
90′ 1 1 – 10 7 78 1 – –
Musa Jatta Taken off
61′ 1 1 – 5 1 42 – – – –
90′ – 1 – 9 – 57 1 – – –
Tuomas Kaukua Taken off
79′ – – – 2 1 16 2 – – –
Justin Rennicks Came on as a substitute
34′ – – – 4 2 5 – – – –
Midfielders4 players
90′ – – 43 4 0.31 – 1 5 1 3
Aleksi Paananen
90′ – – 63 – – 2 – 4 2 – –
90′ – – 52 – – – 2 1 1 1 –
Matias Ojala Came on as a substitute
34′ – – 12 1 0.04 1 – – – – –
Forwards2 players
Julius Körkkö Taken off
61′ – – 2 1 0.07 – – 7 3 8 –
Lamine Ghezali Came on as a substitute
16′ – – – – – – – 2 – 15 –
Came on Taken off Sent off Red is the most in that position for the team

Every player who took the pitch, starters first and then substitutes. A dash means none. xG and xA are expected goals and assists.

Form going into the game

Last five league games before this one, oldest first. Select one to open it.

Previous and next meeting

Shots, expected goals, timeline, lineups, team and player statistics from Bzzoiro Sports Data (sports.bzzoiro.com). Results and odds from football-data.co.uk. Referee data before 2025/26 from the Transfermarkt datasets project.