顧客の生涯価値チャートを作成する必要があり、単純な psql でこれを行う方法に行き詰まりました。
したがって、その日にサインオンした顧客が時間の経過とともに費やした平均金額を示す、各日の行を作成するという考え方です。
私のテーブルは次のようになります。
ユーザー
id | created_at
1 | 2013-11-01
2 | 2013-11-02
3 | 2013-11-03
4 | 2013-11-03
料金
id | created_at | total_amount | user_id
1 | 2013-11-01 | 49.00 | 1
2 | 2013-11-01 | 22.00 | 1
3 | 2013-11-04 | 10.00 | 1
4 | 2013-11-02 | 49.00 | 2
5 | 2013-11-03 | 66.00 | 3
6 | 2013-11-03 | 49.00 | 4
7 | 2013-11-06 | 14.00 | 4
8 | 2013-11-12 | 33.00 | 4
chart.io を使用して、これを折れ線グラフとしてレンダリングする必要があります。したがって、結果テーブルは次のようになります。
created_at | Layer | avg_amount
2013-11-01 | 2013-11-01 | 35.50
2013-11-04 | 2013-11-01 | 10.00
2013-11-02 | 2013-11-02 | 49.00
2013-11-03 | 2013-11-03 | 57.50
2013-11-06 | 2013-11-03 | 14.00
2013-11-12 | 2013-11-03 | 33.00
「作成時」とは、請求が行われた時期を指します。
「レイヤー」は、ユーザーがいつ作成されたかを示します
「avg_amount」は、「created_at」にサインアップしたユーザーのその日の平均合計料金です。
ありがとう :)
編集: 残念ながら、マーケティング担当者がグラフを見たときに仕様が変更されました...彼らは現在、Y 軸が決して落ちないようにしたいと考えています。[コホート ユーザーからこれまでに作成された収益の累計]/[コホート内のすべてのユーザー] である必要があります。したがって、分母は増加できますが、分母は決して減少しません。
したがって、結果のテーブルは次のようになります。
created_at | Layer | cumulative_amount
2013-11-01 | 2013-11-01 | 71.00
2013-11-02 | 2013-11-02 | 49.00
2013-11-03 | 2013-11-03 | 66.00
2013-11-03 | 2013-11-03 | 49.00
2013-11-04 | 2013-11-01 | 81.00
2013-11-06 | 2013-11-03 | 63.00
2013-11-12 | 2013-11-03 | 96.00
本当にありがとう