zoukankan      html  css  js  c++  java
  • SQL足以解决你的问题,别动不动就机器学习

    导读:ML/AI当然有它们的用武之地,各大科技公司已经证明了这些技术的有效性。但是,在很多情况下,你根本不需要机器学习,只用SQL就够了。本文作者的观点并不是说服开发者放弃使用AI和机器学习这样的技术,而是希望更多开发者从实际角度出发,以解决问题为目标,减少对时髦技术的过度追求,希望这篇文章对你能够有所启发,如果你有更多的想法,请在评论区留言。

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

    人们对这个推文反应十分强烈,最终成了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广告更有效。

     马蜂窝怎么增加粉丝,马蜂窝粉丝关注攻略 https://www.douban.com/group/topic/166757292/

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

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

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

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

    马蜂窝笔记如何上精华,马蜂窝笔记获得好排名技巧 https://www.douban.com/group/topic/166742612/

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

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

    呼伦贝尔大草原旅游路线攻略 https://www.douban.com/note/753213972/

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

    呼伦贝尔大草原旅游路线攻略 https://www.douban.com/group/topic/166759222/ 

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

  • 相关阅读:
    批量新增百万条数据 十百万条数据
    sqlserver 组内排序
    EF ++属性会更新实体
    Entity Framework Core: A second operation started on this context before a previous operation completed
    abp Cannot access a disposed object. A common cause of this error is disposing
    abp xunit Can not register IHostingEnvironment. It should be a non-abstract class. If not, it should be registered before.”
    hangfire enqueued but not processing(hangfire 定时任务入队列但不执行)
    EF 更新实体 The instance of entity type 'BabyEvent' cannot be tracked because another instance
    datatable to entiy list 不支持可空类型和枚举类型
    webapi 设置不显示接口到swaggerUI
  • 原文地址:https://www.cnblogs.com/yuqiao668/p/12422544.html
Copyright © 2011-2022 走看看