As sure as the sun rises in the morning, so does Day 2 of Dashboard Week follow Day 1 – and so I have found myself with another task and only one day to complete it. Today’s task was to use the data set, provided to the soon to be DSAU7 for their Stage 3 interviews (pressure is on), to create a UFC fighter dashboard. Unlike yesterday’s task this data set had plenty of potential avenues I could approach it from. The UFC data included detailed information about UFC fighters and bouts they have historically fought. It was also set up in a way that begged to be used for predictive analysis (a temptation I had to fight due to time constraints). So rather, the challenge today was not finding enough data for an interesting analysis, but instead picking and choosing from a wealth of data so that I wasn’t biting off more than I could chew (I proceeded to bite off more than I could chew anyway).
After profiling the data I quickly moved onto brainstorming potential approaches. As I said earlier, predictive was a very tempting option – creating a dashboard that shows predictions of who would win theoretical fights would have been quite interesting. However, considering how little time we had I chose to go down a different path. I decided that using information, such as height, reach, age, weight class, gender and stance I would allow the user to “build” their own fighter. This idea quickly turned into finding the closest existing fighter to their choices. To summarise I would allow them to choose from all of the above mentioned parameters then the dashboard would present them with the most similar fighter in the UFC and stats about their previous fights. And so I began to work.
The first thing I did after deciding what I wanted to do was to storyboard a dashboard so I would have an idea of what charts I would be building. Here I decided that using a radar chart (something I hadn’t built before) would actually be quite relevant. The downside to this, is I haven’t done any proper mathematics for about a decade. So I started researching and found that there are numerous ways to build a radar chart. Unfortunately not all of these seemed to work. After considerable effort managed to create a radar chart using one particularly thorough guide. I won’t outline the full process here, as that deserves a full blog in of itself, but you can find that excellent guide, written by Tableau Zen Master Toan Hoang, here. I was ready to finalise my workflow and move completely onto the dashboard; my workflow looked like this:
By this stage you might be thinking that everything is going surprisingly well in comparison to yesterday, however, this is where I hit my first real problem of the day. In order to make my vision come to life I needed to be able to create a calculation that found the fighter with the closest attributes to the parameters that I would let my end user play with. I used table calculations to compute the difference between fighters’ attributes and the parameters, which worked at first. However, I soon discovered that it wasn’t applying to my radar chart. So in the interest of time (which I was quickly running out of) I decided to abandon ship and approach from a different angle. Instead of committing to my original idea, I decided to use a number of filters designed to guide the end user towards a small selection of fighters that matched their criteria.
I think this is a good opportunity to step back and recognise that often you won’t be able to complete everything you set out to do within a strict deadline. It’s important to time box efforts and consider alternatives, that you may not think are as good, but are definitely better than delivering nothing.
The End Result
The final product wasn’t quite as I envisaged, however, considering the time constraints and the hiccups along the way it isn’t a bad effort. This was a good exercise in managing expectations (my own this time) and working on delivering something rather than a half finished product. Perhaps I will revisit this dashboard when I have more time and polish it up. Regardless that wraps up Day 2 of Dashboard Week, on to Day 3!