<< トップページへ

<< 目次へ

最終更新日: 2016.2.20

1.データ



1-1 データ形式

データ形式は2つあります。1つは「マスタ形式」のデータ、もう1つは「トランザクション形式」のデータです。マスタ形式のデータとは、例えば「顧客マスタ」や「商品マスタ」といったものがあげられます。一方でトランザクション形式のデータとは、購買履歴を表す「POSデータ」やwebサイトのアクセス履歴を表す「アクセスログ」などがあげられます。人によってはマスタとかトランザクションとか聞き慣れない用語だとは思いますが、実際のデータ形式を見てみれば分かりやすいでしょう。


【代表的なマスタデータ】

マスタ形式では固有識別子が1レコードのみ存在します(あるIDについて重複を許しません)。固有識別子とは難しい用語ですが「他に存在しない唯一のもの」というように考えればよく、要は「顧客ID」のことです。例えば顧客ID「0001」とは「ある誰か」を示していますが、それは「片所強」という人物を表していたりします。同姓同名はいるかもしれませんが、少なくとも「この片所強さんは」世の中に一人しか存在しないはずです(クローン人間でもいない限り・・・)。なお、「登録ID」はwebサイトでのマイページ登録している顧客に付与されるIDなので、マイページ登録が「無」である顧客「0172」については登録IDの値が欠損になっています(つまりは空白)。

▼顧客マスタ
顧客ID 性別 年齢 購買ランク マイページ登録 登録ID
0001
0012
0172
0199
男性
男性
女性
男性
25
38
20
20
ゴールド
ノーマル
ノーマル
シルバー



19928901
22309980

30003119
 →顧客の属性が分かる
▼商品マスタ
商品ID 商品名 商品カテゴリ(大分類) 定価
A145
A226
A398
B665
元気パン
モリモリ弁当
レッドホットサンド
天然りんごジュース
食品
食品
食品
飲料
100
450
230
90
 →商品の情報が分かる


【代表的なトランザクションデータ】

トランザクション形式では固有識別子が複数レコード存在します(あるIDについて重複を許します)。例えば顧客ID「0001」の片所強さんはPOSデータの表において「6レコード」存在しています。これは片所強さんが6人いるということではありません。同一人物が「複数回にわたってある行動をとった」という履歴を示しているだけです。ただし、トランザクションデータを見る際には注意が必要です。片所強さん(=0001)は6レコード登録されていますが、「6回の購買行動を起こした」ということにはなりません。

POSデータの表における「購買日」と「レジNo」に着目して考えてみましょう。片所強さん(=0001)は2012/3/4に購買行動を起こしていますが、レジNoを見てみると2レコード中、どちらも「0012」となっています。ここでいうレジNoとは「商品をレジに出す→会計する→商品が手に入る(レジを去る)」という1連の出来事を識別するものです。私たちがいつもコンビニやスーパーでやっていることですね。さて、同じように見ていくと2013/5/10は1レコードでレジNoは0002、2016/1/23は3レコードでレジNoは「0125と0226の2つ」が存在していることがわかります。これは同日に2回レジを通っている(買い物をしている)ということです。

まとめると顧客ID「0001」の片所強さんは過去に「3日」来店購買したともいえますし、「4回」レジを通過したともいえます。つまり単に購買行動を起こした、すなわち購買回数はいくらかという問題に対して日付で考えるのかレジNoで考えるのかにより、その数値(集計値)のもつ意味が変わりうるということです。

▼POSデータ
顧客ID 購買日 商品名 点数 レジNo
0001
0001
0001
0001
0001
0001
0172
0172
0199
2012/3/4
2012/3/4
2013/5/10
2016/1/23
2016/1/23
2016/1/23
2015/10/10
2016/2/9
2015/2/9
元気パン
天然りんごジュース
元気パン
元気パン
天然りんごジュース
モリモリ弁当
レッドホットサンド
天然りんごジュース
元気パン
1
1
2
1
1
1
2
5
2
0012
0012
0002
0125
0125
0226
0009
0221
0222
 →顧客の購買履歴が分かる(いつ、何を、いくつ買ったか?)
▼アクセスログデータ
顧客ID アクセス日 閲覧ページ
0001
0001
0001
0012
0012
2012/3/4 16:33:24
2012/3/4 16:33:27
2012/3/4 16:33:40
2015/5/9 12:56:01
2015/9/18 23:45:55
http://abc/abcde/
http://abc/abcde/abcdef/
http://abc/
http://zkd/ddeg/
http://zkd/ddeg/
 →顧客のページ閲覧履歴が分かる(いつ、どのページを閲覧したか?)


1-2 変数の型

「データ」といってしまうと、実は曖昧な表現になってしまっているのですが、とにかくデータといったときに以下の3つ構造関係を思い浮かべてもらうといいと思います。実は上述のデータ軽視の話は「2.データテーブル」という単位のなかでの話でした。ここではデータ形式(データテーブル)に続いて、変数についての話をしていきます。

  1. データベース ・・・ 1つ、もしくは複数のデータテーブルを保存しておくハコ
  2. データテーブル ・・・ 1つ、もしくは複数の変数(カラム、項目ともいう)を保存しておくハコ
  3. 変数 ・・・ 1つ、もしくは複数の値を保存しておくハコ

さてこの「変数」というのは、表現は難しくなってしまいますが簡単にいうと「ある事象を文字や数値で表現されたもの」と考えることができます。例えば顧客IDという変数は「どの個体か?」を識別するという意味をもっていますし、購買日は「いつ買われたか?」ということを意味しています。つまり変数は必ず「何か意味をもっている」ということです。ただし、それを人間が解釈できるかどうかは別問題です。

細かいことですが、重要なことなので説明しておきます。上のPOSデータの表において「点数」という変数がありますが、これは「何個買われたか?」ということを意味しています。しかし、このように解釈できるのは、「商品名の隣に配置されているので、何となく商品が何個買われたかを表しているのだろうな」と推察しているからです。もっといえば、このテーブルは「顧客の購買行動を記録したものである」という前提情報が与えられているから分かることです。つまり変数を解釈するためには、こうした前提条件や変数間のつながり(他の情報からの推察)、もっといえば実際の世界で生じているであろう現象を想像し、概念として理解しておかないと「変数の意味を見誤る」可能性があるということです。

少し話がずれてしまいました。本題に入って「変数の型」について説明することにしましょう。変数の型には2つあります。1つは「連続型」、もう1つは「カテゴリカル型」です。連続型とは年齢(歳)、身長(cm)、体重(kg)、金額(円)、購買点数(個)、滞在時間(分)、経過日数(日)などです。カテゴリカル型とは性別(男/女)、結婚(してる/してない)、持家(あり/なし)、学年(1年/2年/3年)、会員ランク(通常/優良/プラチナ)などです。 →詳しく知りたい人はこちらのページを参照

この変数の型(連続型かカテゴリカル型か)は非常に重要な概念なので必ず覚えてください。後に紹介するデータ加工の際に、この両者を区別できているかどうかで「作業に大きな影響」を及ぼします。逆にいえばこの2つをきちんと区別できていれば、ほぼ怖いものはありません。