2019 Week 50: Can you build a retention heat map with a marginal histogram?

Let’s take a break from Superstore this week! I’ve fabricated some new data that will help us create a more realistic view of customer retention, you can connect to the data via the Google Sheet connector at this link. This data set has one row per order week and customer ID, representing said customer placed an order sometime during the listed week. For the purposes of this workout, weeks start on Monday. This challenge is fairly similar to one of my previous challenges, but a little more design focused rather than preparation focused. Below you will find this week’s challenge, click on the gif to view the interactive viz on Tableau Public. You can find the specific requirements below the gif, have fun!

Click animation to open on Tableau Public


Google Sheet here data.world here


  • Dashboard size 1000 x 800
  • Separate customers into weekly cohorts, where the cohort is defined by each customer’s first order week in the data set
    • Remember, weeks need to start on Monday in this challenge
  • For each cohort, track the percentage of “week 0” customers who came back anywhere from 10-26 weeks later
  • Create a parameter that defines how many weeks our retention model should have
  • The heat map should only display cohorts who have completed the full length of the retention model
    • Notice how the viz never goes into the traditional triangular shape of a retention chart
  • If the cohort week is the last week of the model, don’t display in the heat map, and create a 50% bar chart to be layered next to the heat map
    • This bar chart should be hard coded to range from 0-50%
  • Make sure the bar chart for the last week of the retention adds the label of “Week” to the cohort week, where the heat map should just display the week number (see image)
    • Make sure the label updates as the length of the retention curve changes
  • Create a summary/BAN worksheet that displays the overall n-week retention for all cohorts combined
  • Match tooltips exactly
  • Match formatting and colors as closely as you’d like – any sequential color scale should be fine


After you finish your workout, share on Twitter using the hashtag #WorkoutWednesday2019 and tag @AnnUJackson, @LukeStanke, @lorna_eden, and @curtisharris_!

Track your progress

Also, don’t forget to track your progress using this Workout Wednesday form.


When you publish your solution on Tableau Public make sure to take the time and include a link to the original inspiration.

2 thoughts on “2019 Week 50: Can you build a retention heat map with a marginal histogram?”

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top