Recidivism

Team Members: Braydon Hall, Chuan-en Lin (David), Timothy Kwan (Tim)

The dataset used for this visualization contains statistics for the record of 3-year recidivism for offenders released from prison in Iowa from 2010 to 2013. The dataset is available online as recidivism.csv.

For each filtered group, the following humanoid displays the recidivism rate (number of criminals who recidivize / total number of criminals * 100%) and the sunburst displays the distribution of their convicting offenses in descending hierarchical order (classification > type > subtype from inner to outer ring).

You may toggle the buttons below to visualize across different composition groups of criminals by sex, race, and age, or to show/hide the labels on the sunburst. You may also hover over the sunburst to display individual labels.
Tip: Select one of each button group for a customized humanoid!

Sex

Race

Age

Design Rationale

Through this visualization, we sought to answer two leading questions:

  1. What demographics are more likely to be re-arrested after release?
  2. Is there a relationship between being re-arrested and what crime the person originally committed?
These two questions guided our initial design decisions in deciding what forms our data visualizations would take.

To answer question 1, we decided to visualize how recidivism rates differ between different demographics by allowing the user to filter between different demographic compositions for maximum exploration of all possible types of demographics by sex, race, and age. The implementation for filtering is done through interactive buttons with visually responsive feedback on inactive, active, hover, and select. Furthermore, since we decided that we would look at demographics at a case by case basis, we deemed it appropriate to use length to encode the percentage of people who were re-arrested, alongside a display of the percentage directly. We housed this visualization in a humanoid to assist in the clarity of what the bar chart represents while being engaging for the user.

To answer question 2, we decided to visualize the distribution of the different types of crimes that were committed for the selected demographic composition. First, we figured that this might be shown in the form of multiple pie charts where each would show a breakdown of the percentage of people who recidivized for a each type of crime in a single category of crime. We would mark distinctions between different types of convictions within each category using color. However, after implementation, we saw that this would clutter our visualization and, also, did not take advantage of the hierarchical nature of our dataset. Therefore, we instead decided to implement a sunburst to display all categories of crimes simultaneously into descending hierarchical order (classification > type > subtype) from inner to outer rings. A sunburst would allow us to visualize the hierarchy of crimes and allow the user to further explore into different types and subtypes of convictions through searching outwards, starting from center point of the sunburst. To minimize the cluttering of labels, we implemented tooltips that would only display when the user hovers over the relevant area as well as the option for the user to toggle between showing and hiding all labels.

Development Process

Our development process underwent three phases: brainstorming, sketching designs, and implementation by code. Firstly, we started with planning out what we wanted to learn from our dataset, and from this we came up with our two leading research questions. Secondly, in terms of design, we mocked up what our visuals would look like mainly through Illustrator and sketch, then outlined the types of interactions we would facilitate to allow optimal balance between maximum exploration and maximum presentation quality of data. Thirdly, we divided the development efforts required for our designs. We initially started with one person doing the base work to querying the dataset. From this base, we implemented separately, for each type of chart visualization.

Overall, the development process took around 40 people-hours with 3 meetings spanning around 5 hours total. Braydon did research on datasets, created the pie charts for our initial design, and did research on data encoding practices. David found the dataset, set up the code base for querying, created the humanoid charts, created the sunbursts with Tim, did error handling, and proofread the design rationale and development process. Tim created the filter buttons, handled conversion from CSV to JSON, created the sunbursts with David, and wrote the design rationale and development process.