[Day 29] 资料产品开发实务 - 自动贴标系统

「懒惰是进步的原动力」

科技的进步降低了许多事情的门槛,例如过去要会换牌档才能开车,现在基本上就自排;过去要会打字才能用电脑传讯息,现在除了打字还可以语音传图片;以前要会调光圈快门对焦、现在就手机拿出来一按就好。我们当然不能否认专业的赛车手、专业的打字员、以及专业的摄影师仍然有独一无二的价值,但科技让开车、沟通、摄影的门槛降低了许多。

资料产品也是如此,不管前面资料分析多华丽,最终还是得满足某个需求,而这个需求通常目的都是让某件事变得更方便、更简单。像是根据使用者偏好丢使用者有兴趣的广告来提高使用者点击、推荐使用者喜欢的影片延长使用者使用 Netflix 的时间等等。以下我们将使用笔者过去的产业经验,聊聊自动决策系统的开发过程。另外如同上一篇,自动决策系统不见得一定会用到 AI 或机器学习。

开发流程

使用者标签是企业用来了解使用者、筛选使用者、便是使用者的重要机制。在做自动贴标时的流程大概会是这样:

  • 确认商务需求以及策略
    像是公司想根据客户等级来做不同的行销策略,初步想分为五级来做操作。

  • 根据商务需求建立对应的使用者概念
    定义何谓客户等级:像是依照对於公司的价值排序,价值最高的为白金、金、银、铜、最少为铁。

  • 根据概念建立操作型定义
    白金客户的操作定义:过去一个月内消费三次,总金额超过三十万元。
    金牌客户的定义:过去一个月内消费三次,总金额超过三万元。以此类推。

  • 根据操作型定义找到对应的资料来源
    以上面的定义来说,我们需要消费次数的资料、也需要消费金额的资料。但我们发现资料库中没有现成的过去一个月消费以及金额资料。尽管资料库中没有直接统计使用者的消费次数,但也可以根据使用者交易资料来做聚合,统计使用者每个月的消费次数和金额。如果缺资料的话,就要回头去改操作型定义。

  • 根据操作型定义建立标签
    简单一点可以用 SQL 去捞取过去一个月的资料来计算使用者有没有满足消费次数以及消费金额的条件,选取出对应使用者并将之命名。通常在这个实作阶段会需要再重新确认原有的定义是否符合需求,例如「过去一个月」到底是指「从今天往回算三十天」、还是「日历上的上一个月」;「消费三次」是指要在「不同天」来门市消费,还是指「同一天来三次」也算。

  • 试贴标签,确认标签是否符合概念以及商务需求
    初期在规划的时候通常不知道资料真实的分布状况以及捞出来的实际用户到底符不符合我们的需求,所以总是需要这个 try run 的阶段。例如原本设定的白金客户捞出来没想到只有两位,其中一位甚至最近十年都没有消费,这时候就要回去确认定义要不要修改。例如放宽白金客户的条件、或是多增加一个最近半年需要至少消费一次的条件。另外也可以用小规模的行销活动来测试这些标签的结果是否容易操作以及操作结果符合预期。

  • 自动化贴标
    以标签资料来说,「自动化」真的是最简单的一步了,只要设定好排程让资料库记录使用者以及相对应的标签就好。

  • 实际商务运用
    不管怎麽说,标签总是需要拿来应用在真实世界。在大规模运用後,需要进一步追踪这些标签的使用状况与成效,是否符合预期。那也如同之前有提到的,任何模型都有可能发生资料或概念漂移的状况,所以需要持续监控、调整,才能一直满足商业需求。

小结

要我总结这个流程的话,就是一个「随时都有可能倒退甚至回到起点」的大富翁(什麽粪 Game!),而且没有真的「破关」的那天,永远都有可以被打回起点!

https://ithelp.ithome.com.tw/upload/images/20210930/201411404EoCBtr3PA.png


<<:  Day 14:第三方 SDK / API

>>:  IT 铁人赛 k8s 入门30天 -- day15 k8s Workload 简介

Day7 - 2D渲染环境基础篇 III[ 变形与阵列运算 ] - 成为Canvas Ninja ~ 理解2D渲染的精髓

之前我们有提到过,canvas其实本身可以看做一群像素形成的2维阵列,而Canvas的图像变形,其实...

grep - 2 用更多Option

上篇的例子都是找档案 这次玩一下command | grep [option] pattern dp...

【Day09】Git 版本控制 - GitHub Repository

了解什麽是 GitHub 後,就来将先前新建好的 Local Repository 与 GitHub...

[DAY15]k8s必备良药-Lens

Lens - K8s上好用的client端程序 除了使用kubectl cli去操作k8s外,也有u...

【设计+切版30天实作】|Day11 - [设计进阶挑战] 如何把Reviews的呈现方式改成可滚动式的卡片呢?

设计大纲 在上一篇设计「Reviews」这个区块时,有提到切版时可能会有「切不出来」的情况发生,所以...