A look into the .NET community with a Twitter bot
- 4 minutes read - 802 wordsDisclaimer: this is not a scientific study or research. It is probably has lots of bias, so take it with a grain of salt. However, I wrote it up because I think it’s interesting and hopefully you can get something out of it.
I recently deployed .NET Bot (on 14th January 2020), a Twitter bot that would retweet .NET related content, as a learning exercise in how to:
- Create a Twitter bot and use the Twitter developer features
- Create an AWS Lambda function to run on a schedule
- Build an app with AWS CodePipeline
- Deploy a stack with AWS CloudFormation
It’s been over a month now and I thought it might be interesting to see how the bot has faired and look into some analytics of the tweets it has surfaced. Let’s dive in!
Bot mechanics
Firstly, let’s briefly go over how the bot works. It’s quite simple, and has the following flow:
- Every 10 minutes, run an AWS Lambda function to execute steps 2-3.
- Using the Twitter API (via the TweetInviAPI package), get all .NET related tweets in the last 10 minutes; all tweets returned by searching the following terms: “.NET Framework”, “.NET Core”, “.NET 5”, “dotnet” and “dotnetcore”.
- For each tweet, if it contains the search term, retweet it and follow the user that tweeted it.
Let’s now look into the bots profile and see how it’s gone.
At a glance
I’ve prepared tables below to show some basic statistics over the lifetime of the bot (37 days).
Tweets | Tweets / day |
---|---|
19,900 | 538 |
Followers | Followers / day | Following | Follow ratio |
---|---|---|---|
354 | 9.6 | 1613 | 0.22 |
We can conclude from these stats:
- The average number of .NET related tweets each day is 538
- The bot receives roughly 10 new followers each day
- 22% of people follow the bot back
So the bot seams to be doing a reasonable job in surfacing .NET related content. But what is this content and where/who is it coming from?
Deep dive
To get a better understanding of tweet content, I used this website to analyse the last 3200 tweets from .NET Bot. And here are the results:
Tweet content
To understand what people are tweeting, I looked at the word cloud:
Not surprisingly, the following are heavily weighted:
- dotnet
- runtime
- aspnetcore
- roslyn
But people are also talking about:
- core
- mono
- efcore
- blazor
I also took a look at the hashtags most involved with these tweets:
So “dotnet”, “dotnetcore” and “csharp” are strong hashtags, and “blazor”, “softwaredevelopment” and even “javascript” are present.
Tweet time
To understand when people are tweeting, I looked at a day-by-day and hour-by-hour aggregate of tweets (time is UTC):
Day by day
So most tweets are happening on Wednesday, Saturday and Tuesday. That’s not surprising as Monday/Friday can be slower days and Saturday is when many people have time off.
Hour by hour
So tweets peak at around 05:00, then drop off and peak again at 09:00, then drop off sharply to the lowest point at 15:00 and rise again at around 20:00. It’s hard to make a lot of sense of this graph because there’s so many people interacting at different time zones.
Influencers
To understand who is influencing .NET content, I looked at the top influencers (people with the most followers):
The usual suspects are all up there:
And the up and comers are:
Mentions
To understand who is tweeting, I looked at the top mentions:
So a lot of tweets are coming from automated “Issue” accounts that create tweets when certain issues are created in GitHub repositories. Looking into these tweets, it looks like they are tweeting the same thing quite often:
Summary
I built a Twitter bot that surfaces .NET related tweets. It averages 538 tweets per day and averages 10 new followers per day. 22% of people follow the bot back and it is influenced mainly by Visual Studio and Scott Hanselman. Most of the tweets are coming from GitHub issues. Given that only 22% of people follow the bot back, and many tweets are effectively duplicates, I might need to put some logic in to allow only one of the issue accounts to be retweeted - something to think about.
Also if you want to maximise your engagement with the .NET community, you might want to consider:
- Posting on Wednesday’s
- Posting at around 05:00 UTC
- Including “#dotnet” hashtag
- Interacting with the top influences listed above
I hope this post has been interesting and I’d be keen to know what you think. Is the bot helpful or is it annoying? Could it be improved? It’s open source so I’m always taking PR’s!