An interactive look at the dramatic increase in LEGO® subthemes from 1990 to 2009.

Tools used in this project
An interactive look at the dramatic increase in LEGO® subthemes from 1990 to 2009.

About this project

This dashboard was inspired by the Maven LEGO® Challenge and as a follow-up to my other dashboard where I analyzed my own family's LEGO® collection (A data-mom's look at her kids' ever-growing LEGO® collection).

In that first dashboard, I created a stylized tree-map / waffle chart that evoked the LEGO® theme by creating the effect of overlapping stacked bricks. That visual was static. For this new project, I wanted to recreate the tree-map / waffle chart but make it interactive and dynamic so the user could PLAY with stacking the LEGO® bricks as they were exploring the data.

Check out my final result here:


About the Build:

1. Choosing the right subset of data.

  • While profiling the data, I purposefully looked for a perspective that would be interesting for the user. This data set had more categorical options (theme group, theme, subthemes) than the one I had created for the analysis of my own family's collection.
  • One insight that jumped out at me was how the number of subthemes appears to be increasing exponentially from 1970 to 2022.
    • Subthemes also paralleled the categories I had used in my original tree-map / waffle chart visual, so I decided to stick with this level of granularity.


  • I also knew going into the build that there would be a high burden to set-up the interactivity function inside Excel. Based on that, I decided it would not be feasible to visualize the entire data set from 1970 to 2022.
    • I decided to focus in on the time frame from 1990 to 2009. Over this 20-year span the number of subthemes had doubled from 27 to 54.


2. Creating the stacked bricks effects.

I decided to use a scatterplot to create the stylized tree-map / waffle chart. This was different from my original stylized tree-map / waffle chart that was static. For that one, I was able to create the same look simply using shapes.

  • As I had done for the original version, I wanted a "brick" to represent the number of build kits released for a particular subtheme in a given year.
    • This meant I would need a "brick" for every possible occurrence of the number of build kits released for a particular subtheme across the entire timeframe.
    • In total there are 24 unique "bricks" that appear dynamically because there were occurrences from 1 to 24 build kits released for a particular subtheme across the 1990 to 2009 time period.
  • Each "brick" seen on the visual is actually a line (or combination of multiple lines) strategically plotted on a scatterplot.
    • The "studs" are the data series MARKER set to be a circle and at size 15.
    • The edges of the bricks are the LINE set at a width of 20.5 and with the cap type set to SQUARE.
  • To amp up the fun, I also decided to replicate the feel that the bricks were being "placed" on a white baseplate.
    • I used the same techniques listed in the two previous points, but this time I had to make a line that covered every x,y combination on the scatterplot grid.

I wanted the user to get the sense that they were CREATING the visual as they made their selections. The result was the appearance of bricks randomly moving around the grid / white baseplate whenever a change is made to the spreadsheet. To achieve this, I made brick placement dynamic using the following approach:

  • I used the RANDBETWEEN function to set a random X an Y point for each of the data sets, so with each iteration the brick appears in a new spot of the grid / white baseplate.
  • I also wanted the orientation of the brick to change, so I used a separate RANDBETWEEN to generate another random number. Brick orientation as calculated as either horizontal or vertical based on whether that random number was odd or even using the ISODD function.


For the visual on the left, I used a stacked bar chart and stragetically used both a primary and secondary axis to get the look of a "brick" with a "stud" on top.

  • The "bricks" are the stacked bar chart series on the primary axis. While the "stud" is on the secondary axis which makes it behind all the others.
  • The "stud" is made to look smaller in width by increasing the GAP WIDTH.

3. Some of the build challenges...

While this build was lots of fun to create, there were a few challenges that I wanted to outline:

  • Data Labels - the dynamic nature of the brick positioning made it hard to find a location for the DATA LABELS that would work consistently. This means that sometimes (in the random placement) the labels for two or more bricks will overlap and obscure each other. This is not ideal, and for any other type of project I would not have left as is.

    • However, for this specific build, replicating what I had done before dynamically was the main goal. Including data labels was essential. And because the user can easily change the brick position (by simply updating a selection anywhere on the sheet) I felt it was not ideal but ultimately acceptable.
  • So Many Data Series - to get this dynamic function, I really had to "hack" the way a scatterplot is typically utilized. To create bricks more than one (1) stud in width, I had to create multiple DATA SERIES that would appear side by side.

    • This means every row of studs seen on the visual is its own DATA SERIES line, just strategically placed to line up alongside another one. In total there are 52 data series used to create all the possible bricks.


  • Color Selection - selecting specific colors was also an important part of evoking the theme. However, because that palette is intended for physical bricks as opposed to text on a computer screen, I realize that the contrast does not always meet the guidelines for accessibility, especially for smaller text sizes. I plan to go back and revisit this dashboard and prepare another version that uses outlines for the bricks as opposed to color.

About the Data:

This dashboard was prepared using the Maven LEGO® Challenge data set of build kits released from 1970 to 2022, including details on each set's theme, pieces, recommended age, retail price, and image. The visuals presented here include only build kits identified in the normal category in the source data.

LEGO® is a trademark of the LEGO Group of companies which does not sponsor, authorize or endorse this analysis.

Additional project images

Discussion and feedback(1 comment)
hiral modi
5 months ago
I like you uncover the insights on subthemes! Great!
2000 characters remaining