A Field Guide to Identifying Bots on Twitter

While multiple¬†formal investigations against the Trump family and administration continue to unfold, and Drumpf supporters weirdly deny the probable cause for concern, Putin’s troll army continues to operate out in the open on Twitter, Facebook, Medium, and other social media networks. The sheer¬†scale of this operation started to become clear to me in the months leading up to Election 2016, having both spent a lot of time on social media both professionally and personally for over a decade as well as a hefty amount of time on political investigation during this presidential cycle.

Whatever your thoughts on #RussiaGate may be, it should concern any citizen that an enormous group of bad actors is working together to¬†infiltrate American social media, with a specific intent to sway politics. Media literacy is one part of the answer, but we’re going to need new tools to help us identify accounts that are only¬†present in bad faith to political discourse: they are not who they claim to be, and their real goals are kept carefully¬†opaque.

Cold War 2.0

We should consider our nation embroiled in a large international game of psychological warfare, or PsyOps as it is referred to in intelligence circles. The goal is to sow disinformation as widely as possible, such that it becomes very difficult to discern what separates truth from propaganda. A secondary goal is to sow dissent among the citizenry, particularly to rile up the extremist factions within America’s two dominant political parties in an attempt to pull the political sphere apart from the center.¬†

We didn’t really need much help in that department as it is, with deep partisan fault lines having been open as gaping wounds on the American political landscape for some decades now — so the dramatically escalated troll army operation has acted as an intense catalyst for further igniting the power kegs being stored up between conservatives and progressives in this country.

Luckily there are some ways to help defray the opposition’s ability to distract and spread disinfo by identifying the signatures given off by suspicious accounts. I’ve developed a few ways to evaluate whether a given account may be a participant in paid propaganda, or at least is likely to be misrepresenting who they say they are, and what their agenda is.¬†
Sometimes it’s fun to get embroiled in a heated “tweetoff,” but I’ve noticed how easy it is to feel “triggered” by something someone says online and how the opposition is effectively “hacking” that tendency to drag well-meaning people into pointless back-and-forths designed not to defend a point of view, but simply to waste an activist’s time, demoralize them, and occupy the focus — a focus that could be better spent elsewhere on Real Politics with real citizens who in some way care about their country and their lives.

Twitter¬†Bot “Tells”

1) Hyper-patriotism

РConspicuously hyper-patriotic bio (and often, name)  РPosts predominantly anti-Democrat, anti-liberal/libtard, anti-Clinton, anti-Sanders, anti-antifa etc. memes:


2) Hyper-Christianity

РConspicuously hyper-Christian in bio and/or name: 


3) Abnormally high tweet volume

Seems to tweet &/or RT constantly without breaks — supporting¬†evidence of use of¬†a scheduler tool at minimum, and displaying obviously¬†automated responses from some accounts. The above¬†account, for example, started less than 2 years ago, has tweeted 15,000 more times than I have in over 10 years of frequent use (28K). Most normal people don’t schedule their tweets — but marketers and PR people do.


4) Posts only about politics and one other thing (usually a sport)

– Posts exclusively about politics and potentially one other primary “normie” topic, which is often a sport – May proclaim to be staunchly not “politically correct”:


5) Hates Twitter Lists

РStrange aversion to being added to Lists, or making Lists of their own:


6) Overuse of hashtags 

– Uses hashtags more than normal, non-marketing people usually do:


7) Pushes a one-dimensional message

РSeems ultimately too one-dimensional and predictable to reflect a real personality, and/or too vaguely similar to the formula:


8) Redundant tweets

– Most obviously of all, it retweets the same thing over and over again:


9) Rehashes a familiar set of memes

РTweets predominantly about a predictable set of memes:

Mismatched location and time zone is another “tell” — and although you can’t get the second piece of data from the public profile, it is available from the Twitter API. If you know Python and/or feel adventurous, I’m sharing an earlier version of the above tool on Github (and need to get around to pushing the latest version…) — and if you know of any other “tells” please share by commenting or tweeting at me. Next bits I want to work on include:

  • Examining follower & followed networks against a matchlist of usual suspect accounts
  • Looking at percentage of Cyrillic characters in use
  • Graphing tweet volume over time to identify “bot” and “cyborg” periods
  • Looking at “burst velocity” of opposition tweets as bot networks are engaged to boost messages
  • Digging deeper into the overlap between the far-right and far-left as similar memes are implanted and travel through both “sides” of the networks

Women in Congress: Factoids

Republicans do not like to elect women.

Stats of note:

  • GOP women make up only 4% of the current Congress.
  • 12% are female Congressional Democrats — for a total of 16.5% vs. 83.5% male legislators.
  • As a percentage of the historical collection of Congress members over all time, women have comprised only 1.7% of the total. 

Women need more representation across the board! Let’s do this, America.
P.S. If you have any need for a Slack bot that returns data on sitting Congresspeople, look no further! You can install this bot in Slack easily; you’ll just need to set up a Fieldbook account.

Women in the 114th Congress

(As of 1/6/2015) 

SeniorityMemberParty & StateStart of Service
¬†(in desc order)Marcy Kaptur (D), OH01-03-1983
 Louise Slaughter(D), NY01-03-1987
 Nancy Pelosi(D), CA06-02-1987
 Nita Lowey(D), NY01-03-1989
 Ileana Ros-Lehtinen(R), FL08-29-1989
 Rosa DeLauro(D), CT01-03-1991
 Eleanor Holmes-Norton (delegate)(D), DC01-03-1991
 Maxine Waters(D), CA01-03-1991
 Corrine Brown(D), FL01-03-1993
 Anna Eshoo(D), CA01-03-1993
 Eddie Bernice-Johnson(D), TX01-03-1993
 Carolyn Maloney(D), NY01-03-1993
 Lucille Roybal-Allard(D), CA01-03-1993
 Nydia Velazquez(D), NY01-03-1993
 Sheila Jackson Lee(D), TX01-03-1995
 Zoe Lofgren(D), CA01-03-1995
 Diana DeGette(D), CO01-03-1997
 Kay Granger(R), TX01-03-1997
 Loretta Sanchez(D), CA01-03-1997
 Lois Capps(D), CA03-10-1998
 Barbara Lee(D), CA04-07-1998
 Grace Napolitano(D), CA01-03-1999
 Jan Schakowsky(D), IL01-03-1999
 Susan Davis(D), CA01-03-2001
 Betty McCollum(D), MN01-03-2001
 Marsha Blackburn(R), TN01-03-2003
 Madeleine Bordallo (delegate)(D), GU01-03-2003
 Candice Miller(R), MI01-03-2003
 Linda Sanchez(D), CA01-03-2003
 Virginia Foxx(R), NC01-03-2005
 Cathy McMorris-Rodgers(R), WA01-03-2005
 Gwen Moore(D), WI01-03-2005
 Debbie Wasserman-Schultz(D), FL01-03-2005
 Doris Matsui(D), CA03-08-2005
 Kathy Castor(D), FL01-04-2007
 Yvette Clarke(D), NY01-04-2007
 Niki Tsongas(D), MA10-18-2007
 Jackie Speier(D), CA04-10-2008
 Donna Edwards(D), MD06-19-2008
 Marcia Fudge(D), OH11-19-2008
 Lynn Jenkins(R), KS01-06-2009
 Cynthia Lummis(R), WY01-06-2009
 Chellie Pingree(D), ME01-06-2009
 Judy Chu(D), CA07-16-2009
 Karen Bass(D), CA01-05-2011
 Diane Black(R), TN01-05-2011
 Renee Ellmers(R), NC01-05-2011
 Vicky Hartzler(R), MO01-05-2011
 Jaime Herrera-Beutler(R), WA01-05-2011
 Kristi Noem(R), SD01-05-2011
 Martha Roby(R), AL01-05-2011
 Terri Sewell(D), AL01-05-2011
 Frederica Wilson(D), FL01-05-2011
 Janice Hahn(D), CA07-19-2011
 Suzanne Bonamici(D), OR02-07-2012
 Suzan DelBene(D), WA11-13-2012
 Joyce Beatty(D), OH01-03-2013
 Susan Brooks(R), IN01-03-2013
 Julia Brownley(D), CA01-03-2013
 Cheri Bustos(D), IL01-03-2013
 Tammy Duckworth(D), IL01-03-2013
 Elizabeth Esty(D), CT01-03-2013
 Lois Frankel(D), FL01-03-2013
 Tulsi Gabbard(D), HI01-03-2013
 Michelle Lujan Grisham(D), NM01-03-2013
 Ann Kirkpatrick(D), AZ01-03-2013
 Ann McLane Kuster(D), NH01-03-2013
 Grace Meng(D), NY01-03-2013
 Kyrsten Sinema(D), AZ01-03-2013
 Dina Titus(D), NV01-03-2013
 Ann Wagner(R), MO01-03-2013
 Jackie Walorski(R), IN01-03-2013
 Robin Kelly(D), IL04-11-2013
 Katherine Clark(D), MA12-12-2013
 Alma Adams(D), NC11-12-2014
 Bonnie Watson Coleman(D), NJ01-06-2015
 Barbara Comstock(R), VA01-06-2015
 Debbie Dingell(D), MI01-06-2015
 Gwen Graham(D), FL01-06-2015
 Brenda Lawrence(D), MI01-06-2015
 Mia Love(R), UT01-06-2015
 Martha McSally(R), AZ01-06-2015
 Stacey Plaskett (delegate)(D), VI01-06-2015
 Aumua Amata Radewagen (delegate)(R), AS01-06-2015
 Kathleen Rice(D), NY01-06-2015
 Elise Stefanik(R), NY01-06-2015
 Norma Torres(D), CA01-06-2015
 Mimi Walters(R), CA01-06-2015
Total Women: 88 Democrats: 65
Republicans: 23

https://www.govtrack.us/data/congress-legislators/