概要
GoogleSpreadSheetを使って、こそだてハックのKPIを管理できるツールを作成してみました。
課題
月次で数字をみて、成長しているのはわかるけど、果たしてそのスピードが速いのか?遅いのか?何が原因で伸びたのか?などがわからない状態になっていました。
解決案
現状を把握して、目標を設定する。それを簡単にできるツールを作成する
要件
- サイトの現状を把握したい
- 現状と同じ成長速度だった場合、半年後にPV, UUなどの値はどうなるのか?などをシミュレーションしたい
- シミュレーションを行った結果を反映して、目標と実績の管理を行いたい
設計
以下の3つのスプレッドシートを作成した
データソース
シミュレーションや実績管理に必要なデータをまとめておく
データの更新はアドオンやcsvデータのインポートだけでできるようにする
シミュレーター
データソースの値を参照して、グラフを描画し、シミュレーションをおこなう
操作者がセルの値を変更すると、未来の値が変化するようにする
目標・実績管理
目標値と実績値を管理する
シミュレーターで予測した値を参考に目標値を設定する
データソースを参照して、実績値を埋めていく
実装
データソース
GoogleAnalyticsアドオンを用いて、PV, UUなどのデータを自動で定期的に取得する
analyticsで取れないデータは、データベースにSQLを発行し、必要なデータのcsvを取得する。「ファイル > インポート > 現在のシートを置き換える」
シミュレーター
importrange関数とquery関数を駆使して、データソースからデータを参照する
参考: queryをimportrangeを使って別スプレッドシートのデータをフィルタリングする
目標・実績管理
シミュレーション後の値をシートにまるっとコピー
別シートでシミュレーター同様importrange, queryを用いて目標値と実績値を並べるようにする
運用
週次
データソースにデータベースのデータのcsvをインポートする
月次
目標と実績を確認する
四半期ごと
シミュレーションを行い、目標値を更新する
まとめ
csvをアップロードするという定常業務ができてしまいましたが、実績管理工数が削減されました。
また、目標値(というより最低成長ライン)ができたことで、「今以上の成長」がどういうものなのか見える化できました。
収益もだいたい予測できるので、採用計画などにも役立ってます。