eyupatakanozkan

Analysis of Weekly Football Matches

Football project

ABOUT PROJECT

This project documents a long-running tradition with my friends from Esat Mahallesi, where we have been playing weekly football matches for more than 15 years. The purpose of this project was to track, organize, and analyze our games in a structured way. I wanted to capture not only the scores, but also the captains, teams, match dates, and locations in order to create a fun, competitive system that keeps everyone engaged.

Every week, the winning captain becomes the captain again for the following match. If a captain manages to win five matches in a row, they receive a special reward. At the end of the year, there are additional awards such as the loyalty prize for the player who attended the most games, and a prize for the player who finishes first in the league table. These rewards, along with the detailed statistics, make our weekly matches more exciting and motivating

Process & Steps

1- Data Recording in Excel

  • I created a structured system in Excel, where each sheet records the details of a match.

  • For every game, I documented:

    • A Team and B Team player lists

    • The score of the match

    • The captains of each team

    • The date of the game

    • The field/location where the match was played

You can access the excel file  from the GitHub link or image below.

2- Data Transformation with Power Query

  • Using Power Query, I transformed the raw sheets into structured tables.

  • We combined multiple sheets into a single dynamic dataset that automatically updates when a new match is added.

  • Custom logic was applied to identify each team’s captain (the first player listed), and we created clean tables with consistent columns for analysis.

  • This step ensured the data was always standardized and ready for further use in Power BI.You can access the excel file  from the GitHub link or image below.

You can access the power query table from the GitHub link or images below.

3- Analysis & Visualization with Power BI

In this stage, I designed multiple dashboard sections in Power BI, each focusing on a different aspect of match and player performance. The goal was to move beyond raw statistics and build meaningful visualizations that tell a story about individual and team contributions.


Overview Dashboard

This section provides a high-level snapshot of the dataset:

  • Attendance per Player – shows how many matches each player attended.

  • Unique Player Count – number of different players who participated.

  • Match Count – total matches played.

  • Earliest Match Date – when the first match was played.

  • Highest & Lowest Scoring Matches – dates of the matches with the most and fewest goals.

  • Match Location Distribution – a pie chart showing the percentage of games played at different venues.

  • Goal Distribution Over Time – a line chart visualizing how goals were scored historically.


Points & Performance Dashboard

This section introduces a custom points table using a non-standard scoring rule:

  • Win = +1 point, Draw = 0 points, Loss = -1 point.

  • Players were ranked based on their accumulated points.

  • A separate ranking highlighted players by their Unbeaten Percentage ((Wins + Draws) / Total Matches).

  • Another visualization ranked players by their Unbeaten Count (total matches without a loss).

  • Finally, I designed a “Most Losses Ranking” table, where players with the highest loss count appeared at the top, providing insight into negative trends.


Player Historical Performance Dashboard

This section tracks player statistics over time and provides individual career summaries:

  • Performance Trend Line – each player’s performance visualized chronologically.

  • Matches Played – total appearances for each player.

  • Unbeaten Percentage – percentage of matches without a defeat.

  • Unbeaten Count – total matches without a loss.

  • Points Table Score – player’s current points using the custom scoring system.

  • First & Last Match Dates – timeline of player participation.

  • Lowest-Scoring Match Date – when the player was involved in the least goal-heavy match.

  • Highest-Scoring Match Date – when the player participated in the most goal-heavy match.


Captaincy Analysis Dashboard

This section focuses exclusively on leadership impact:

  • Captaincy Count – number of times each player served as captain.

  • Captaincy Distribution Pie Chart – percentage breakdown of captaincies across all players.

  • Win Percentage as Captain – players ranked by their win ratio while serving as captain.

  • Unbeaten Percentage as Captain – highlighting which captains led their teams to the most stable results.


Key DAX Measures and Logic Used

To power these insights, I developed several custom measures in DAX, including but not limited to:

  • Result Calculation (Win/Draw/Loss):

     
    Win Count = CALCULATE(COUNTROWS('FootballData'), 'FootballData'[Result] = "Win")
    Draw Count = CALCULATE(COUNTROWS('FootballData'), 'FootballData'[Result] = "Draw")
    Loss Count = CALCULATE(COUNTROWS('FootballData'), 'FootballData'[Result] = "Loss")
  • Custom Points Table:

     
    Points = [Win Count] * 1 + [Draw Count] * 0 + [Loss Count] * -1
  • Unbeaten Percentage:

     
    Unbeaten % = DIVIDE([Win Count] + [Draw Count], [Total Matches], 0)
  • Captaincy Unbeaten %:

     
    Captain Unbeaten % = DIVIDE([Captain Wins] + [Captain Draws], [Captaincy Count], 0)
  • Date Calculations: Used MINX, MAXX, and CALCULATE to dynamically return first/last match dates, as well as dates of highest- and lowest-scoring matches.


Outcomes

Through these dashboards, the analysis revealed:

    • Clear comparisons between players in terms of consistency, reliability, and leadership.

    • Unique insights such as which captains had the strongest unbeaten records, which players accumulated the most points, and who suffered the most losses.

    • Chronological visualizations that allowed tracking performance trends over time.

You can access the Power BI file from the GitHub logo below

GitHub Integration

Since the website includes a GitHub link, the following items were uploaded to a public repository:

You can access the full repository from the GitHub logo below.