编者按:随着时间的推移,像机器学习、区块链、人工智能、虚拟现实和增强现实等一些有趣的新技术和概念不断地涌现出来,而与此同时一些现有的技术只能退居二线。在这种形势下,许多人在推出产品或者融资时都喜欢与这些新技术拉上关系。软件工程师 Celestine Omin 在本文中以电商领域为例,具体论证了传统结构化查询语言技术在出现 40 多年以来为何价值仍然不减当年。
不久前,我在 Twitter 上发布了一个话题,提出需要利用传统和现有工具来解决日常业务问题,而不是一味地相信最新的流行技巧以及一些花哨而复杂的技术。这个话题反响不错,也引发了一些有趣的讨论。其中一部分人同意我的观点,另一部分则表示完全不同意,他们认为我愚蠢而又虚妄。我写这篇文章也并不是想说服你接受我的想法,只是对我最初在 Twitter 帖子中所发表的内容做进一步的解释。
我们都能发现,随着时间的推移,像机器学习、区块链、人工智能、虚拟现实和增强现实等一些有趣的技术和概念不断地涌现出来,而与此同时一些现有的技术只能退居二线。现在经常会听到有人构建出以区块链技术为支撑的优秀产品,我也知道有区块链技术支持的电子商务服务和社交网络等,诸如此类的新事物还有很多。这些日子,我也经常会听到这样的话:如果你想尽早而又快速的完成融资,那你必须要投入“区块链”相关技术,即便它与你的宏观计划并没有什么关系。
不久之前,机器学习和人工智能也是这般地位。但凡有人推出一个登录页面,这页面上可能就有机器学习或者人工智能的字眼,好像不提这些字眼就无法创建一个初始页面一样。说真的,你真的是在做生意吗?老实说,你不一定非要这样。结构化查询语言(SQL)是直到现在为止我都一直看好的一项技术,这项首次出现于 1974 年、迄今已有 40 多年历史的技术在当下的重要性仍然不减当日。虽然多年来,这项技术也经历了一些改进,但它仍然以前一样强大。
我的整个职业生涯一直在与技术打交道,我也花了很长时间从事电子商务领域的工作,因此我也亲眼见证了这项技术对于我们增长并扩展业务的价值所在。这项技术对于我们来说非常有利,因为它可以让我们从收集到的数据中探索到一些有趣的信息。这些数据包括但不限于消费者行为、购物模式和习惯。它甚至能够让我们对应该持有的最小存货单位以及不该持有的最小存货单位做出预测。除此之外,它也能够帮助我们取悦客户,与那些半路离开的客户重新实现互动。下面,就让我来告诉你我们是如何做到这些的,其中也会讲到你该怎样才能做到这些。
在我同创始人以及潜在的创始人交谈时,他们总是很快就会告诉我他们有多想利用人工智能以及机器学习技术来提高客户保持率并改善客户终身价值。但事实上,他们根本不需要机器学习或者是任何相关花哨的技术,他们所需要的是正确编写结构化查询语言。以前,我曾编写过 SQL 查询来从我们生成的数据中提取有价值的信息和见解。有一次我需要知道本周顾客是谁,为的是 1) 认出他们并且 2)奖励他们。公司面向客户采取的这种简单但却让人意想不到的举措总是会让他们感到狂喜,并将其转变为传播者。在社交媒体平台,像“哇,我成为了 Konga(尼日利亚电商)的本周顾客,他们竟然奖励了我 2000 奈拉的代金券。我完全没有想到,感谢你们,你们是最棒的!”
事实证明,这比把钱花在广告上更加有效。不要误解我的意思,传统广告依然有它的价值所在,但没有什么营销手段比你自己信赖的朋友亲口向你推荐更为有效。并且,关键之处在于获取这些信息并不是那么难。除了优秀的传统 SQL 之外,你不需要任何花哨的其他技术。为了锁定本周顾客,我们编写了一个 SQL 从订单列表中选出本周最大的订单。得到客户信息之后,我们会通过电子邮件向客户发送一封感谢信,随附一张优惠券或者是代金券。你猜效果怎样?其中 99% 的人成为了回头客。我们不需要机器学习,我们只是编写了一个简单的 SQL,就获得了这一信息。
有一次,我们需要与那些一段时间没有在我们网站购物的顾客取得联系。作为负责人,我编写了一个SQL 查询,收集三个月甚或者更久以来都没有购物的客户信息。这个编写起来非常简单,例如可以从订单列表选择最后一次购物时间是在 3 个月或者更久一段时间之前的订单。当我们得到这些信息之后,我们就会给相应客户发送一封“我们想念你,欢迎你再次到来,附赠优惠券”的电子邮件。采取这样一种做法之后,我们发现由此收获的客户转换率总是保持在 50% 以上。在我看来,这两种策略比在Google 和 Facebook 上进行广告投入要有效得多,过去是这样,现在依然是这样。
我们也将这同样的想法应用于发送给客户的简报之中。我的意思是,如果你可以对此实现个性化匹配,为什么还要向所有人发送通用的简报内容?解决方案是什么?我编写了 SQL 查询来查看购物车物品并对单个物品进行提取。根据这些物品,我们可以创建一份简报,并涵盖相关内容。例如,假设一位顾客购买了一双鞋、一副太阳镜和一本书,那给他的简报中,我们就可以展示包括鞋、太阳镜和书在内的物品。显然,这比随机推荐物品要更有意义。为什么要给一位刚刚买了一双运动鞋的男性发送推荐吸奶器的促销邮件呢?这显然没有什么意义。大多数营销邮件的点击率在 7% 至 10% 区间范围内,但是当我们实现个性化匹配之后,我们发现点击率达到了 25% 至 30%。
这几乎是行业标准的三倍之多。另外,在这些邮件中,我们会以收信人名字开头,而不是亲爱的顾客这一统称。这就让这些邮件多了些人情味,也表明了我们的关切之情。所有这些都是通过优秀的 SQL 来实现,而不是花哨的机器学习。
对于那些因为这样或那样的原因而无法完成订单的客户,我们也不会轻易放弃。只要客户在购物车添加了商品,就表明他们有购买意向。为了让这样的客户完成结账环节,我编写了一个不错的 SQL 脚本,并配合一个 CRON 计划任务,这样的组合就会促成向那些购物车最后更新时间达到 48 小时或者更久时间的客户发送一封电子邮件的指令。你猜怎样?这是有效的做法。因为我们可以追踪这些电子邮件,因此我们也就知道他们是否会因为这些邮件而回来完成订单支付环节。当然,这个 SQL 编写起来同样非常简单,它会选择那些购物车状态非空并且最后更新时间大于或等于 48 小时的订单。我们将 CRON 设置为每天凌晨 2 点开始运行,因为这个阶段活动和流量较少。客户醒来后看到我们的电子邮件,就会想到之前搁置的购物车。这个过程中同样没有什么花哨的技术,只有 SQL、Bash 和 CRON。
另外,货到付款形式现在备受追捧,对此 SQL 同样能够派上用场。对于那些连续三次取消订单的客户,我们会将他们归入高警戒类别之中。下次这些客户在下单之后,我们会打电话给他们,确认他们是否真的需要订单物品。这样,我们就节省了时间,也免去了不必要的压力。在电子商务领域,物流成本昂贵,因此我们需要专注于那些真正意向客户。我们不需要机器学习或者是花哨的人工智能技术来解决这个问题,同样,我们需要的只是不错的 SQL。
对于那些符合服务等级协议标准,但订单没有及时送达的客户,我们也会使用 SQL 来管理客户期望。我们会从订单列表中选择那些下单日期> = 7天(标准交付期),但仍处于未交付状态的订单。我们再结合 CRON 计划任务,向客户发送电子邮件和短信。虽然他们不会立即给予反馈并表示赞许,但至少这一举动能让他们知道我们关心这些问题并且在努力解决问题。毕竟,没有什么比延迟交货更令人心烦的了。这一特殊的解决方案也对我们的净推荐值产生了很大的影响。还是那句话,优秀的 SQL + Bash拯救了我们。
另外:Sift Science(一家利用人工智能/机器学习来开发网络安全应用的公司)在预防欺诈方面做的非常不错,但其实对此 SQL 也可以派上用场。如果一个人试图同时用 3 张不同的卡结账,那这些卡就会反弹。这里该做的第一件也是最显而易见的事情就是暂时阻止他们的账户。这样,您将为潜在的银行卡所有者省去很多麻烦。你不需要存储银行卡详细信息,只需要存储这一特定订单号的结账尝试。这些都是很简单的事情,同样不需要机器学习,只需要编写一个合适的 SQL。
我个人也很喜欢机器学习和人工智能,但是如果你所运营的是一家拥有 1000 到 10000 名客户数量的小型在线商店,那你仍然可以依靠 SQL。毕竟,机器学习和人工智能方面的人才也并不是随处可见。
原文链接:https://cyberomin.github.io/startup/2018/07/01/sql-ml-ai.html
编译组出品。编辑:郝鹏程