[SQL] month over month customer retention

how do you define month over month customer retention for Feb 2021 given the data table? How do you write the query for your definition?

Streaming Table
user_id | playback_timestamp | playback_duration

请问如何定义/interpret这个题目?我的想法是先用自连接构造monthly retention rate然后做month over month的retention rate growth rate. 还是说这个理解太复杂了,只需要构造出monthly retention rate就可以了?还是有其他理解?

首先,按我的理解,应该是这个table里面有很多不同的月份的数据例如Dec 2020, Jan 2021, Feb 2021.然后就到了第一个问题,我们如何去定义这个metric,或者说你如何去定义一个用户是churn了还是stay了,这个更多的就是你跟面试官讨论了,最简单的就是一个customer如果Jan和Feb都有playback_duration,我们就可以简单的认为这个customer在Feb stay了,然后我们Feb的rate计算公式就是count(customer_stay_Feb)/count(customer_stream_Jan)。

我认为你理解复杂了,题目里面也没有说什么growth rate。虽然我也没尝试写sql,但是这里应该不需要self join…这道题重点应该是如何定义这个retention rate。