2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

この本書は2017年4月1日にTeradata Japanのブログに掲載された内容を、再掲載したものです。
掲載内容の正確性・完全性・信頼性・最新性を保証するものではございません。
また、修正が必要な箇所や、ご要望についてはコメントをよろしくお願いします。

著者 山本 泰史 (やまもと やすし)

顧客分析の手順

第4回: 単一の表の作り方

顧客に関するデータを分析していく上で、データ間の関係が有している複雑さは、データ全体の見晴らしを悪くしてしまいます。前回記述した通り、データ管理上、そしてさまざまな目的に利用するために、汎用性の高い形式でデータが保持されていることについて触れました。これによってさまざまな形式に変換することが可能となり、本来はすごく便利なのですが、特定の目的に沿って分析する場合には一見複雑にも見えます。

分析データセット

このため、顧客分析を実施するという目的において、以下のような前提でデータを準備してみませんか?というのが今回の提案です。それは「各顧客を行に、それぞれの顧客に関する事実を列に配置した、単一の表を前提として顧客分析を実施する」ということです。これをデータマイニングの世界では、「分析データセット:Analytical Data Set」と呼んでいます。

図6 を参照ください。各行には顧客(番号)が配置され、そして各列にはそれぞれの顧客に関する、性別や年齢、売上金額が並んでいます。実施したい分析の対象は顧客なのですから、最初にこのような行、そして列を考え、これを前提に分析を実施したら、分かりやすくなるのではないでしょうか。列に配置しているのは顧客に関するさまざまな事実です。それは属性であったり、指標値であったりします。データマイニングの世界ではこの行を「サンプル」、そして列を各サンプルに関する「変数」と呼びますが、これと同じ方法で、分析対象となるデータを考えることとします。

image.png

そしてこの表の列には、幾つも必要な属性や指標値を追加できると考えます。物理的にこのような表を用意して、列を追加しても構いませんし、仮想的にこのような列を考えても構いません。このような形式で常にデータを想定することにより、データそのものをイメージし易くします。余談ですが Teradata のテーブルでこのような表を作成する場合、列数の制限が 2,048 のため、約2,000列毎に表を用意します。つまり、行数 = 自社の顧客数、列数 = 2,000 のテーブルが N個作成され、分析対象として用意されることを意味します。いずれにしても、このようなデータを前提に分析を実施することによって、それぞれの顧客を横並びで比較できるようになります。

変数の作り方

続いて、この列に変数(顧客属性や指標)を流し込むかを考えます。例えば性別であれば、そのままで良いかもしれません。次に年齢。単純化した方が良い場合には年齢層に集約し、より詳細な年齢で理解したい場合には、そのまま利用します。

定量的な指標値の場合、集計の仕方がデータの意味付けを変えていきます。例えば「ある商品A の買上金額」を考えた場合、以下のような変換例が考えられます。

1.商品A 買上金額(500円お買上、変換無し)
2.商品A 買上金額構成比(全商品の買上金額のうち、商品A の買上金額の割合)
3.商品A 買上有無(買上が有ったか、無かったか)
4.買上成長率(任意の連続する 2期間における買上増減率)
5.商品A 買上リフト(全顧客における買上金額平均を分母として、当該顧客の買上金額を把握)
6.2月度買上金額(特定期間に区切った場合の買上金額)
7.セール期間中における買上金額(同上)
8.オンライン買上金額(特定チャネルに区切った場合の買上金額)
9.…

このような例は、理解したい特徴の数だけ存在します。従って、必要な列数は膨大になり得ますし、分析を実施していく中で、さまざまな変数が新たに必要になり、新規に変数を作成しなければならなくなってきます。たとえば、前述した性別と商品A の買上金額を考えた場合、性別と商品A の関連性が気になるかもしれません。その場合、以下の変数を作り変えた方が良いかも…と思われるかもしれません。

商品A 買上リフト(全顧客における買上金額平均を分母として、当該顧客の買上金額を把握)

「例えば男性にしては商品A をよく買う、女性にしては商品A を買わない」という顧客毎の特徴を理解したいのであれば、上記変数を以下のように作り変えます。

商品A 買上リフト(性別毎の買上金額平均を分母として、当該顧客の買上金額を把握)

こういった試行錯誤を分析しながらも実施する場合、最初からこのような形式でデータウェアハウスに保持することが難しいことも、正規形で保持しなければならない理由も分かってきます。それは発生した素のデータをそのまま、重複なく、関連性を維持した形式で管理することにより、このような要求にも柔軟に対処するためです。

このような単一の表をベースにした考え方を実現していくにあたって、元のデータ、そして作られた変数の性質について把握しておく必要があります。このため、次回の連載では、変数の性質について整理することにします。

Teradata Vantageへのお問合せ

Teradata Vantage へのお問合せ

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?