本文来自微信公众号“宋星的数字观”,作者:宋星,经授权发布。
一个不需要数据科学家的时代可能真的到来了!
在数字营销的数据分析中,预测分析是运营用户的工作中,极为有价值。如果,我能提前知道我的用户中,哪些是可能会流失的,我就能提前干预;或者,我能知道我的用户中,哪些是转化机会更大的,我就会更用心的培育这些用户线索。
在前几年的CDP时代,很多CDP都可以基于用户行为,建一套权重规则算式,用于给用户leads打分,以确定哪个用户更有价值。不过,这些都是基于已经发生的历史行为的打分,而不是预测。预测是更高维度的分析,它能够建立容纳更多变量的模型,不是用人的经验去套用规则,而是剖析用户行为模式之后做出“预言”,因此,它更专业,更接近于事实。
不过,预测分析,过去做起来十分费劲,要用数学建模工具。虽然并不是特别复杂的数据建模,但对于大部分市场营销从业者,门槛颇高,因此,我们很少看到把这个技术应用在数字营销中的,尤其是对那些不能聘请专门的数据科学家或者数据建模分析师的企业而言。
不过,现在有AI了,情况就发生了很大变化。我发现,过去我觉得特别棘手特别繁琐的预测分析,现在竟然可以极为轻松且十分高效地完成。
这篇文章,我聊聊怎么做,任何人都可以实现,哪怕你没有任何编程基础或者数据建模知识。
做预测分析,从原理上讲,并不困难。它的思想一句话就能讲清楚:先用历史数据总结规律,即那些流失的人相对于没有流失的人,都有什么样的不同行为模式,把这些行为模式总结为一个数学模型,然后把这个数学模型用在现在的用户人群中,看谁有类似过去流失的人的行为模式,这些人,就是很可能会流失的人。
因此,在做预测分析时,我们一般是做两个主要的步骤。第一步是基于历史数据构建流失模型;第二步是用这个模型预测现在的用户中,流失可能性大的是哪些。
我以WA_Fn-UseC_-Telco-Customer-Churn.csv数据集为例。你可以在这里:https://www.kaggle.com/datasets/blastchar/telco-customer-churn?select=WA_Fn-UseC_-Telco-Customer-Churn.csv,下载这个数据集。
用这个数据集是因为它模拟了一个电信公司积累多年的用户数据。其中也包含对于用户是否流失的标注。如果你要用你自己的数据,也请注意,一定要在数据中标记哪些用户已经流失了。你可以用csv格式,也可以用json格式。
我将用Google Colab和ChatGPT两个工具实现这个预测模型的构建。Google Colab是一个在线运行的Python环境,可以对数据进行建模编程。而ChatGPT,我就不用介绍了。你当然也可以使用Anthropic的Claude,或者Gemini,这些AI工具都具有不错的编程能力。
好的,我们正式开始。
第一步,询问ChatGPT,我要怎么做。
你可以告诉ChatGPT,我是一个对数学统计和python一窍不通的人,但是我想用现有的手上的数据,分析那些流失了的用户的行为模式,并且建一个流失模型。我想你帮助我在Google Colab上完成这个工作。
此外,最好多交代一句,ChatGPT请你帮我一步一步实现,在我完成上一步之前,不要跟我讲下一步。
第二步,按照ChatGPT的说明,在Google Colab中上传这个文件,并且开始Python编程操作。例如,下面的内容:

它可能会出错,没关系,把出错截图给ChatGPT,它会帮你排除问题。


按照它的要求一步一步来,它帮我训练出来了第一个预测模型,并且告诉了我这个模型的准确性:

很有可能,你看不懂这个结果,别担心,把截图发给AI,它会给你解释。Accuracy是整体的预测准确率,0.8045的数值还凑合,要是能上0.9就更好;AUC是区分0(没有流失)和1(流失了)的能力。如果这个值是0.5,就表明它完全是在掷骰子,是一个很糟糕的结果,现在结果是0.836,也还行,如果能超过0.9就更好。
具体看,对于分项(没流失的0标记人群和流失了的1标记人群),预测就有点两极分化了。没有流失的标记为0的人群,准确率(85%,即预测为没有流失的人群中,有85%确实是没有流失的)、召回率(89%,所有没有流失的人群中,准确找出来的,占89%),这二者的综合分数(f1-score)为0.87。
而对流失人群的预测,不算特别好,准确率只有65%,召回率只有58%,综合表现只有0.61。
后面的macro avg(简单平均)和weighted avg(加权平均)的数据暂时不用管。
看到这样的结果,你可能会觉得不算理想。
没事儿,我们还可以让它进一步精进。

你可以一直要求它做出更准确的预测的模型。当然,由于原始的数据集本身有数据量的限制和数据质量的约束,很有可能在当前数据集下,预测模型的准确性不太可能进一步提高太多,这样你再试几次就可以适可而止了。如果有新的数据加入进来,它还是有可能进一步优化这个模型。
最后,如果你觉得它给你做的某个模型结果可接受的话,你可以要求它把这个模型导出来。


至于导出来的这个.pkl模型怎么用,也不用担心,AI仍然会教你怎么把它用在以后的数据集中。
好了,这是我最近玩的一些东西。可能不够高级,但是真的很有用。分享给大家!