読者です 読者をやめる 読者になる 読者になる

ほんじゃら堂

めんどくさい仕事をラクにする作業自動化レシピ集

Twitter APIでタイムラインを分析してブログ投稿に最適な時間を見つける

clojure IT系・技術系

最近記事を予約投稿するということを覚えたので、 せっかくだからたくさんのユーザーに見てもらえる時間に投稿したい、 ということで調べてみました。

このブログは記事を投稿した時に自分のTwitterタイムラインにリンクを ツイートするようになっているので、投稿した時にタイムラインを見ている ユーザーの数が一番投稿時間に影響しそうです。

TwitterのAPIでどんな情報が取得できるか調べてみたところ、 自分がフォローしている相手のうち、自分をフォローしてくれている ユーザー(いわゆるフレンド?)を取得することはできるようです。

これらのユーザーがツイートしている時間や曜日を集計して、 より多くの投稿が行われている時間に記事を投稿すれば ユーザーの目に触れる可能性を高めることができそうです。

残念ながらTwitterのAPIでは取得できる過去のツイートの範囲が限られているようなので、 Streaming APIでツイートを収集する処理を一週間流してみました。 もうちょっと手軽に期間データを集める方法があると良いのですが。

11/18〜11/24の一週間で集まったツイートデータを時間別曜日別で集計してみました。

時間帯別ツイート数

f:id:piro_suke:20160207004453p:plain

このグラフを見た限りでは、 ・12時台のツイート数が最も多く、昼間の時間帯の中では突出している ・次いで12時〜23時台が平均してツイート数が多い ・朝の8時台も出勤前か登校前かその前後の時間帯と比較すると多い ・午後より午前の方がツイートが多少多い ・0時以降はツイートが少ない という感じでしょうか。 もっとデータを集めたらまた違った傾向が見えてくるかもしれませんね。

曜日別ツイート数

f:id:piro_suke:20160207004445p:plain

曜日別では、 ・平日の火曜〜金曜が土日月よりもツイートが多く、週末に近づくほど増えている くらいしか読み取れませんでした。

曜日別時間帯別ツイート数

f:id:piro_suke:20160207004437p:plain

なんだかそれっぽいグラフになった。 ・時間帯別で18時台のツイートが多くなっていたのは、水曜・木曜のツイート数が突出していたからみたい。何かイベントがあったのかな? ・12時台のツイートが多いのは昼休みのある平日だけかと思ってたら、土曜日も平日と同じくらいある ・土日のツイート数は12時前後以外は似ている ・月曜は全体的にテンションが低いのかツイート数少なめ。19時過ぎてから元気出てきた ・木金と月は夜更かし傾向 これまたもうちょっとデータを増やさないと平均が分からないですね。

ひとまず、今回のグラフを見た限りでは 予約投稿するのは8時、12時、20時あたりが良さそうです。

データの収集とグラフ作成にはClojureとincanterを使ってみたのですが、 なかなか楽しく作れました。incanterはbar-chartとline-chartくらいしか 使ってませんが。ビジュアライゼーション楽しいですね。

もっと分析できるように統計学勉強しなくては。