30天前在Ruby / Rails中计算活跃客户

时间:2016-09-08 09:30:22

标签: ruby-on-rails ruby

我想在我的rails应用中计算用户流失。

例如。以过去30天内失去的所有客户为例,将其除以30天前的活跃客户总数。您不包括该月的任何新销售。

我的用户表上有一个:deleted_at列,用于确定有人取消的时间,因此上个月丢失的客户数量相对容易。

我不知道从哪里开始的计算是'活跃客户30天前'

1 个答案:

答案 0 :(得分:1)

您的'活跃客户30天前'应该是这样的:

previous_day = Date.today - 30.days
User.where("created_at < :date AND (deleted_at > :date OR deleted_at is NULL)", {date: previous_day})

编辑:您可以像这样看到它

- 结果:收集过去30天内您失去的所有客户,并将其除以您30天前的活跃客户总数。您不包括该月的任何新销售。

( (User.active_now - User.active_and_created_in_the_last_x_days) - User.was_active_x_days_ago ) / User.was_active_x_days_ago

- 收集过去30天内失去的所有客户:

(User.active_now - User.active_and_created_in_the_last_x_days) - User.was_active_x_days_ago )

- 30天前您有活跃客户总数:

User.was_active_x_days_ago

- 您不包括该月的任何新销售。

User.active_and_created_in_the_last_x_days