Data Scientist & Analyst specializing in predictive modeling, statistical analysis, and translating complex datasets into actionable business intelligence.
In professional football, league tables only measure efficiency—who accumulated the most points. They fail to capture which teams actually provide the most heart-stopping drama for the fans.
The objective of this project was to look beyond traditional point standings and quantitatively identify the most entertaining teams in the Zimbabwe Premier Soccer League (ZimPSL). I hypothesized that “entertainment” can be mathematically defined as teams that play high-stakes, chaotic football: scoring frequently while simultaneously leaving their defense exposed to concede just as often.
Because consolidated historical statistics for the ZimPSL are not readily available in clean, centralized databases, acquiring the data required building a custom extraction pipeline.
BeautifulSoup and Requests in Python to parse unstructured historical seasonal league tables directly from Wikipedia (spanning 2017–2024).Pandas to resolve inconsistencies caused by varying league structures (e.g., seasons with 18 teams versus irregular match counts due to disruptions).To rank the teams objectively, I engineered a custom metric. Instead of measuring win efficiency, this metric calculates the total volume of goalmouth action a team produces per match:
\[\text{Entertainment Index} = \text{Average Goals Scored} (GF) + \text{Average Goals Conceded} (GA)\]This stacked bar chart breaks down the direct distribution of goals scored versus goals conceded. CAPS United emerged as the ultimate entertainer of Zimbabwean football, averaging a massive 2.25 total goals per match across 170 games. They tightly balance high attacking output with a fragile defensive line.

By plotting Attacking Threat (Goals Scored) on the X-axis against Defensive Solidity (Goals Conceded - inverted) on the Y-axis, we can cluster the league into four distinct tactical profiles.
This matrix separates the Pragmatists (low scoring, low conceding) from the absolute Entertainers (CAPS United, Triangle United), while highlighting just how dominant The Elites (FC Platinum and Ngezi Platinum) are in maintaining both attack and defense.

The complete Python data engineering pipeline (including BeautifulSoup scraping and Pandas cleaning) is hosted directly in this repository: View the Jupyter Notebook