微信扫一扫
分享到朋友圈

SQL足以解决你的问题,别动不动就是机器学习

作者:InfoQ 来源:InfoQ 公众号
分享到:

07-12

作者 | Celestine Omin
编辑 | 无明

不久前,我发了一个推文,说我们需要使用传统和已有的工具来解决日常业务问题,而不是去攀附那些性感时髦却又复杂的技术。

人们对这个推文反应十分强烈,最终成了 Hackernews 的头条。这个推文引发了一些有趣的对话。有的人赞同我的观点,有些人则完全反对,还骂我是蠢货。好吧,互联网本来就是个“狂野的西部”。

我写这篇文章并不是想要说服你什么,而是打算对之前推文的内容做进一步说明。

随着岁月的流逝,一些有趣的技术和概念如雨后春笋般冒出来——机器学习、区块链、人工智能、虚拟现实、增强现实等等,而有些现有的技术则开始退居二线。经常听到有人基于区块链技术开发出优秀的产品来。

我见过基于区块链技术的电子商务服务、社交网络和版权,而这类应用程序还在不断增加中。据说现阶段你要快速及早地融到资金,必须与“区块链”扯上关系,即使从宏观上看它与区块链可能并没有任何关联。

在区块链之前是机器学习和人工智能(ML/AI),几乎所有带有“加入候补名单”字段的登陆页都会出现 ML/AI。如果你的页面上没有提到 AI,好像天会塌下来一样。但说真的,你们真的有 AI 业务吗?老实说,这个还真不一定。我今天仍然很看好的一种技术是 SQL(结构化查询语言),这项已有 40 多年历史的技术在今天仍然与 1974 年首次出现时一样重要。尽管多年来经历了一些改进,但它仍然像以往一样强大。

我的整个职业生涯都用在了技术上,我大部分时间在从事与电子商务有关的工作,亲眼目睹了这项技术如何帮助我们发展业务。我们使用这项技术来提升我们的优势,用它从我们收集的数据中找出一些有趣的信息。这些数据包含了与消费者行为以及他们的购物模式和习惯有关的信息。我们甚至可以用它预测我们应该持有或不应该持有什么样的库存单位(stock shopping unit,SKU),或者提升客户满意度,并让更多人成为回头客。接下来,让我来告诉你我们是如何做到的,或许你也可以。

在与创始人交谈时,他们总会告诉我,他们希望使用 AI/ML 留住客户和提升终身价值(Lifetime Value,LTV)。事实是,他们可能根本不需要使用机器学习或任何那些花哨的技术,正确使用 SQL 才是他们真正需要的。在以前,我使用 SQL 从我们生成的数据中提取有价值的信息和见解。有一次,我们需要知道本周的客户是谁,因为我们想要认识他们,并奖励他们。公司的这种举动通常会让顾客感到非常高兴,他们因此有可能成为公司忠实的粉丝。然后我们就会看到顾客在社交媒体上欢呼他们收到我们的奖励。

事实证明,这比把钱花在广告上更有效。不过不要误会我的意思,传统的广告仍然有它的作用,但没有什么比值得信赖的朋友的口口相传更为有效的了。最令人感到惊讶的是,获取这些信息一点也不困难。除了使用老旧的 SQL 之外,不需要任何其他花哨的技术。为了获得本周的客户,我们写了一个 SQL 语句来查询订单表,在获得这些信息后,我们通过电子邮件向客户发送一封感谢信,并附上一张优惠券。你猜怎么了?其中 99%的人成了回头客。我们从不需要机器学习,我们只用了一个简单的 SQL 查询就获得了这些信息。

有一次,我们需要与那些暂时没有购物的顾客重新建立联系。我写了一个 SQL 查询,收集了最后一次购物日期为 3 个月前的客户。这个问题也很简单。我写了一个 SQL 查询订单表,把最后一次购物日期是 3 个月前的订单捞出来。在得到这些信息后,我们会发送一封内容为“我们想你了,快回来吧,这里附上某某购物券”的电子邮件。客户的回复率始终大于 50%。同样的,社交媒体上紧接着就会出现顾客的欢呼。在我看来,这两种策略仍然比在谷歌和 Facebook 广告更有效。

我们将同样的想法应用在推送邮件上。我的意思是,既然可以进行个性化推荐,为什么要向所有人发送同样的邮件呢?那么该如何进行个性化推荐?我通过 SQL 检查购物篮中的物品,并将它们逐个提取出来。然后我们基于这些物品建立创建推送邮件,并加入相关的内容。例如,假设一个人买了一双鞋、一副太阳镜和一本书,那么在他们的推送邮件中,我们将展示鞋子、太阳镜和书籍。这比发送随机内容更有意义。我的意思是,为什么要给一个刚买了一双运动鞋的男人发一封内容为抽乳器的邮件?它可能毫无意义。大多数营销电子邮件的打开率为 7-10%。但是,在我们做得好的时候,这个数字可以接近 25%到 30%。

这个数字是行业标准的三倍。我们在这些电子邮件中使用了他们的名字作为亲切的称呼,而不只是“亲爱的顾客”,这样充满了人情味,表示我们对顾客的关心。所有这些都是通过老旧的 SQL 而不是花哨的机器学习来实现的。

对于因某种原因无法完成订单的客户,我们也没有漏掉他们。只要他们在购物车中添加了商品,就表明他们有购买意向。为了让他们能够结账,我写了一个 SQL 脚本,并设置了一个 CRON 作业,向在 48 小时之前往购物车添加过商品的顾客发送邮件。你猜怎么了?这样做很有效。因为我们可以跟踪这些电子邮件,让顾客回来继续完成订单。而这个 SQL 查询也非常简单,它选择了更新时间大于或等于 48 小时的非空购物车。我们将 CRON 设置为每天凌晨 2 点运行,这个时候活动和流量较少。然后,客户在醒来时收到电子邮件,提醒他们购物车里还有东西没结账。这里没什么神奇的东西,只用了 SQL、Bash 和 CRON。

由于货到付款(Payment On Delivery,POD)算是一件大事情,SQL 再次派上了用场。我们将连续三次取消订单的客户置为高警戒状态,下次他们再下订单时,我们会打电话给他们,确认他们确实是需要订单。这样,我们节省了时间,避免了不必要的压力。总而言之,对于这些客户,我们将对其禁用 POD,要求他们只能用银行卡或电子钱包支付。在电子商务中,物流成本是很高的,所以要把精力集中在信誉良好的用户身上。我们不需要机器学习或其他一些花哨的人工智能技术来解决这个问题,我们需要的是编写良好的 SQL。

对于在 SLA 时间窗口内未能发货的订单,我们也使用 SQL 查询来管理客户期望。我们选择处于未交付状态的订单,比如订单日期>=7 天,因为这是标准的交付周期。然后我们设置 CRON 作业,向客户发送电子邮件和短信。虽然顾客没有立即跳起来为我们鼓掌,但至少,我们向他们保证,我们关心着他们,并正在努力解决问题。没有什么比订单延迟更烦人的了。

这个特殊的解决方案也对我们的 NPS 产生了巨大的影响。我们依旧使用老旧的 SQL 和 Bash 解决了我们的难题。

Sift Science 在预防欺诈方面做得非常出色,但其实 SQL 也可以派上用场。如果一个人试图同时用 3 张不同的卡结账,并且这些卡都是空头,那么就会发生一些有趣的事情。我们首先要暂时阻止他们的账户,这样可以为真正的卡片所有者节省很多麻烦。我们不需要保存卡片的详细信息,只需保存特定订单号的结账操作,这样就可以了。这些都不需要使用机器学习,只要编写良好的 SQL 就够了。

我可能是在说 ML/AI 的坏话。这些技术有它们的用武之地,亚马逊已经证明了这些技术的有效性。但是,如果你正在运营一个拥有 1,000 到 10,000 个客户的小型在线商店,那么完全可以只用 SQL。此外,ML/AI 人才并不好找。

阅读2892
举报0
关注InfoQ微信号:infoqchina

用微信扫描二维码即可关注
声明

1、头条易读遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2、本文内容来自“InfoQ”微信公众号,文章版权归InfoQ公众号所有。

评论
更多

更多阅读

文章来自于公众号:

InfoQ

微信号:infoqchina

邮箱qunxueyuan#163.com(将#换成@)
微信编辑器
免责声明
www.weixinyidu.com免责声明    商务合作1758059460
版权声明:本站收录微信公众号和微信文章内容全部来自于网络,仅供个人学习、研究或者欣赏使用。版权归原作者所有。禁止一切商业用途。其中内容并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现头条易读网站上有侵犯您的知识产权的内容,请与我们联系,我们会及时修改或删除。
本站声明:本站与腾讯微信、微信公众平台无任何关联,非腾讯微信官方网站。
粤ICP备16075700号-1