What's new
FORUMS - COASTERFORCE

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

A comparison of average theme park queue times by location and operator: a data visualisation dashboard

Matt N

CF Legend
Hi guys. I wasn't entirely sure where to put this, as it's not explicitly park-related, but I did something recently for one of my university modules that I thought people might be interested in seeing!

Basically, I did a module this semester on Data Visualisation, and one of the assignments was to create a data visualisation project. And for mine, I decided to create an interactive visualisation dashboard showcasing a comparison of average theme park major attraction queue times by location and operator! Now the work has been marked and I've received my grade, I feel at liberty to share this with you all!

Dataset-wise, I took data from the "average queue time" section from each theme park in queue-times.com's Parks index (https://queue-times.com/parks). I should point out that the data dates back to January 2025, and that is because it is actually reusing a dataset that I used for a previous analysis on TowersStreet about whether UK theme parks had the worst queue times in Europe, which also encompassed parks from other continents. The previous analysis regarding European queue times can be viewed here if you're interested: https://towersstreet.com/talk/threa...queue-times-in-europe.7443/page-6#post-498718

Some of the more specific aspects and methodology regarding my construction of the dataset can be read in the linked post above, if you're interested in scrutinising my processes.

Anyhow, I used this dataset to create a visualisation dashboard showcasing how major attraction queue times at theme parks vary by location and operator! For the technically minded, this was created using Python's Dash framework, with the figures themselves being created using Plotly.

A video tour of me executing my dashboard can be viewed here for full effect (the actual dashboard itself doesn't begin for a few seconds, as I start by running some of the necessary prerequisite code blocks in the notebook):

Or if you don't want to view the video (although I must admit that it does remove the effect of it being a cohesive interactive dashboard somewhat if I show you separated screenshots), here are a few sequential screenshots of what I created, working from the top down.

This is the introductory block of text and the introduction to the first plot on location:
Screenshot-of-Top-Text-Section.png


This is the first plot area, showcasing the difference in major attraction queue times between location. In this area, you can break the data down by either country (with each country's continent highlighted by its bar colour being different) or continent:
Screenshot-of-Location-Plot-Country.png

Screenshot-of-Location-Plot-Continent.png


And this is the second and final area, showcasing the differences between operators:
Screenshot-of-Operator-Plot.png


I should add that a particular feature I was aiming to show in these screenshots is that you can hover over each bar and showcase the exact average value. The speech bubbles aren't just in there statically; when you hover over a bar, it showcases the average major attraction queue time for that location or operator!

If you'd like to execute my dashboard for yourself, here is a Google Colab notebook link (to execute, just press play on each code block in the order in which they're inserted into the notebook): https://colab.research.google.com/drive/1ERovqBpb2HGGF1BRkxlnxyIevsA5UUWw?usp=sharing

I should also add that this has been adjusted slightly compared to the version I handed into university. Following my lecturer's feedback and the grade I received, I made the following adjustments:
  1. I added the differing colour palette according to continent on the country bar chart. Originally, all of the country bars were the same colour.
  2. I made the hover boxes more polished and user friendly (originally, I stuck to the Plotly defaults, which had "country=..." and "mean=..." in them).
  3. I altered some of the colours. Originally, some of my bar colours were green and red, which I was warned could impede accessibility for colour-blind individuals.
I guess this could also function as another of my theme park data analysis-style posts, but instead of boring you with statistical jargon, I'll let my dashboard speak for itself today!

So, that's something I created for university that I thought you all might like! As the intended audience of my visualisation was theme park enthusiasts (as I specified multiple times in the accompanying evaluation report!), I hope you guys like it! I'd really appreciate any feedback, good or bad; any feedback will allow me to adjust my approach to this sort of thing in the future. And seeing as I'm conscious that my theme park data analysis posts can sometimes have a bit of an... accessibility problem for the less technically minded, I'd be interested to know; would me creating a dashboard like this one when I do some data analysis make my work slightly more accessible and readable?
 
People smarter than me use lots of PowerBI at work to achieve similar sorts of interactive data visualisation on projects, and I'm always quite impressed by it's capability. I've just never found the time (or project need) to 'learn' it myself.

I've always liked the idea of coding things like this Python (the only programming language I can vaguely use outside of VBA), as it seems to me to be so flexible.

And then I keep thinking making a PowerBI dashboard for my Credsheet, but alas never set aside the time.

Good work, Matt! It'll be interesting to see if you can apply any of this to your personal data to make cool visualisations or comparisons.
 
People smarter than me use lots of PowerBI at work to achieve similar sorts of interactive data visualisation on projects, and I'm always quite impressed by it's capability. I've just never found the time (or project need) to 'learn' it myself.

I've always liked the idea of coding things like this Python (the only programming language I can vaguely use outside of VBA), as it seems to me to be so flexible.

And then I keep thinking making a PowerBI dashboard for my Credsheet, but alas never set aside the time.

Good work, Matt! It'll be interesting to see if you can apply any of this to your personal data to make cool visualisations or comparisons.
I really need to get around to learning PowerBI at some point. Loads and loads of jobs in the data analysis space seem to want it. I was wryly told by a coursemate of mine that my academic background in Computer Science would mean that I’d “master it in about two minutes”, and I’m hoping that knowing Python Dash and some of the basic principles of visualisation/dashboarding might give me an upper hand, but even still, I think I should give it a go at some point.

As someone who’s used Python quite a bit over the years, I didn’t find the Dash framework overly difficult to use at all. It does require some slightly less basic Python concepts, such as callbacks, and I’d also say that a rudimentary understanding of HTML and/or CSS would be useful, but I learnt Dash from scratch for this project and didn’t find it overly difficult or time consuming to grasp. If I can do something in Python, I will tend to gravitate towards Python; I learned a lot of programming languages on my undergraduate degree in Computer Science, but Python is the one I keep finding myself coming back to!

Ooh, the idea of making a dashboard for personal stats sounds awesome! Thanks for the inspiration @Hixee; I might give that a go at some point!
 
@Matt N - I’m curious; is your course steering you at all towards using AI tools to assist you?

AI assisted work is undoubtedly ‘the future’, much like how we all use calculators to take away the ‘grind’ from relatively basic maths. I imagine it would be quite useful for the sort of coding you are taking about?

(Although, I did tell someone off yesterday for getting a word count wrong, after their AI tool ‘lied’… AI can’t replace thinking and checking your work!)
 
@Matt N - I’m curious; is your course steering you at all towards using AI tools to assist you?

AI assisted work is undoubtedly ‘the future’, much like how we all use calculators to take away the ‘grind’ from relatively basic maths. I imagine it would be quite useful for the sort of coding you are taking about?

(Although, I did tell someone off yesterday for getting a word count wrong, after their AI tool ‘lied’… AI can’t replace thinking and checking your work!)
That’s an interesting one!

The stance on generative AI changed quite considerably between undergrad and postgrad, I found. At undergrad, I never used it, as I always felt a little like I’d be selling my soul if I did… but at postgrad, the academics have been surprisingly liberal regarding generative AI usage in coding and have even encouraged us to use it!

Having used ChatGPT, I must say I do find it a useful tool in some cases. It’s basically like a Google that talks to you and cuts through the garbage to find the most useful stuff! I’ve grown to realise that it’s basically a more efficient version of rifling through StackOverflow questions and doing forensic Googling to try and solve your syntax error (which I did tons of at undergrad!).

It’s important, I feel, to use generative AI as a tool to assist you, not to replace you. Getting it to do all of the work for you won’t work, because it isn’t infallible; I’ve had plenty of instances where it’s churned out functions and arguments for me that plainly don’t exist! It can be a very useful tool, but you need to use your brain a little and critique its output, as it can be (and very often is) filled with errors!
 
Yup - AI exists as a tool ⚒️

Prone to error, occasionally useful but… always, fundamentally, a tool.

…. a bit like me, I guess 🥴
 
Back
Top