Amazon QuickSight で流通小売データを可視化してみた 〜ファイルアップロード編〜
こんにちは!エノカワです。
本記事では、Amazon QuickSightを使用して流通小売業のデータを可視化する方法について解説します。
特に、CSVファイルをS3にアップロードしてQuickSightで可視化する手順に焦点を当てています。
こんな方におすすめ(想定読者)
- AWSの基本的な操作(S3、IAM)に慣れている方
- データ分析や可視化に興味がある方
- 流通小売業のデータ分析に取り組みたい方
- Amazon QuickSightをこれから始めてみたい方
私自身、QuickSightを使用するのは初めてなので、その作業ログとしてまとめた記事となります。
画面キャプチャを多く掲載しているので、初めての方の参考になればと思います!
サンプルデータの準備
本記事では、The Japan DataScientist Society が公開している小売データを使用します。
(素晴らしいデータセットを公開していただき、ありがとうございます!)
このデータセットには以下のファイルが含まれています。
receipt.csv
: レシートデータ(売上トランザクション)product.csv
: 商品マスタstore.csv
: 店舗マスタcustomer.csv
: 顧客マスタcategory.csv
: 商品カテゴリマスタgeocode.csv
: 店舗の位置情報
サンプルデータのER図です。
これらのデータを使用して、以下のような分析が可能になります。
- 日次/週次/月次の売上推移
- 店舗別の売上比較
- 商品カテゴリ別の売上分析
- 顧客セグメント別の購買傾向
- 地域別の売上傾向
今回はレシートデータ(売上トランザクション)を使用して、日別売上推移の可視化を行います。
QuickSightのセットアップ
まずは、QuickSightのアカウントを作成していきましょう。
AWSマネジメントコンソールにログインし、QuickSightのサービスページに移動します。
[QUICKSIGHT にサインアップ] をクリックして、アカウント作成プロセスを開始します。
QuickSightのサインアップ画面では、通知用メールアドレス、認証方法、リージョン、アカウント名を入力・選択します。
- アカウント通知用メールアドレス:
- QuickSightからのお知らせや通知を受け取るメールアドレスを入力します。
- 認証方法:
IAMフェデレーティッドIDとQuickSightで管理されたユーザーを使用する
(デフォルト)を選択します。- SSOやActive Directory連携が必要な場合は、用途に応じて他の認証方式も選択可能です。
- QuickSightリージョン:
- 分析を行うリージョンを選択します。
- 日本国内で利用する場合は
Asia Pacific (Tokyo)
を選択します。
- QuickSightアカウント名:
- サインイン時に必要となるアカウント名を入力します。
次に、QuickSightが分析に利用するAWSリソースへのアクセス権限を設定します。
- IAMロール:
QuickSightで管理されたロールを使用する
(デフォルト)を選択します。- 既存のロールを利用したい場合は
既存のロールを使用する
を選択します。
- リソースへのアクセス許可:
- 分析に利用するサービスにチェックを入れます。
- 今回はファイルアップロードを使用しますが、今回はデフォルトのままとしました。
- 必要に応じて、RedshiftやRDS、SageMakerなど他のサービスも選択できます。
- オプションのアドオン:
- ピクセルパーフェクトレポートは必要に応じて追加可能です(有料)。
すべての設定が完了したら、画面下部の [完了] ボタンをクリックしてセットアップを完了します。
この画面が表示されている間は、アカウントの初期セットアップが自動的に進行しています。
数分ほど待つと、QuickSightのダッシュボード画面に自動的に遷移します。
アカウント作成が正常に完了すると、完了画面が表示されます。
[QUICKSIGHTに移動する] ボタンをクリックして、QuickSightのダッシュボード画面へ進みます。
データセットの作成
QuickSightでデータセットを作成し、CSVファイルをアップロードして可視化の準備を行います。
データセットの新規作成
左メニューから [データセット] を選択します。
画面右上の [新しいデータセット] ボタンをクリックします。
ファイルのアップロード
データソースの選択画面では、様々なデータ接続方法が選択できます。
今回はCSVファイルを直接アップロードするため、データソースの選択画面で [ファイルのアップロード] を選択します。
アップロードするファイル(receipt.csv
)を選択し、プレビューでデータ内容を確認して [次へ] をクリックします。
データソースの詳細画面で、SPICEへのインポート状況やテーブルサイズを確認できます。
SPICE(Super-fast, Parallel, In-memory, Calculation Engine)は、QuickSightの高速分析エンジンです。
データをメモリに格納することで、高速なクエリ実行を実現します。
特に、フィルタリングやグループ化、集計といった操作において従来のデータベースよりも高い性能を発揮します。
また、データの変更が頻繁でない場合や、分析対象のデータサイズが適度な場合に特に有効です。
[視覚化する] をクリックして分析画面へ進みます。
新規シート作成画面が表示されます。
インタラクティブシートを選択し、[作成] をクリックして可視化を開始します。
ダッシュボードの作成
ここからは、QuickSightでレシートデータを使った「日別売上推移」の可視化を行います。
ビジュアルの追加
QuickSightでは、棒グラフ、折れ線グラフ、円グラフ、散布図、ヒートマップ、ツリーマップ、フネル図、KPIビジュアルなど、様々なビジュアルタイプが利用できます。
データの特性や目的に応じて適切なビジュアルを選択することで、効果的な分析を行うことができます。
今回は時系列データの推移を確認するため、ビジュアルタイプから「垂直棒グラフ」を選択します。
次に、グラフに使用するデータを設定します。
フィールドリストから、X軸にsales_ymd
(売上日)、Y軸にamount
(売上金額)をドラッグ&ドロップします。
グラフが描画されました。
ですが、X軸の日付が時系列で並んでいません。
X軸の設定を変えてみましょう。
X軸(sales_ymd
)の縦三点リーダーをクリックします。
形式から [その他の形式オプション] を選択します。
しかし、ここで選択できるデータ型は数値、通貨、パーセンテージのみとなっており、日付型への直接変更はできません。
ビジュアル作成画面では限定的なデータ型の変更しか行えないようです。
日付型へのデータ型変更を行うには、データセットの編集画面で設定する必要があります。
データ型を修正
データセットのプルダウンメニューから [データセットを管理] を選択します。
[編集] を選択してデータセット編集画面に進みます。
sales_ymd
の縦三点リーダーをクリックします。
[データ型の変更] - [日付] を選択します。
日付フォーマットを、データの形式に合わせて指定します。
今回のデータは20181113
のような8桁の数字で日付が表現されているため、yyyyMMdd
を指定して [更新] をクリックします。
sales_ymd
が日付型になっていることが確認できます。
receipt_no
とreceipt_sub_no
も本来文字列で扱いたい項目が数値型になっているので、同様に [データ型の変更] から文字列型に修正しておきます。
すべてのデータ型を適切に設定できたら、[保存して可視化] をクリックして編集を完了します。
可視化のカスタマイズ
データ型を修正した後、再び可視化画面に戻ると、X軸(sales_ymd
)が日付型として認識され、時系列で正しく表示されるようになっています。
X軸をより見やすい表示形式に変更しましょう。
sales_ymd
の縦三点リーダーをクリックし、表示形式をyyyy/MM/dd
など見やすい日付形式に変更できます。
表示形式が変わり、日付がより読みやすい形式で表示されるようになりました。
日付の範囲が広く、全体的に表示データが多いため、グラフが見づらい状態になっています。
棒グラフ下のスライダーを使うと、表示する期間の範囲を直感的に変更できます。
グラフのプロパティから、タイトルやX軸・Y軸のラベルも編集できます。
ここではタイトルを「日別売上推移」、Y軸を「売上金額」、X軸を「売上日」など分かりやすい名称に変更します。
ダッシュボードの公開
グラフが完成したら、画面右上の [公開] ボタンをクリックします。
ダッシュボード名を入力し、[ダッシュボードの公開] をクリックします。
公開したダッシュボードの画面右上メニューからは、以下のような機能が利用できます。
- スケジューリング: 定期的なレポート配信や更新のスケジュール設定
- エクスポート: PDF形式での資料作成や、CSV形式でのデータ出力
- 共有: 他のユーザーやグループにダッシュボードを共有
- アラート: 特定の条件を満たした場合の通知設定(Enterprise版のみ、しきい値監視など)
このように、作成したダッシュボードを様々な方法で活用・共有できます。
まとめ
本記事では、Amazon QuickSightを使用して流通小売業のデータを可視化する基本的な手順を解説しました。
QuickSightのアカウント作成から始まり、CSVファイルのアップロード、データセットの作成、そして可視化まで、一連の流れを掴んでいただけたのではないでしょうか。
今回はQuickSightの事始めとして、可視化までの手順に重点を置きました。そのため、可視化も日別売上推移の垂直棒グラフとシンプルなものにとどめています。
小売業データの可視化のテクニックについては、Amazon QuickSightのBIダッシュボードで小売りデータを分析する | Amazon Web Services ブログが参考になります。
今回使用したのはレシートデータのみでしたが、QuickSightのデータセット編集機能を使えば、商品マスタや店舗マスタなどの複数のデータを結合した、より実践的な分析も可能です。
データ結合については次回以降の記事で紹介する予定です。
また、S3参照、Athena活用、Snowflake連携についても順次記事化する予定です。