データサイエンティストが送別会を企画すると草しか生えない
atama plusという教育スタートアップでデータまわりのお仕事をしている内藤と申します。毎日膨大なデータと戯れながら、素敵なサムシングを良しなに何かできないかを企んでいる者です。
これは何?
さて、夏が終わりあっという間に秋になろうとしていますね。大人になると時の流れの感じ方が本当に早くなりますね。
そんな季節の移り変わりのように、スタートアップの世界も流れが早く、当然ながら次の機会に向けて別の道を決断する方もいます。今回は次の道に進む同僚(ソウルメイト)を、謎の全力分析によって送別した件について、せっかくなのでインターネットの世界に分析事例として残しておこうかと筆をとった次第です。
当日はゲリラ的に全社会議で使うでっかいスクリーンを乗っ取り、謎の分析結果を発表しました。こいつなんか突然また始めやがった感すごかったです。
※なお、本件個人情報(?)が含まれますが、本人からは「いくらでもネタに使ってください」と快諾していただいています。
※送り出された人情報
https://note.com/ryo_tbk/
https://note.com/hisahisa135/n/nbff122cff864
前提の話:草とはなんぞや?
atama plusではSlackにおいて草スタンプが押されるとtweet-wwwwwというチャンネルに転送されるというハイテクシステムを採用しています。今回の「草」と言っているのはこの草スタンプのことです。
分析方法の話
https://note.com/njunn/n/nbdbb65dc12a8
基本的にここに書いているのと同じなので諸々省略しますが、atama plusは基本的にコミュニケーションはオープンになっています。
これよりSlackのAPIをひたすらfor文で回してたたきまくり、すべてのコミュニケーションログ(メッセージ内容、スタンプ履歴)を取得し、よしなに加工して分析にかけています。
今回は前回と同様に草スタンプの数に注目し、さらに個人に着目した分析になります。
※本筋とは関係ない少しだけ技術的な話
データを収集するのにやったことは基本的に以下のSlack APIを全てのチャンネル分で叩いているだけです。
https://api.slack.com/methods/conversations.history
ただこのAPIの気をつけないといけないポイントはスレッド内の会話履歴はそのままでは取得できないところです。スレッドが含まれるメッセージの場合はスレッドのタイムスタンプを指定して別途以下のAPIをを叩く必要があります。
https://api.slack.com/methods/conversations.replies
あるチャンネルにおけるスタンプの数で検算したところ、どうしても数が合わず、このハマりポイントにやっと気づきました。面倒なので疎かにしがちですが、やはり分析する前にデータが欠損していないかどうかの確認は非常に重要なプロセスであることを痛感しました。
今まで生やした草の数を、覚えていますか?
さて、データ分析の教科書によく書いてあるように、いきなり詳細に分析を始めるのはよくありません。まずは前提となるファクトを把握し、全体像を抑えましょう。
案外全体像というのは誰も把握していないものですね。
これが創業5年経ったスタートアップとして多いのかどうかは他社と比較してみないとわからないですが、とにもかくにもざっくり合計5万という数値をおさえておきましょう。
獲得した合計数
さてここから個に注目した分析に入っていきます。まずは先程と同様に全体数値です。
「2316」という数字はなんか多いような気もしますがイマイチどれくらいの規模なのか分かりづらいですね。そこで先程の会社全体の数字で割ってみると4.5%となります。つまり草シェア率ですね。
これはatama plus歴代で2位の記録であり、彼がatama plusの中で草エースとして活躍してきたことがよくわかります。
草獲得の時系列推移
忘れがちですが集計値というのは情報が集約されるため、時系列的な情報が落とされています。
この時系列的な情報というのは当然ながら極めて重要であり、集約値だけではわからなかった驚くべき真実が含まれていたりします。ということで彼の累積草獲得数をプロットしてみます。
こうしてわかったことは、彼は入社から一貫してペースを変えずに草を獲得し続けていたという驚異的な事実です。そして注目すべきは、最終日に目で見てもわかるレベルの垂直の伸びを示しています。これは後述しますが、最終日に大ホームラン級の大量草を獲得した結果です。
もう最終出社日だしそんなに結果はずれないだろうと油断していました。分析者泣かせですね。
獲得した全スタンプに着目
次は彼が獲得した全てのスタンプの中でのランキングを見ていきます。
なんということでしょう。彼の累積で獲得したスタンプの数は、感謝スタンプよりも草スタンプのほうが多かったのです!!
ちなみに実は最終日までは感謝のほうが多かったのですが、上述の通り、最後の最後で草が感謝を抜いてトップになるというドラマがありました。
全獲得スタンプ数のうちの草率を出すと12.2%と、およそ8.2個に1個は草ということになります。
Slackではユーザーが様々なスタンプを登録することができますが、実質的な使用頻度においては感謝や承認、返答系が大多数を占めることが一般的です。これを踏まえると、草スタンプがトップに来ていることの特異性が際立ちますね。
ヒット数
次にヒット数を見ていきます。ここでいう「ヒット」とは草スタンプが一つでもついた投稿数のことを指しています。
分析において指標の定義をちゃんと確認することはとても重要です。分析レポートなどを作る際は必ず定義や単位を明示するようにしていきましょう。
ヒットが定義できると当然打率が定義できますね。累積ヒット数を累積投稿メッセージ数で割り算すると以下のように草ヒット率の推移を可視化することができます。
時系列変化で見てみると興味深いことに打率は一定ではなく、あるところまでは継続的に上昇し続けていたことがわかります。しかしながら今年に入ってからは少し不調だったようです。なんとなく大玉のプロジェクトで忙しそうにしていたので、それが草パフォーマンスに影響したのではないかと推察されます。
そういったスランプ?に悩まされつつも、大幅に崩れず、草パフォーマンスを一定レベルで保ち続けてきたその姿勢はイチローのような美学を感じます。
ホームラン数
最後にホームランの数を見ていきます。「ホームラン」の定義は1回の投稿に対してついた草の数が20以上としています。
これは現状の草数分布からとりあえず99%ileをとってきてみんなが覚えやすい値を閾値として設定しました。数個程度草がつくような投稿はそれほど珍しくありませんが、20個を超えてくるとかなり珍しい現象という感じですね。
この定義で集計してみると7個該当する投稿があったようです。単位は「草」の上位互換として「森」にしました。
特に意味はありません。
最終成績まとめ
さて、最終結果としてそれぞれの順位を出してみました。
こうして記録を並べてみると、如何に彼がatama plusにおける草リーグの名選手だったのかがよくわかりますね。
草戦力として彼の損失は大きいですが、次のフィールドでの活躍を応援したいと思います。
移籍後の様子
移籍先のリーグでも早速活躍しているようです。さすがですね。
まとめ
Slackにはあらゆる人の喜びも悲しもいろいろ含まれているため、いろいろな軸で可視化してみると示唆深い発見がある
たった一つのスタンプに着目しても、それらのデータにはその人の個性が多く表れている
どんな対象を分析するにしても、データの欠損確認や指標定義の明文化など基本が大事
宣伝
データエンジニアではないですがこういうイベントに直近出ます。不安しかない!
この記事が気に入ったらサポートをしてみませんか?