我需要建立一个客户生命周期价值图表,并被困在如何在普通的 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
非常感谢