Build a custom Twitter follow recommendation system using Formulists

by Jon

Building a high quality list of friends and followers on Twitter can be tough, and everyone has their own rules for who they will and will not follow. It’s not quantity, but quality of followers we’re after (otherwise, you could just sit on the public timeline and follow everyone). Lists can help, but add in smart lists from Formulists, and you can quickly codify your own follow (and unfollow) recommendation system.

Note, you’re going to need about 15 lists, 2 basic lists on Twitter, and 13 on Formulists to replicate what I’ve done exactly. Unfortunately for most that means you’re going to need a Formulists Pro account (at a hefty $19.99/month), unless like me you were an early adopter and have been grandfathered in with 20 free lists. Sorry about that. In the meantime I leave the exercise to a creative reader for making this work with a normal Free account.

Ok, the objective is two custom lists that update daily: one to suggest new people to follow, one to suggest people to unfollow. These lists will composite the other 13 lists in a way that meets your rules for followers. So first of all, you need to decide on your rules for following and unfollowing.

My Follow Rules:

These are loose guidelines for the types of accounts I want to follow:

  1. Follow mostly people (not stores, brands, or website feeds).
  2. Follow people I’ve retweeted, or have retweeted me.
  3. Follow people whom I’ve had conversations with.
  4. Follow people who have listed me, or are in lists with me.
  5. Follow people who have recently followed me (unless they’re on my ignore list).

My Unfollow Rules:

My unfollow rules are a little stricter, as I try to keep my feed relevant and uncluttered.

  1. Unfollow those who don’t follow me back within 14 days (unless they’re on my whitelist).
  2. Unfollow those who have been inactive for more than 90 days (unless they’re on my whitelist).
  3. Unfollow those I’ve put on my ignore list.

So, to start out, I need two normal Twitter lists: whitelist, and ignore. On whitelist I add any account that I always want to follow, even if my rules would suggest otherwise (for example, a celebrity I know will never follow me back, and would therefore pop up in my unfollow recommendations). On ignore I add accounts that pop up in my follow recommendations that I’m just not interested in (like non-people accounts). I’ll need to check up on these lists regularly to make sure I still feel the same way about their contents.

That done, in Formulists I create the following 13 smart lists:

All except auto-suggest-follow and auto-suggest-unfollow are made using the basic smart lists that Formulists provides. All are marked as private (except for the people-i-retweet, thanks-for-listing-me, and thanks-for-retweeting-me) cause I know how some people feel about Formulists polluting the Listed statistic. Finally, to meet my rules above, I have auto-recently-followed set to show for 14 days, and auto-inactive-friends set to hit after 90 days of no tweets. I’ll explain in a moment, but now, on to the setup for the custom suggestion lists.

Auto Suggest Follow:

In order to improve the quality of of the suggestions, I set the “Minimum List Appearances” to 2, so that I get better matches. Note that because I include both Followers and recently-followed-me, new followers are almost always recommended. Also note that I’ve added my “fave” list, which is where I keep the friends whose statuses I dont’ want to miss in the general timeline.

Auto Suggest Unfollow:

Here’s where the auto-recently-followed set to 14 days kicks in. Normally someone who doesn’t follow me back will pop up as someone to unfollow, but by adding the auto-recently-followed as a filter, it hides them for 14 days, giving them a chance to reciprocate. If after 14 days they still don’t follow me, they’ll pop up as an unfollow suggestion.

Workflow:

Now that you have these lists working for you, how do you manage actually following and unfollowing people? Easy. Every couple days I check my suggestion lists. If someone on my auto-suggest-follow list looks promising, I follow them. If I don’t like the recommendation, I add them to my ignore list, and on the next refresh they’ll be removed. For the auto-suggest-unfollow list, any one I want to keep despite the recommendation I add to my whitelist, the rest I unfollow.

In the meantime, I can follow anyone else I choose, trusting Formulist to notify me if maybe it wasn’t such a good follow after all. The smart lists catch those that don’t follow back, even those who wait a long time before unfollowing me.

All this makes it much easier for me to manage who I follow, and helping me prune useless followers. I only wish Formulists hadn’t changed to such an expensive pay model. But then again, most of the Twitter power tools have gone that way, kind of how it all works. Anyway, leave any feedback in the comments!

/jon