Targeting with TRC

You’ve got 100,000 voters in your district, but you want your field operation to target the 5000 swing voters that will determine the election? TRC has a notion of “targeted voter”!  You can use the filtering tool to determine your targeted voters, and then the canvassing tools will highlight the targets, and the reporting will provide details on the targets.   And of course, you can easily refresh everything as you update your targeting.

This article will explain the theory behind targeting, and then show you how to accomplish that with TRC.  See The Data Lifecycle for more general context on managing voter data for a campaign.

Suppose your district has 100 precincts, with 1500 people per precinct. The election may be determined by just 2000 swing voters. You need to focus on them whichever precincts they may be in!   You can imagine 4 levels of targeting, from least efficient (level 1) to best (level 4).

Precincts? Who in the precinct? Total Comments
1 All Precincts (100) All People (1,500) 150,000 Wasting a lot of time on people that won’t vote for you (either non-registered voters; or unpersuadables)
2 All Precincts (100) All voters (1,000) 100,000 Huge improvement to skip non-voters, but still a lot of unpersuadables
3 Targeted Precincts (20) All Voters (1,000) 20,000 Better, but still wasting a lot of time within those targeted precincts
4 Targeted Precincts (20) Targeted Voters (avg 100) 2,000 Optimal! Go to the precincts where the targets are and just talk to them.

A campaign  with no data will naturally do level 1 (just talk to everybody in the neighborhood) – but that is incredibly time consuming and wasteful.

With more data, like the voter rolls, candidates may move to level 2.

With even more data, like the precinct election results for prior races, candidates may pick a “targeted precinct” strategy and move to level 3. But they still hit the entire precinct.  

But the goal is level 4: determine your targets at a district-wide level, and then go to the targets, whatever precinct they may be in!

Voter-Science TRC supports level 4 targeting. Here’s how…

Step 1: Set your targets

First, you can use the Filter tool to interactively explore your data and come up with a subset.

In the Filter, under “Save”, you can “Set as targets”. This may take a few minutes, but will set the targets in your sheet and all child sheets. All users that you’ve shared out with will immediately see the targets.

For example, suppose we want to target fiscally conservative democrats with a 50% chance of voting:


You can use the data uploader tool to upload additional data files to use in the filter for targeting (such as social or fiscal models)
If you computed your targets outside of TRC, you can upload your target file and apply it directly from the data uploader.

Once you’ve set your targets, you can also see a per-precinct breakdown via the PrecinctReport in the plugins. You can then use this to start with the precincts containing the most targets.

Step 2: Seeing your targets
The different views will emphasize the targets accordingly. For example, the ListView will show them as names in bold:


Whereas the map view will show them as visited (pins are faded out):

iPhone 5

Reporting can then also show you targets. For example, you can see which percent of your targets have not voted, visualize that on a map, and then use that to plan canvassing or speaking events.

Normally, TRC will show you all the voters so that you have that information available in the field. For example, if a household has 4 voters but only 1 targeted, it’s useful to know the other 3 residents in case you talk to them instead.

If you really want just the targets (and no other names), you can create a query on the targets, and use “save query”  to create a new child sheet for the targets, and then share out that target sheet.


Step 3: Continue to iterate and refresh

Following the campaign data life-cycle!
You can continually update your targets throughout the campaign and push the refresh to all your users. For example, perhaps you’re target universe removes people that have already voted, or adds new people based on canvassing results or other campaign strategy decisions.

Under the hood:
There is an ‘XTargetPri’ column, and it’s set to ‘1’ if the voter is targeted and blank if it’s not targeted.

When you set targets via the Filter tool, you’re creating this column and setting it to your filter expression, ie: XTargetPri = ((Party == ‘1’ || Party == ‘2’) && (History > 0.5))

When you set the targets directly from the data uploader, you’re creating this column as a semantic, ie XTargetPri = ‘MyTargets.csv’

But in both cases, since TRC tracks the how the targets were determined, it can re-apply targets as the data refreshes. For example, if you updated your party id modeling, that could then propagate to updated targets. This ensures you’re always using the most current modeling.