[Looker] データ分析の流れを一緒に確認しましょう #looker

2022.01.24

こーんにーちわーー!!

みなさーん、Looker使ってますか?

と聞いている自分が最近Lookerを触っていなかったので、BigQueryの一般公開データセットを使用してデータ分析します。

分析をするという切り口でLookerのブログを書くのは初めてなので、手始めに課題の設定から必要なデータの収集、そしてデータ分析からの可視化と言うデータ分析のサイクルに合わせてご紹介します。

前提条件

利用データセット: Iowa Liquor Retail Sales

データ概要

アイオワ州が管理している2012年1月1日以降の小売業者が個人向けに販売した酒類の卸売購入情報。店や場所の詳細、酒の銘柄とサイズ、注文本数などが保存されています。

課題の設定

最初から順番が前後していますが、今回は売上のわかるデータセットを探していたので、データありきの課題を設定しました。

本来であれば、普段の業務でデータで解決したい課題を設定ます。

今回は卸売のデータということなので、自分を卸売会社の社員と仮定して、どの酒を仕入れればいいのかという判断を助けるための簡単なダッシュボードを作成しました。

データ分析

どの酒を仕入れればいいのか判断したいという課題なので、去年よく売れた酒を出すことにしました。

今回は私のためだけのダッシュボードなので、簡単にフィルタードメジャーを利用して2020年よりも2021年に多く売り上げた酒のTOP20を出すことにしました。

LookML定義

dimension: sale_dollars {
  label: "合計(ボトル数×州のボトル小売価格)"
  type: number
  sql: ${TABLE}.sale_dollars ;;
}
measure: total_sale_dollars {
  label: "合計総額"
  type: sum
  value_format_name: usd
  sql: ${sale_dollars} ;;
}
measure: 2020_total_sale {
  label: "2020合計総額"
  type: sum
  sql: ${sale_dollars} ;;
  filters: [order_year: "2020"]
}
measure: 2021_total_sale {
  label: "2021合計総額"
  type: sum
  sql: ${sale_dollars} ;;
  filters: [order_year: "2021"]
}
measure: diff_2020_2021 {
  label: "合計総額(2021-2020)"
  type: number
  value_format_name: usd
  sql: ${2021_total_sale} - ${2020_total_sale} ;;
}

Exploreで探索からの可視化

商品名のディメンションと合計総額(2021-2020)を選択するだけです。

このデータセットにはパーティションが設定されていないのであまり関係ありませんが、日付でパーティションが切られている場合には「終了した2年」でフィルターをかけるとスキャン量を減らせます。

スキャン量が減っているかどうかはExplore画面の実行画面の横にどれだけのデータがスキャンされるかが表示されるので、そこから確認ができます。

マリブココナッツと言うのがダントツで売上を伸ばしていることがわかります。

さらに、昨年売れた酒TOP50とその利益率を可視化します。

LookML定義

dimension: state_bottle_cost {
  label: "原価(1本あたり)"
  type: number
  sql: ${TABLE}.state_bottle_cost ;;
}
measure: total_rieki {
  label: "合計利益"
  type: sum
  value_format_name: usd
  sql: ${state_bottle_retail} - ${state_bottle_cost} ;;
}

Exploreで探索

ディメンションはそのまま商品名を選択して、メジャーは合計総額と合計利益を選択します。昨年の売上を見たいので、「終了した年」でフィルターをかけて実行します。

利益率を計算するメジャーを用意していなかったので、テーブル計算で利益率を出すことにします。

利益率を出すことができたら、グラフの体裁を整えます。

まずは、合計総額と利益率が可視化されていればいいので、合計利益のギアマークから「hide from visualisation」を選択します。

次に、利益率は線グラフで表示したいので、SettingsからSeriesを選択して、下にスクロールします。すると、Customisationという項目があるので、利益率の項目を展開して、Type=Lineを選択します。

最後に、売上とパーセントではグラフのメモリが合わないので、SettingからYタブを選択して、軸を左右に振り分けます。

ざっくりとした感想ですが、利益率の低い製品が上位を占めているのがわかります。きっと売値も安いので売れているのかなと推測できます。(今日はここまで確かめないです・・・)

そしてウォッカがダントツで売れているのは、アメリカ心配ですね。(余計なお世話ですね。)

可視化って大事

私はLookerに飼い慣らされているので、何の疑いもなくグラフにして欲しいデータを可視化しましたが、グラフにして傾向を認識しやすくするのは非常に重要です。

テーブル形式のデータを見ていると、ついつい合計利益まで表示させておきたくなりますが、グラフにするとわかりやすさに焦点が当たるので、合計利益の実数はいらないという判断をすることができます。

データは意思決定を下す際に重要なものですが、データと言っても上図画面したのテーブル形式のままだと傾向がどうなっているのかを把握するまでに時間がかかってしまいます。それに比べると、上のグラフ化したものはなんてシンプルでわかりやすいことでしょう。

ダッシュボードがテーブル形式のタイルばかりだという心当たりのある方は、ぜひ他の脳が認識しやすい可視化に変更を試みてください。こんにちはグラフ、バイバイ実数です。

これでデータを元にしたスムーズな意思決定をすることができるようになります。

効果測定

今回作成したダッシュボードです。LookMLも含めて1時間もかからずにここまでのダッシュボードを作成することができました。ここからさらに深掘りした情報が欲しくなったり、来月にまた今回の分析の結果打った試作がうまくいっていたのかどうかを確認する必要がありますが、それはまた別のお話で。

ダッシュボードを作って終わりにせず、きちんとそれによって得られた示唆と取ったアクションがどんな効果をもたらしたのかまでを確認するのがデータ分析です!

明日も元気にデータを分析しましょう!