毎日の数字を確認する(Slackをつかって)

サラリーマンとして働いている人は”自分の仕事が自社の利益にどのように貢献しているのか”気になるところだと思います。

会社の利益 = 売上 ー 費用

単純化するとこういう事ですので、サラリーマンの皆さんは常に”売上を上げ、コストを下げる”ことを意識して仕事していると思います。ま、当然ですよね。なので、売上や費用が数値として常に見える状態になっていると、素早く意思決定ができていいですね。数字を意識して仕事をするというのは重要だと思います。

以前働いていた会社は、ECサイトの運営をする会社でしたが、その時の社長は日々の売上をメールで自動配信して確認していました。途中からはそれも物足りないと感じたらしく、1時間ごとに売上をメール配信するように仕様を変更していました。

そういうわけで、自分もブログを運営しているので日々の数値を意識するべく、1日のPV数だったりSession数だったりの数値を毎日通知する仕組みをつくってみました。(1時間毎だとさすがに多いので一旦1日毎で)

通知するところは今はもうメールじゃなくてSlackでしょう。Slackで毎日の数値を通知する仕組みにしました。

■Slackとは
チャットツールです。チームで仕事したりするのに便利ですね。ボットとか外部のapiと連携できるのが良いところだと思います。

詳しくは以下を参考にしてみてください
・最近、Slackの「bot」が何でも出来過ぎて「カオス」状態になってる件!
http://plus.appgiga.jp/masatolan/2015/07/02/56363/

・Slackがカップル専用アプリだった件
http://kuma-no-kara-age.hatenablog.com/entry/2016/01/10/212347

■設定内容
Google Analyticsのapiで数値を取ってきてSlackのチャンネルに通知するだけです。
1.グーグルAnalyticsを取得するとこ
まずはここを参考にしました。
・はじめてのアナリティクス Reporting API V4: サービス アカウント向け Python クイックスタート
https://developers.google.com/analytics/devguides/reporting/core/v4/quickstart/service-py?hl=ja

この中にあるHelloAnalytics.pyを修正してgetJCBpv.pyという名前にして取得する項目を追加しました。

・追加した項目
ga:hits(PV数)
ga:users(ユーザー数)

・設定内容

      body={
        'reportRequests': [
        {
          'viewId': VIEW_ID,
          "dateRanges":
      [
        {
          "startDate": yesterday.isoformat(),
          "endDate": yesterday.isoformat()
        }
      ],
          'metrics': [{'expression': 'ga:sessions'},{'expression': 'ga:hits'},{'expression': 'ga:users'}]
        }]
      }

2.ボットで通知するとこ
こちらはシェルスクリプトですね。

#!/bin/sh

aaa=`python3 /home/ga/getJCBpv.py`
curl -X POST https://slack.com/api/chat.postMessage \
-d "token=[token name]" \
-d "channel=[channel name]" \
-d "text=$aaa" \
-d "as_user=false" \
-d "username=bot" \
-d "icon_url=[image url]" \

-d “text=$aaa” にボットが通知するメッセージを入れているわけです。

これをcronに登録して終わり。

■結果
こんな感じになりました。

いい感じじゃないでしょうか。
もう少しいろいろと進化させていこうと思います。

以上