Skip to content
← All projects

Textbook Order Demographics

Cleaning a Center for Civic Education order history, then building a national heatmap plus bar and line charts to show who their educational materials were reaching.

Role
Undergraduate Data Visualization Developer
Built
December 2025
Stack
R, RStudio, Python, SQL

The problem

The Center wanted to know which schools and communities its textbooks were reaching. That information was in the order history, but only as a transaction log — not in a form anyone could read an audience off of.

What I did

Two halves, and the first was the larger one.

Cleaning came before anything else: order records accumulated over years, entered by different people, with the inconsistencies you’d expect. Names spelled several ways, duplicate customer entries, missing fields, formats that changed partway through. None of it is interesting to describe and all of it decides whether the eventual chart is telling you about your customers or about your data entry.

Then the visualizations, built in R and RStudio. We produced a national heatmap showing order distribution geographically, bar charts for cutting the same data by different demographic dimensions, and line charts for how ordering moved over time. Several views of one dataset, because “who are we reaching” is really a few different questions — where, which groups, and whether any of it is changing.

What I took from it

Mostly that the analysis is the short part. I spent far more time understanding why two records that looked identical weren’t, than I did producing the charts on top of them — and getting the first part wrong would have quietly invalidated the second. It’s also the first project where the output was meant for people who weren’t going to read any code, which changes what “finished” means.