如何预测Google BigQuery SQL中按相同order_id分组的交易的流失率?

问题描述 投票:0回答:1

我对BigQuery中的SQL很陌生。我正在尝试根据他们的order_id和date_start预测客户状态。

规则

  1. customer_status对于相同的order_id必须相同

  2. 必须根据下一个Order_ID(交易)或上一个Order_ID来预测客户状态]

  3. 这是我的代码

select week_start, t.account_id, t.order_id, date_start,date_ended,

from unnest(generate_date_array(date('2018-12-31'), date('2019-2-11'), interval 1 week) )  week_start cross join
     (select distinct account_id
      from t
     ) a left join
     t
     on t.account_id = a.account_id and
        t.reporting_week_start_date = week_start
order by  a.account_id,week_start

我的代码输出

week_start | account_id  | order_id  | date_start   | date_ended   |
2018-12-31 |    1        |    1001   |   2019-01-01 |  2019-01-15  |
2019-01-07 |    1        |    1001   |   2019-01-01 |  2019-01-15  |
2019-01-14 |    1        |    1002   |   2019-01-15 |  2019-01-27  |
2019-01-21 |    1        |    1002   |   2019-01-15 |  2019-01-27  |
2019-01-28 |    1        |    1003   |   2019-01-29 |  2019-02-04  |

期望输出

week_start | account_id  | order_id  | date_start   | date_ended   | Customer_Status
2018-12-31 |    1        |    1001   |   2019-01-01 |  2019-01-15  |  First Time
2019-01-07 |    1        |    1001   |   2019-01-01 |  2019-01-15  |  First Time
2019-01-14 |    1        |    1002   |   2019-01-15 |  2019-01-27  |  Recurring
2019-01-21 |    1        |    1002   |   2019-01-15 |  2019-01-27  |  Recurring
2019-01-28 |    1        |    1003   |   2019-01-29 |  2019-02-04  |  Churned

我该如何在Big Query SQL中执行此操作?谢谢。

我对BigQuery中的SQL很陌生。我正在尝试根据他们的order_id和date_start预测客户状态。相同的order_id的规则customer_status必须相同。customer_status必须...

sql google-bigquery lag lead
1个回答
0
投票

[分析完您的案例后,我弄清楚了可用于对客户进行分类的规则。因为您要在BigQuery上对每个客户进行分类,所以所有规则都是硬编码的。

© www.soinside.com 2019 - 2024. All rights reserved.