Insight into tPP’s Coding Process through Case Study: Dylann Roof

This continues our series of student reflections and analysis authored by our research team.

Equally important to the research the Prosecution Project (tPP) yields is the process by which our researchers input cases to the database to ensure the reliability and validity of tPP’s findings. Student members of tPP code for a total of 40 variables per case in addition to other descriptive information such as the specific charges, a narrative of the case, and so on. These variables account for information such as defendant demographics, circumstances of the crime, court results, and more. For better transparency and to promote a better understanding of tPP’s methods, this weeks blog update breaks down the coding process of these 40 variable each case undergoes twice, with two researchers individually coding then comparing their results for accuracy.

To best elucidate this process, take the example of the 2015 Charleston church shooting. Dylann Roof was convicted of 33 counts of federal hate crimes for the murders of nine African American churchgoers and the injuring of another, and after a brief manhunt, was arrested the next morning (DOJ, 2017).

The first variable tPP codes for is the date, which may be of the crime or arrest for older cases with fewer digital records, however tPP’s preference is for the date of the most recent indictment. So for Roof’s case, the date is coded as 06/22/2015, when the federal grand jury returned an indictment, and the second variable, date descriptor, is marked as ‘indictment’ (DOJ, 2015). The next four variables consist of the defendant’s full name, and then separately their first name, family name, and any aliases in order to make searching for defendants in the database easier and to prevent any duplication of cases under aliases. Roof’s full name is Dylan Storm Roof, with no known aliases. Next is co-defendant; given Roof acted alone, this is simply coded as ‘no’.

Next is the reason for inclusion. One or more of ‘obvious socio-political aims’, ‘serves to support organized political violence’, or ‘state speech act’ must be cited. For more information on the inclusion process, see Taylor Maddox’s update , but for these purposes, Roof’s case is coded as having obvious socio-political aims due to the racial motivation of the murders and self expressed desire to start a race war, but lacks any state speech describing it as terroristic or any affiliation to organized violence (DOJ, 2015).

The next set of variables cover the name of the court case, jurisdiction, and the country, city, and state in which the attack took place. While Roof faced both federal and state charges, these are individually coded, so Roof appears twice in tPP’s database, once per indictment. Focusing on the federal charges in this example, these are ‘United States of America v. Dylann Storm Roof’, ‘Federal’, ‘United States’, ‘Charleston’, and ‘South Carolina’.

The next variables concern the target of the attack. ‘People versus property’ describes the intended target, which may be either of these, both (e.g. the September 11th attacks), have no direct target (e.g. charges of providing material or financial support to terrorist organizations), or be unknown or undeveloped (e.g. defendants stopped early by law enforcement). Roof’s target is coded as ‘people’. Next, ‘target: what?’ describes the physical site of attack, and ‘target: why?’ describes the motivation. For Roof, these are ‘religious site’ because the shooting took place in a church, and ‘racial’.

Three variables tPP codes for describe the defendant’s relevant affiliations. ‘Ideological affiliation’ includes such options as jihadist, various national separatist movements, and numerous rightist and leftist ideologies. ‘Affiliation with a Foreign Terrorist Organization’ refers to association with organizations specifically designated by the U.S. State Department, and is answered simply yes or no. Finally, ‘group affiliation’ specifies the FTO or domestic organization the defendant may belong to. In this case, Dylann Roof is coded as ‘white supremacist/neo-Nazi’, has no FTO affiliation, is coded as having ‘no affiliation’ with any group.

‘Previous similar crime’ is used to denote defendants with past convictions. “Similar” in this sense may mean, though is not limited to, a past crime utilizing the same of the next two variables: tactic, which is the method of the crime, and tactic group, which is simply more broad and allows for wider categorization of incidents. It could also be a similar ideological motivation, target, etc. Roof’s tactic was ‘shooting’, making the tactic group ‘firearms’. He had no previous conviction for a similar crime. Continuing with variables describing the attack itself , there is number killed, which was nine, and number injured, which was one (DOJ, 2015).

The next variables concern the court proceedings: court decision (often the jury verdict, or denotes a plea bargain or dropped charges), length of jail sentence, life sentence, death sentence, additional sentencing, and plea. Length of jail sentence is simply the number of months sentenced, and life and death sentences are usually coded as either 0 for none or 1 if applicable but may increase to reflect multiple life or death sentences. Roof, facing the death penalty, plead not guilty in his federal case, making the plea variable ‘not guilty’ (CBS, 2015). The court decision however is ‘guilty’ due to the jury’s verdict, and while both length of jail sentence and life sentence are 0, death sentence is coded as 1 (DOJ, 2017). The additional sentencing variable covers such factors as supervised release or various enhancements, such as the hate crime addition in Roof’s case.

The Prosecution Project also codes for if the particular case involved an informant (e.g. FBI confidential human sources) or not , and if the attack was ‘carried through or stopped’, and if applicable, stopped by whom. Roof’s case involved no informant, and is coded as carried through due to his apparent success in killing a number of people, only being arrested the next day.

Finally, eight variables code for the defendant’s demographic information. Most straightforward are age and sex at the time of the offense, which for Roof are 21 and male. His ethnic group is coded as white/caucasian, and his religion as Christian. Roof’s citizenship is coded as American born citizen. Veteran status seeks to account for either civilian or military history and type of discharge or current service status at the time of the offense. More specifically the next variable, combat veteran status, is coded as either yes or no depending on if the defendant has been deployed to a combat zone. Dylann Roof is coded as ‘civilian’ for the former and with ‘no’ under the latter.

Lastly and slightly more complicated is the demographic variable ‘Other status’, which very simply put seeks to categorize the defendant as someone a typical jury would see as ‘American’ or not, which can be influenced by their name, ethnicity, citizenship, and religion. For more information on tPP’s use of Othering, see Athena Chapekis’ blog post. Given his demographic information, Roof is coded as non-othered.

Finally, having all of these variables coded for and having both researchers in agreement on each, the resources this information was drawn from are added to the dropbox and Dylann Roof’s case is ready for analysis!

– Kayla Groneck


Department of Justice, U.S. Attorney’s Office, District of South Carolina. (2017, January 10). Federal Jury Sentences Dylann Storm Roof to Death [Press release]. Retrieved September 24, 2018, from

Department of Justice, Office of Public Affairs. (2015, July 22). Attorney General Lynch Statement Following the Federal Grand Jury Indictment Against Dylann Storm Roof [Press release]. Retrieved September 24, 2018, from

CBS. (2015, July 31). Not guilty plea in federal court for accused Charleston shooter. Retrieved September 24, 2018, from

Leave a Reply

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