A rocket chart is the name given to a line chart which starts at the same point and depicts cumulative data over a period of time for multiple entities. However, the term doesn’t appear to be commonly used (but I’m quite convinced I didn’t make it up). The name comes from the fact the resulting chart looks like the trajectory of rockets fired into the sky, having all been launched from the same point - which ones climb fast, but fizzle out; which ones soar for quite some time?

The image below depicts the UK box office takings for films released in 2023 that were in the weekly top 15, and we can see how “Barbenheimer” really did play out during the summer of 2023. Barbie & Oppenheimer were released on exactly the same day and there was a lot of discussion over which would do better at the box office.

Ultimately Barbie won that battle from a revenue point of view, consistently beating Oppenheimer week on week for cumulative sales, but due to a re-release following the Oscar win for Best Picture in March 2024, Oppenheimer was the better film from a longevity point of view.

And then Wonka and Super Mario get added to the mix; while both films were released at very different times of the year (Christmas and Easter respectively), this view allows direct comparison of their performance against, what most would have considered, the biggest films of the year. We can see that surprisingly, both surpassed Oppenheimer in respect of revenue, and both surpassed Barbie in respect of longevity, spending more weeks within the top 15 films.

a line chart in Tableau depicting the cumulative weekly takings per film. The 4 biggest grossing films are highlighted in different colours from the remaining films, and labelled. The lines all start at the same point on the x-axis, at the 0 point, directly against the y-axis.

 

Building the Rocket Chart in Tableau

So how do we go about building this, if all we know about the data is:

  • The film title
  • A date (week ending)
  • The weekly sales for the date

a tabular display in Tableau depicting the Film Title, the Week Ending date and the value of takings from that week

 

Just plotting cumulative sales by the Week Ending date, won’t give us the display we’re looking for.

a line chart in Tableau depicting the cumulative weekly takings per film by the Week Ending date.. The 4 biggest grossing films are highlighted in different colours from the remaining films, and labelled. The lines all start at various dates along the x-axis.

We can start to get a picture. We can see Barbie was more successful on the opening week than Oppenheimer (the line for Barbie starts at a higher point).

We can see that Oppenheimer seemed to have more longevity in the top 15. We can also see that the timing of the releases is important. With the exception of Oppenheimer, the other 3 films in the top 4 have a PG/12A rating and a strong appeal to children. All the films were released to coincide with school holidays:

Super Mario  - Easter  |  Barbie - Summer  |  Wonka - Christmas

But Wonka ended up being the 2nd biggest film, and the profile of the weekly takings compared to Barbie looks similar, but how close is it? Did it reach its peak before Barbie? Did it last longer in the top 15 than Barbie? We can't easily tell from this chart.

Identify a common starting point

To answer the question, the key is to find a common starting point that we can plot the cumulative weekly takings against, rather than just the Week Ending date directly.

The first thing we need to do is identify the earliest week ending date per film. We can use a level of detail (LoD) calculation for this

Min Date Per Film
DATE({FIXED [Film]:MIN([Week Ending])})

Adding this to the table of data, we can see each row of data associated to a Film has the same date - that of the first Week Ending date.

a tabular display in Tableau depicting the Film Title, the earliest Week Ending Date per Film, the Week Ending date, and the value of takings from that week


Using this date, we can then calculate how many weeks exist between the Min Date Per Film (ie the launch date) and the Week Ending date.

Weeks Since Launch
DATEDIFF('week', [Min Date per Film], [Week Ending])

If we add this to the table as a discrete dimension (blue, disaggregated pill) , we can see that we now get a counter from 0 for each row associated with a Film.

a tabular display in Tableau depicting the Film Title, the earliest Week Ending Date per Film, the Week Ending date, the number of Weeks Since Launch per film and the value of takings for the film for that week


We can now use this field to plot on the x-axis.

Building the viz

Add Weeks Since Launch to Columns as a continuous dimension (green disaggregated pill). Add Weekly Takings to Rows. Add Film to Detail.

a line chart in Tableau depicting the weekly takings per film by the number of Weeks since Launch.

Add a Running Total quick table calculation to the Weekly Takings pill.

 

a screenshot from Tableau showing how to add a Running Total quick table calculation using the context menu of the Weekly Takings pill in Rows.

This will change the display so the cumulative sales for each week are plotted instead, and now the ‘rocket trajectories’ are more visible.

a line chart in Tableau depicting the cumulative  weekly takings per film by the number of Weeks since Launch.


This is the basics required for the chart. I added more features to make the story more compelling, as well as adjusting the x-axis to have a fixed start of 0.

A workbook to accompany this blog post containing the examples discussed can be found on the Biztory Tableau Public Profile page here

Author
Donna Coles

Donna Coles

Tableau Visionary ¦ Data Junkie ¦ Run ¦ Zumba ¦ Footie Mum

Read more articles of this author
Let's discuss your data challenges

Join our community of data enthusiasts

Get industry insights, expert tips and Biztory news sent straight to your inbox with our monthly newsletter.