Recently Twitter released an analytics dashboard for Twitter Cards. It’s a well designed and interesting tool showing you a lot of useful information about each of your tweets. For each tweet you can see how many times it was viewed, how many times people engaged with it (like clicking your username or hashtags, retweeting it, or even viewing the tweet detail page), and the overall engagement rate. I’m impressed that Twitter is freely and openly exposing this to all of its customers and not just those that pay for promoted tweets.
Even more impressive is that Twitter allows you to export all of this data out of the dashboard into a CSV file. Having some free time waiting for my car to get fixed, I decided to play around with this data a little more…
First step in this crude undertaking is to see how much data Twitter was willing to expose through this export. I’ve been a Twitter user (@dubrie) since May 2009 and somehow have amassed 5,204 tweets at the time of writing this sentence. A quick word count on the file shows that only 871 of those tweets are included in the export:
bill$ wc -l tweet_activity_metrics.csv
The dashboard only calls out the last 28 days (and implies the previous 28 days by comparison) so it’s not shocking they only provide a subset. Another quick command shows that 871 tweets covers the date range of 10/1/2013 until 7/11/2014 (yesterday). Oh well, that should be plenty to play around with for now.
To really dive into the data I have to start building some scripts. For speed of development I’m going to use Ruby and rely on just outputting to a console. I’m curious what my total numbers look like so first I’ll compile all the 283 days worth of data:
bill$ ruby tweet_stats.rb
Dates: 283 days (2013-10-01 10:05:00 -0700 - 2014-07-11 19:43:00 -0700)
Total Impressions: 68467
Total Engagements: 2698
And there is my first mistake in this process: I only have 835 tweets instead of 871. Quick verification shows that between the header row in the dataset and tweets with newline characters in them, I over-counted by 35 tweets so that checks out. Of note is that it appears that things you have retweeted do not appear in your analytics data so you will not be able to measure any ripple effects.
What about my “best” tests? Or in other words, most engaging and viewed tweets?
Highest Engagement: 260
> 2014-05-15 13:40:00 -0700 - Go Blue! @FabioPereira_10 #goblue #umich http://t.co/MBF2ppGXiH
Most Impressions: 2569
> 2014-05-16 13:40:00 -0700 - Quick lunch w/ @alanhinton11 and Roger Levesque before practice #soundersdreamcamp http://t.co/gB0mA3ySod
Not shockingly, tweets during my Sounders Dream Camp experience were the most engaging and most viewed. Also, holy crap that was a really fun week!
I identified 3 things I want to answer from this exercise:When I tweet the most When things I tweet are viewed the most When things I tweet are engaged the most
Of those three things, I can slice the data either by “day” (day of the week) or by “time” (hour of the day). Let’s look at the “day” slicing first. I find that my most popular day for the 3 things listed above are:When I tweet the most: Thursday When things I tweet are viewed the most: Friday When things I tweet are engaged the most: Friday
You can see in the chart above that there is a large difference between days but in general the end of the work week is the best time for me to tweet and have others read and engage with it.
Similarly, I want to slice this data by “time” as well as day. For this, I can break the data up into hours and get the following answer to me 3 goals for this exercise:When I tweet the most: 9am, 10am, 4pm (tie) When things I tweet are viewed the most: 1pm When things I tweet are engaged the most: 1pm
It’s interesting that I tweet mostly in the morning and before leaving work but my highest impressions and engagements are from tweets in the 1pm hour. This is information that a tool like Buffer could use to determine individually appropriate times to tweet for each of its users. Also interesting is how much more engaging tweets in the 1pm hour compared to the rest of the day:
Having these “day” and “time” slices allows me to answer my three stated goals from above. However, I couldn’t help myself from taking the next step and figuring out what is the most optimal hour of the week I should send a tweet to maximize my impressions and engagements.
I modified my charting code to be able to handle a matrix of data so that I can plot every hour of the day for every day of the week with their values and see how they all relate to each other. But just spitting out numbers doesn’t help much for quick comprehension so I normalized the impression data into 4 groups and charted that instead for every day and week:
The size of the marking provides the scale or significance of value. A blank spot is least significant, followed by a “.”, then a lower case “o”, and then finally a capital “O” being most significant. This shows pretty clearly that a tweet at 1pm on Friday is my most optimal time for impression and 8am on Friday is a close second. For engagements, Thursday at 1pm and Friday at 1pm were far and away the most significant with no other times coming close.
You can also see the general trend of activity towards the end of the week where Sunday-Tuesday morning are very light and Wednesday-Saturday are fairly heavy usage. I’m slightly surprised to see an east coast bias in the activity times (6am-2pm) as most of my Twitter usage has been since I’ve lived on the West coast.
I’m curious to run this again as I tweet more and more to see if and what changes over time. For now though, you will probably be seeing more tweets from me at 1pm on Friday!
If you don’t already, you should follow Twitter Data for more cool insights into Twitter data and usage.
My favorite song of the moment
Putting Keyboard Shortcuts to Work in iOS
Do you hold off on booking calls or meeting spots because you don’t feel like typing out a dial-in or an address? Keyboard shortcuts are your solution.
Settings —> General —> Keyboard
Keyboard shortcuts are normally used for abbreviations like “omw” for “on my way!”, but they work just as well for dial-ins and locations. I made a few shortcuts for spots that I frequently meet at and my go-to dial-in number for when I’m booking things while I’m mobile.
A bonus: your keyboard shortcuts sync across devices thanks to iCloud.
I use “@@” for my email address
Truth is stranger than fiction. Especially if that truth is caused by fiction. Consider the strange case of Agloe, a place name that started appearing on maps of New York State in the 1930s. An insignificant little fleck, Agloe was shown somewhere in the Catskills, at the junction of an unnamed …
"When U Love Somebody" - Fruit Bats
My song o’ the day! Super-catchy
1 year ago today: I earned my most cherished Strava CR
I shop at Target stores a minimum of four days per week. That’s life. That’s just how it is for a family of five; I’m not sure if we are the norm or the exception, but social activity from friends seems to indicate the former.
Lately, I can’t help myself from imaging all the cool,…
Crows are, like, scary smart
This gif shows the foreign born population of each state in the US as a percent of the state’s total population for each decade between 1850 and 2010.
These maps show the comparative areas of countries and other geographical features.
These maps show the comparative areas of countries and other geographical features
Song of the Work Week, turn it up!
January 8, 1835, is the only day in history that the USA had no national debt.
What happened on January 9, 1835?
Song of the Work Week, turn it up!