顧客の「平均生涯価値」を計算しようとしています。これは、すべてのお客様が当社を利用している期間と過去 30 日間の平均合計支出額です。
テーブル内のデータ (顧客):
|-----------------------|
| ID | FirstName |
|-----------------------|
35 John
84 Mike
90 Cassie
テーブル内のデータ (tblservice):
|---------------------------------------------------|
| serviceID | Timing | Total | customerID |
|---------------------------------------------------|
1 3/10/2012 5.00 35
2 3/19/2012 5.00 35
3 3/20/2012 10.00 35
4 3/25/2012 10.00 84
5 4/15/2012 10.00 84
注: テーブル "customer" と "tblservice" は 1 対多の関係にあります。
これは私がこれまでに得たもので、顧客が購入するたびに平均支出を計算します. しかし、今は平均購入コストを計算する必要はありません
顧客ごとの合計支出の平均を計算しようとしています。したがって、最初に各顧客が行ったすべての購入を合計し、次に顧客の総数で割る必要があります。
上記のテーブル レイアウトでは、顧客 35 の平均生涯価値は ((5+5+10)/3) = 6.66 & 顧客 84 の平均ライフタイム バリューは ((10+10)/2) = 10.00 として計算されます。
次に、顧客ベース全体の平均ライフタイム バリューを見つけるには、各顧客の結果を次のように平均化する必要があります: ((6.66+10)/2) = 8.33
助けてください。これまでの 2 つのクエリを次に示します (1 つは全期間用、もう 1 つは過去 30 日間用)。
SELECT AVG(tblservice.Total) AS LifetimeValue FROM tblservice;
SELECT AVG(tblservice.Total) AS LifetimeValue FROM tblservice
WHERE ((tblservice.Timing)>=DateAdd("d",-30,Date()));