店舗ごとの売れ筋商品の分析と販売価格の分析
前回は、2万3千件弱の販売管理のデータを使って分析を行いました。今回は、ID-POSのデータを使って分析を行います。
Excelで取り扱えるデータ量ですが、最大104万8,576行の制限があるため、ID-POSの全データのうち、4店舗、6ケ月分の菓子の売上データ、83万件のデータを使います。
全商品を対象とした2年分のデータを分析する場合、ほかのツールを使用することになりますが、本講座で解説している手順と手法は、その場合でも適用することができます。
はじめに、「おさらい」もかねて、次の手順を行ったあとに、商品と年齢、店舗による3次元のクロス集計について解説します。
- 目標の設定
- データクレンジング
- 確定データによる分析
解説動画
ID-POSのデータを使ったExcelによる多重クロス集計の仕方を動画で紹介しています。項目ごとにご覧いただく方法と、まとめてご覧いただく方法がございます。
※動画で紹介している操作などの詳細については、以下をお読みください。
目標の設定
分析をはじめる前に、どのような項目があるかを示します。
| 項目名 | 意味 |
|---|---|
| 売上KEY | レシート番号に相当 |
| 店舗CD | 店舗ごとに振られた番号(今回は4店舗) |
| 商品KEY | 商品に割り当てられた番号 |
| 利用日 | 商品を買上げた日(今回は2013年7月1日~2013年12月31日) |
| 利用曜日 | 商品を買上げた曜日(1~7:1が日曜日) |
| 利用時刻 | 商品を買上げた時刻 |
| カード番号 | 会員が持っているカードの番号 |
| 会員区分 | 0:非会員 1:会員 |
| 税抜金額 | 税抜きの買上げ金額 |
| 税込金額 | 税込みの買上げ金額 |
| 点数 | 買上げた商品の数 |
| 利益 | 買上げた時の利益 |
| 生年月日 | 会員で生年月日を登録してある人のみ記入 |
| 商品名 | 商品KEYに対応した商品名(部門名4に対応:複数有り) |
| 部門名1 | 嗜好食品固定 |
| 部門名2 | 菓子固定 |
| 部門名3 | 菓子の分類 |
| 部門名4 | 部門名3の分類 |
これらの項目から、「売れ筋商品の選定」を目的に分析を行います。
データクレンジング
最初に、データの抜けや異常値がないかを確認し、データのクレンジングを行います。今回は、Excelのフィルター機能を使用します。
- ID-POSデータをExcel上に展開し、[データ]タブをクリック
- 表内のセルをクリック(場所はどこでも構いません)
- [並べ替えとフィルター]グループの<フィルタ>ボタンをクリック
- 調べたい項目の表頭の<▼>ボタンをクリック
各項目でフィルター機能を使うと、項目に存在する値がすべて表示されます。データの抜けがあった場合、値の最終セルに「空白セル」という名前で表示されます。
各項目の信頼度の結果は次の通りです。
| 列名 | 項目名 | 内容(値) | 信頼度 |
|---|---|---|---|
| A | 売上KEY | 201307010000400001001210~201307050000410006004212 | 問題なし |
| B | 店舗CD | 40、41、45、46 | 問題なし |
| C | 商品KEY | 49~113431 | 商品KEYの数と商品名の数が一致すると問題なし |
| D | 利用日 | 20130701~20131231(連続で日付順) | 問題なし |
| E | 利用曜日 | 1、2、3、4、5、6、7 | 問題なし |
| F | 利用時刻 | 114452~114927(不連続で57種類) | 異常値(使用できない) |
| G | カード番号 | 0,2900010074184~2900013557585 | 問題なし |
| H | 会員区分 | 0、1 | 問題なし |
| I | 税抜金額 | -6349~16286 | 問題なし |
| J | 税込金額 | -6656~17100 | 問題なし |
| K | 点数 | -63~450 | 問題なし |
| L | 利益 | 空白セル | データ抜け(項目自体不要) |
| M | 生年月日 | 19030101~20050101、空白セル | 一部虚偽の可能性あり |
| N | 商品名 | 11栗原さんちのまろにが抹茶85g+5g~萬藤粉未寒天4g×5 | 商品KEYの数と商品名の数が一致すると問題なし |
| O | 部門名1 | 嗜好食品 | 問題なし |
| P | 部門名2 | 菓子 | 問題なし |
| Q | 部門名3 | アイスクリーム~冷凍菓子 | 問題なし |
| R | 部門名4 | アイスクリーム他~和風半・生菓子 | 問題なし |
- ※「利用曜日」については、曜日に対応した値「1」~「7」となっており、昇順で並べ替えを行い、最初と最後の値を確認することで、値の信頼度を確認することができます。
- ※「商品名」と「商品KEY」は、1対1に対応していれば問題ありません。
ピボットテーブルを使った検証方法は次の通りです。
1.「商品KEY」を[行]ボックスへドラッグします。
2.[行ラベル]の「商品KEY」の数を数えます。
※[行ラベル]以外の行(セル)で、「COUNT関数」を使って数を数えます(行番号から計算しても「4,672個」と、同じ結果が得られます)。
3.ピボットテーブルのフィールドで、[商品名]を[商品KEY]の下にドラッグします。
※「COUNT関数」の値は2倍に変化します。
(各「商品KEY」に対応する「商品名」も表示され、[行ラベル]の範囲が倍になったため)
4.そのほかに行った計算と結果
・数値の入っているセル(COUNT関数):4,672個
・数字も含めた文字の入っているセル(COUNTA関数):9,344個
・ブランクのセル(COUNTBLANK関数):0個
「商品KEY」は「4,672個」、「商品名」は「9,344-4,672=4,672個」あり、ブランクのセルがないことから「商品名」は「商品KEY」と1対1で対応していることが分かります。
以上で今回のデータには問題がないことが分かりました。
データ加工と確定データの作成
項目「生年月日」のデータから「年齢」を求め、年齢別のデータ分析に利用できるようにします。また、「金額」を「点数」で割って「単価」を求めデータ分析で利用できるようにします。このように、分析しやすいように計算を行って作成したデータを「加工データ」といいます。
年齢
年齢は、次のような操作を行うことで求められます。
- M列[生年月日]とN列[商品名]の間に列を挿入し、項目名を「年齢」とします。(「年齢」がN列となります)
- セル「N2」に次の数式を挿入します。
=IF((D2-M2)/10000>200," ",INT((D2-M2)/10000))
(D列は、「利用日(購入日)」) - セル「N2」をコピーし、最後の行まで貼り付けます。
※数式で作成したデータは、そのまま分析に使用すると誤った集計を行う可能性があります。作成したデータ全てをコピーし、[貼り付け]オプションの[値]で貼り付けましょう。
単価
単価は、次のような操作を行うことで求められます。
- L列[利益]とK列[点数]の間に列を挿入し、項目名を「単価」とします。(「単価」がL列となります)
- セル「L2」に次の数式を挿入します。
=ROUND(I2/ABS(K2),1)
- セル「L2」をコピーし、最後の行まで貼り付けます。
データ加工を行って加工データを作成し、データ分析用に出来上がったデータを「確定データ」といいます。
売れ筋商品分析
Excelのピボットテーブルを使い、「個数」と「売上金額」の上位商品を調べ、「売れ筋商品」を見つけます。全体の結果はもちろん、実際に販売している店舗ごとの「売れ筋商品」の方が重要です。
分析内容:
- 全体の上位20品目(個数と売上高)
- 各店舗の上位20品目
- 全体の上位20品目の月別の推移
全体の上位20品目
商品が売れた個数を調べる場合は「商品名(T列)」を「点数(K列)」で集計し、売れた金額を調べる場合は「商品名(T列)」を「税抜金額(I列)」で集計します。
- [挿入]タブの[テーブル]グループの[ピボットテーブル]をクリック
- [ピボットテーブルの作成]ダイアログボックスの<OK>ボタンをクリック
- [ピボットテーブルのフィールド]で (1)[商品名]を[行]ボックスにドラッグ (2)[点数]を[Σ値]ボックスにドラッグ
- [Σ値]ボックスの[データの個数]を[合計]に変更し、購入された「商品数」にします。
- 「点数」を降順に並べ替えます。
各店舗の上位20品目
全体の上位20品目で求めたピボットテーブルを使います。
- [ピボットテーブルのフィールド]を表示
- [店舗CD]を[列]ボックスへドラッグ
- 各店舗により上位20品目が順位も含め変わる
- 総計で1位の「洋風半・生菓子」の半分以上は「店舗41」で売られた
- 最終行の各店舗の総計から、「店舗46」が他の店舗の6割程度しか売っていない
全体の上位20品目の月別の推移
全体の上位20品目で作成したピボットテーブルを利用し、次の操作を行います。
- ピボットテーブルの[利用日]を[列]ボックスへドラッグ
- [20130701]のセルから[20130731]のセルまでを範囲指定
- [ピボットテーブルツール]の[分析]タブ - [グループ]の[グループの選択]をクリック
- [行ラベル]の[グループ1]をクリックし、「7月」と入力して[Enter]キーを押します
- 同様の操作を12月まで繰り返す
「アイスクリーム系」に関しては、7月・8月の「販売個数」や「売上」が多く、それ以降は少なくなる傾向があります。
販売価格
「販売価格」は、「売上」や「販売個数」とも密接に関連します。今回は傾向を見るだけにします。
- [ピボットテーブルのフィールド]の[商品名]を[行]ボックスへドラッグ
- [単価]を[行]ボックスにある[商品名]の下にドラッグ
- [ピボットテーブルのフィールド]の[点数]を[Σ値]ボックスにドラッグ
- [値フィールドの設定]ダイアログボックスから[集計方法]タブの[合計]を選択し、<OK>ボタンをクリック
- 多くを販売している価格帯が存在する
- 安く販売するものがある(見切り品などと思われる)
また、「曜日」による販売の違いを見るため、今の表に「曜日」を加えたクロス集計を行います。
総計からは、「曜日1」が一番多く、次に「曜日3」、「曜日7」と続きます。「曜日1」は「日曜日」で、「曜日7」は「土曜日」なので、「土曜日曜」に多く売れていると思われます。
次回の内容
次回は、ID-POSデータから会員データを抽出して年齢別の再カテゴリー化を行い、店舗別・年齢別・商品別の売上高や、さらに月別を加えた季節ごとの売上高を分析します。














