Minivan Wars: Visualizing Prices in the Used Car Market

With the recent birth of our second child, it was time to face a harsh reality: the impending necessity of a minivan. After trying to cope by dreaming up a list of alternative “family” cars, the truth set in: with young kids, features like sliding doors, captain chairs, and amble storage space can’t be beat.

Looking to get acquainted with prices in the used minivan market, I scraped 20 years’ worth of monthly average price data from CarGurus for five minivan models: Kia Sedona, Toyota Sienna, Chrysler Pacifica, Honda Odyssey, and Dodge Grand Caravan. May the best car win!

Source: motortrend.com

As one of the most visited car shopping sites in the United States, CarGurus tracks prices for millions of used car listings every year. With a bit of web scraping (using R), I compiled a dataset to visualize how car prices for used minivans have changed over time.

Here’s the result, for minivan models released between 2015 and 2019:

At first glance, my impression is that the Honda Odyssey and Toyota Sienna fall in the “premium” segment of the minivan market (You be the judge: is premium minivan an oxymoron?). On average, prices are higher compared to the Kia Sedona and Dodge Grand Caravan.

Second, I was struck by how steadily deprecation appears to occur for the Honda Odyssey. Roughly speaking, you can expect your Odyssey to depreciate by about $5k a year in the early years of ownership.

Finally, the impact of the COVID-19 pandemic and related semiconductor shortage becomes really clear in this picture. Notice the uptick in average price across the board for almost all make-model and year combinations. Because of the reduced supply of new vehicles (thanks to the semiconductor shortage), would-be buyers of new cars have moved into the used car market, driving up prices.

Bottom line, this visual helped me develop a better feel for the prices we’ll encounter in the used minivan market. You can find the script used to create the dataset here (and below), and the dataset itself here. Thanks for reading!

Exploring the Marvel Cinematic Universe in Tableau

The first Marvel Avengers movie was released right around the time I graduated from high school. In fact, I saw it in theaters during Senior Day with my graduating class. Since then, over the last 10 years, the Marvel Cinematic Universe (MCU) franchise has grown astronomically, far out-grossing other major film franchises like Star Wars and Harry Potter.

While re-watching parts of the series during paternity leave, I compiled a dataset measuring things like budget, box office sales, and Rotten Tomatoes rating for the 23 movies. Using this data, I created an interactive visual in Tableau allowing comparison of measures across the films in different orders, like release date and chronological order.

Screenshot of the MCU dashboard

You can find the visual on Tableau Public here, and the dataset here.

The first takeaway is that these movies were (and are) big money-makers. You have to admire the way Bob Iger‘s gathered quality intellectual property (e.g., Pixar, Marvel, LucasFilm) under the Disney umbrella via acquisition during his 15-year tenure as CEO, creating a deep catalog of content for the Disney+ streaming service. According to the data I collected from Wikipedia, total gross box office revenue for the MCU franchise is north of $22 Billion.

Second, I’m always interested in comparing critic and audience ratings on Rotten Tomatoes. While ratings were generally in sync for most films in the franchise, there were some notable exceptions. For example, the average rating for Captain Marvel among critics was 79%, compared to 45% for audiences, a 34 point difference! Sadly, there were reports of review bombing with troll comments attacking the film for perceived feminism.

Rotten Tomatoes Audience Score in ranked order

This was a light-hearted project, and a fun way to practice more advanced Tableau techniques like parameters, nested calculated fields, and custom shapes. You can explore the viz for yourself here.

css.php