【データ集計】粒度と解析単位とは?集計による情報量の減りを意識する。

最近扱わせてもらったデータで思ったことで、そういえば意外に大事だな、と思ったことを書き留める。

データの粒度とは?

営業でもデータを扱うことは多いと思うが、データの粒度を意識しているだろうか。データの粒度とは、どの単位でデータをまとめるかということ。使われ方として時間や行動単位のどの範囲で、一つのデータとするか、という意味だけど、こういった解析単位として考えても意味は同じ。例えば購買ログとして以下のようなデータがあったとする。

データ例

・売買id
・購買日
・顧客名
・売買金額
・顧客の性別
・顧客の年代
・売買商品カテゴリ

これは時系列に並んだ売買idごとのデータになる。粒度を変える、もしくは解析単位を変えるとは、スプレッドシートの別のシートのように、どう集計するか、ということ。これは当たり前のようだけど、何を求めたいかによって粒度・解析単位を変えないと行けず、結構奥が深い話だと思っている。そもそも単に単価を上げたい、といったお題は本当に頭が混乱するので気をつけたいところ。

情報量の減り

例えば購買単価について何か打ち手を考えたいとする。まず売買単位から考えてみると、ここでいう単価は一回の買い物ごとの単価ということになる。次に月集計を考えてみる。これは言うまでもなく”ひと月の”単価だ。顧客集計はどうだろうか?これは”顧客ごと”の単価である。くどいようだが、商品カテゴリー集計では”それぞれのカテゴリー単価”だ。

ここでもうワンステップ考えてみると、集計にはいくつかの方法がある。
・合計
・平均
・カウント

他にも分散や最頻値などあるがよく使うのはは上記の3つだと思う。

もうお気づきの通り、何かしらの切り口で集計するということはバラバラのものを計算することになり、これは個別に持っていた情報量が減ってしまうことになる。合計計算では数が多いのか、一つずつの単価が高かったのかの情報が消えてしまうし、平均計算をしてしまうと、1件だけ高かったのか全体的に単価が高かったのか分からない。カウントでは言わずもがな回数以外分からない。

どうすべきか

上で述べた集計では、まず情報量が減る、ということを理解した上で、平均も合計もカウントもそれぞれ付け加えるというのがまずは改善策だろう。それでもやはりばらつきは減ってしまうし、すべての変数でそれをすると、データが横にひたすら長くなってしまう。(そういったデータは統計でも機械学習でも解析できない)その上でデータを誰かに見せる・渡す場合に、もしくは自分がデータを貰う側だとすれば、この粒度の確認は必須だ。そもそも集計されたデータを渡されて、何か分析するということはかなり厳しい。その為、先に何を解析するのかを明確にするというのが得策だと思う。個別案件の単価を上げたいのか、顧客ごとの違いを見たいのか、商品ごとの違いを見たいのか。
その上でそもそも論に立ち返って、一番細かい粒度のデータをもらうことを忘れないこと。これに尽きると思う。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です