2

rcvr_id、mth_id、tpvの3つの列を持つテーブルxyzがあります。rcvr_idは顧客に与えられたIDであり、mth_idは月番号を格納する列です(mth_idは(2012-1900)* 12 + 1,2,3 ..(月によって異なります)として計算されます。たとえば、2011年12月month_idは1344、2012年1月1345などになります。Tpvは、顧客の取引金額を示す変数です。

Example table

rcvr_id mth_id tpv

1       1344   23
2       1344   27
3       1344   54
1       1345   98
3       1345   102
          .
          .
          .
so on

P.S if a customer does not have a transaction in a given month, his row for that month wont exist.

さて、質問です。1327年から1350年までのトランザクションに基づいて、顧客を安定的または散発的に分類する必要があります。

ここに説明があります。

このパターンは1人の顧客向けです..私には何百万もの顧客がいます

上の画像は1人のお客様のものです。私には何百万もの顧客がいます。

どうすればいいですか?SQLの傾向を特定する方法、または可能な限り最善の方法でそれを行う方法がわかりません。

また、私はテラデータに取り組んでいます。

OK、標準偏差を取得する方法を見つけました。ここで重要な質問は次のとおりです。自分で標準偏差の制限を設定するにはどうすればよいですか。「標準偏差が40%を超えている場合、彼は散発的であり、それ以外は安定している」とランダムに言うことはできません。私はすべての顧客の標準偏差の平均を計算することを考えました、そしてそれがそれを超えるならば、彼は散発的であり、そうでなければ安定しています。しかし、私はもっと良い論理があるかもしれないと感じています

4

1 に答える 1

3

関数をお勧めSTDDEV_POPします。値が大きいほど、値の変動が大きいことを示します。

select 
rcvr_id, STDDEV_POP(tpv)
from yourtable
group by rcvr_id

STDDEV_POP標準偏差の関数です

これで十分に区別できない場合は、回帰関数と分散を調べる必要があります。

于 2012-08-23T10:53:36.587 に答える