小売業の会社らしくAmazon QuickSightで分析してみた


この記事は[ハンズラボ Advent Calendar 2021 19日目](https://qiita.com/advent-calendar/2021/handslab)の記事です。


## はじめに

AWSサービスで分析のBIサービスといえば、Amazon QuickSightを小売業の(子)会社らしく、売上サンプルデータを作成し、分析してみました。

### 前提

AWSを利用中または登録しており、Amazon QuickSightメニューからアカウントを作成し、TOP画面まで表示できる

### 想定読者

+ Amazon QuickSightの名前は知っているが、使ってみたことがない方
+ AWSのBIツールって実際どう使うの？と思っている方
+ 小売業の分析ってどういうのするんだい？と興味がある方

## やってみたこと

+ サンプルデータの作成(作成方法割愛)
[2020/04/01-2021/06/30までの売上データ](https://xfs.jp/vL2U2)
※期間はわざと過去日付にて作成いたしました。~~無理くりクリスマス商品って商品名につけました(懺悔)~~

+ サンプルデータを取り込んで、週間売上高商品比率と売上数推移のグラフを作ってみた
+ サンプルデータから計算カラムを追加し、ABC分析をしてみた


## 週間売上高商品比率と売上数推移のグラフを作ってみた

### 新しいデータセットの登録

まず、AWS Consoleにログイン後、下記TOPページの「新しい分析」ボタンから新しいデータセットにサンプルデータを登録する

![スクリーンショット 2021-12-18 18.49.37（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82819/841d0cea-7608-046e-25a5-f5c6dde8a18c.png)

今回はビジュアル化や分析をメインとしたため、エクセルデータからデータセットを作成しました。
エクセルデータからの場合は、編集履歴も読み取ってしまうので、変な値が入っていた場合等取り込む際に確認しながら行うのが吉です。

![スクリーンショット 2021-12-18 19.11.36（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82819/dacbfe12-04ef-cc56-65e8-8cce32437f32.png)

エクセルデータを取り込んだ後、シートを選択し、データが正しく取り込まれていることを確認した後、上記赤枠の「視覚化する」ボタンからいよいよグラフ作成です。

ちなみにSPICEへのインポートを大量にすると、容量次第で課金が増えてしまいますのでお気をつけください。
料金が気になる方は[こちら](https://aws.amazon.com/jp/quicksight/pricing/)へ

### グラフ作成

では、データが無事インポートされたことを確認したら、フィールドリストから「週間売上高商品比率と売上数推移のグラフ」に必要な項目をセットします。

感覚的に項目を変更することが可能で、ビジュアルタイプもころころと変えられます。
ブルーのディメンションと呼ばれる項目をX軸に配置し、集計したい項目を緑の値(Y軸)に選んでいただくとだいたいうまくいきます。

今回のグラフでは下記のように設定しました。
ビジュアルタイプについては「積み上げ棒コンボグラフ」を使用しました。

![スクリーンショット 2021-12-18 19.27.03（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82819/253ce3b6-0ab5-8e10-c43e-aa3d0f1f170f.png)

またサンプルデータ内容を見ていただくこととわかりますが、このグラフではわかりやすいように任意の５商品でフィルタをかけています。
ここまででひっかかったり、自分の思った通りのグラフを作りたい方は公式の[デモ動画](https://aws.amazon.com/jp/quicksight/resources/product-videos/)がありますので、ご参考に。

ここまではデモやハンズオンで私も馴染みがあり、さくさく作成できました✌️
次はABC分析！

## データセットに計算カラムを追加し、ABC分析をしてみた

ABC分析では商品ごとの売上高構成比を算出した後、累積構成比を元にABCの３グループに分けていきます。
今回は商品別の売上集計が必要なこともあり、商品マスタを取り込み、データとして紐づけています。
以下カラム名に[商品マスタ]とついているものが該当します。

### 計算カラムの追加

まず、ABC分析に必要な計算カラムを作っていきます。

+ 商品別合計売上高

まずは商品ごとの売上構成比算出のために、「商品別合計売上高」という計算カラムを追加します。
データセットの編集から、「計算フィールドを追加」ボタンからカラムを追加していきます。
計算カラムでは四則演算や関数が利用できます。
関数は説明が付記しており、「詳細はこちら」から公式のユーザーガイドに飛べるようになっています。

![スクリーンショット 2021-12-18 20.02.22（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82819/ef3b473a-9411-d68d-d6d0-b0f4f96a4941.png)

+ 商品ごとの売上構成比(商品別売上高構成比)

計算カラム作成にて「商品別売上高構成比」として、下記入力し、保存します。

```
percentOfTotal( {商品別合計売上高} )
```

+ 累積構成比(累積商品別売上構成比)

累積構成比を「累積商品別売上構成比」というカラム名で、下記入力し、保存します。

```
runningSum( {商品別売上高構成比} ,[ {商品別売上高構成比} DESC] )
```

+ ABCグループ分け

「ABCグループ分けというカラム名で、下記入力し、保存します。
ABCグループ分けについては値となるように今回は数値(a=1,b=2,c=3)でグループ分けしています。

```
ifelse(累計商品別売上構成比 <= 0.7, 1, 累計商品別売上構成比 <= 0.9, 2, 3)
```

以上で必要な計算カラムが揃いました。

### 分析結果

それでは、計算カラムを使用して、結果をみてみましょう。

#### テーブルで分析結果を確認

データセットのレビューでは出てこなかった計算カラムについてしっかり値が想定通り、入っていることが確認できます。

![スクリーンショット 2021-12-18 20.51.42（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82819/537fb006-fb39-d80d-7655-a4ba020cf48d.png)

#### グラフ作成

テーブル項目からグラフも作成してみましょう。

![スクリーンショット 2021-12-18 21.01.10（2）.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/82819/d72914c0-29c0-3d62-5338-4f6eb407aaa1.png)


## 最後に

ここまで読んでくださり、ありがとうございました。
計算カラムの作成は初めてだったため、調べながら苦戦もしましたが、ある程度のクセを掴むことができたかなと思っています。
今後このABC分析を足がかりに、他の分析へも応用ができそうだなという手応えも感じました。
みなさんもぜひ実際に触ってみて、分析してみてください。この記事がその一助となれば幸いです。

また、実は小売業のうちの会社でもAmazon QuickSight使ってみたいけれど、不安だなぁという方いらっしゃいましたら、[こちら](https://www.hands-lab.com/contact/)からAmazon QuickSight使用の相談をしたい旨記載の上、お気軽にお問い合わせください。


## 参考

以下のサイトを参考にさせていただきました。

[公式 Amazon QuickSight で表計算による高度な分析を行う](https://aws.amazon.com/jp/blogs/news/advanced-analytics-with-table-calculations-in-amazon-quicksight/)
[公式　Amazon QuickSight の計算フィールドの関数と演算子のリファレンス](https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/calculated-field-reference.html)
[まだ Excel でダッシュボード作ってるの？ ～Amazon AppFlow と QuickSight で SaaS のデータ可視化～](https://www.techceed-inc.com/engineer_blog/6439/)
[ABC分析［商品別売上高］ with Excel 1/2](https://bdastyle.net/tools/abc-analysis/page1.html)