ADF DVT: Analyzing Financial Position of the European Football (Soccer) Leagues using Treemap
We all know a lot of money is involved with professional sports. One of Europe’s major sports is football (or soccer as some like to call it). A lot of money changes in hand in football. And it seems that the results are determined primarily by the money. The major pan-European competition – the UEFA Champion’s League- is called out of reach for representatives from smaller countries – because of their lag in terms of yearly budget. And the national leagues are dominated by [clubs that have the] money.
Together with my son Tobias we decided to investigate. How much money is in the budgets for all clubs taken together in each of the major football leagues? And how is that money distributed over the clubs. Is it evenly allocated or are there wild variations? And is money a guarantee for success?
We decided to use the ADF DVT Treemap component to visualize our findings. From left to right, you see four treemaps, representing the football leagues of England, Spain, Germany and The Netherlands. The size of each treemap corresponds with the sum of all club budgets in that league. Inside the treemap, each area represents a club. The size of the area corresponds with the budget of the club. The color is an indication of the current ranking of the club in the league. Yellow (gold), Gray (Silver) and Olive (Bronze) represents the number 1, 2 and 3 position. The Legend explains about all colors.
The German Bundesliga has a higher budget than the Primera Division – and both trail behind the Premier League. It is clear how the Dutch is the dwarf in this collection. Its overall (league) budget is less than the club budget for both Barcelona and Real Madrid. It is also clear how the Spanish competition has two main contenders that dwarf the others. Valencia’s budget – #3 in Spain – is smaller than PSV’s – #2 in The Netherlands. The budget size seems a good indication for who will come at the top of the list. Only Real Madrid is not at the very top despite having the largest budget in Spain – although it is the runner up.
The implementation of this treemap is done using a trio simple POJOs: FootballClub, FootballLeague and FootballInvestigator.
In FootballInvestigator, the data is hard coded:
A new JSF page is created. The the Club collection is dragged to this new page, and dropped as a Treemap:
The Treemap is subsequently configured like this:
Then the page source is extended a little, with a PanelGridLayout and stuff:
Notice the af:iterator that iterates over the leaguesIterator (the master for the clubs) that was created in the PageDef when the treemap binding for the clubs was added. Also worth mentioning: references – in the inlineStyle attribute for the scaleFactor that is used to manipulate the height - and in the outputText that renders the name of each competition and ensures that the master iterator moves from league to league in each iteration.
The iteratorBean is configured in request scope and contains the following code:
Credits: I would like to thank Tobias Jellema for doing the research and compiling the numbers for this article.
Download JDeveloper 11gR1 PS6 (184.108.40.206) application: FootballFinanceTreemap .
- ADF DVT – Scaling TreeMap components for comparisons across masters and categories
- ADF DVT: Thinking out of the box with the Scheduling Gantt Chart – Reporting by Period, for example Football Results over the years
- ADF DVT: Using the Tree Map visualization component – to compare relative sizes and distributions
- Using the ADF DVT Radar Graph for comparing series – further analyzing ODTUG Kaleidoscope 2011 Session Schedule
- JavaPolis: the European equivalent of JavaOne!?
- Oracle ADF Virtual Developer Day 2013
- The AMIS Summary of Oracle OpenWorld 2013 is available for download – 60-page white paper
- OOW13: summarizing one week and 2000 sessions in 3 hours and a bit – the yearly AMIS OOW Review session – 10th October
- Case Study: A Case of Fusion Middleware
- Het Oracle OpenWorld Preview Evenement (5 september 2013) – 15 sprekers & sessies
- ADF 12c: Using WebSockets to implement client to client push (in a scalable manner)
- ADF 12c – The Hierarchical Mystery Tour – Treemap, Sunburst, Treetable, Hierarchy Viewer and Thematic Map
- ADF DVT: Sunburst to quickly inspect the hierarchical composition
- JDeveloper 12c & ADF 12c: Launch of the next generation
- Live match report using JMS, BAM, ADF Push and Data Visualization