基于 K-Means 的客户细分与营销策略 —— 珠宝电商案例研究

本文原创,若引用,请注明

利用数据挖掘进行客户细分已非新鲜概念。然而,当前研究常存在流程不完整、特征多样性有限、侧重建模而非提供可操作商业策略等问题。本研究以某珠宝电商交易数据为案例,通过K均值聚类算法实施客户细分,并为不同客户群体揭示个性化营销策略。此外,本研究构建了涵盖数据清洗、特征构建、模型开发及商业策略分析的完整工作流程,为对该领域有兴趣的同学提供参考。

本研究采用Kaggle公开数据集:
https://www.kaggle.com/datasets/mkechinov/ecommerce-purchase-history-from-jewelry-store

1.引言

数据科学在商业决策中正发挥着重要作用。客户细分作为一种常见策略,正日益与聚类算法及其他数据挖掘技术深度融合。然而,由于商业数据的敏感性,相关研究与案例分享仍较为匮乏。此外,现有研究常存在流程不完整、特征丰富度不足或过度强调建模而忽视提供有意义的商业分析与洞察等问题。因此,本报告将通过珠宝电商数据案例研究,完整展示利用聚类技术进行客户细分与精准营销的全流程,识别潜在挑战并提供解决方案。

下面将介绍本项目所用数据集的必要背景。该数据集由Open CDP项目[1]收集,作为开源数据在Kaggle[2]平台免费开放获取。本数据集包含某珠宝电商平台2018年12月至2021年12月的购买记录。该文件共包含95,911行数据,需特别说明的是:每行代表一件购买商品而非单笔交易记录。因此按交易次数统计,实际交易记录总数为74,760条。此外如图1所示,数据集包含13个特征,可归类为以下三组:

  • 交易信息:包括时间戳、订单ID、商品ID、数量和价格。
  • 客户信息:用户ID。
  • 生产信息:类别ID、类别名称、品牌ID、商品性别、颜色、金属和宝石。
    在这里插入图片描述
    图表1:原始数据集字段介绍

2.背景

客户细分策略在商业领域广泛应用,可归纳为四种类型。首先,根据用户历史消费金额划分高价值客户与低价值客户。其次,基于地理位置与社交关系划分客户,例如在特定区域推出专属促销活动以激活本地市场,或根据用户分享行为启动奖励计划。第三,依据客户生命周期阶段进行划分,将其归类为新用户、活跃用户或流失用户。第四,根据客户行为进行细分,例如基于历史购买模式(如频率和金额)、消费偏好(如目标性购物与囤货行为),或特定商品相关的具体购买行为。

基于行为的分段随着现代数据科学的进步变得日益重要且可实现。K均值聚类算法是实现这一目标的关键工具之一。作为一种无监督机器学习算法,它通过最小化聚类内平方和将数据聚类为指定数量(K)的组。该算法主要包含四个步骤:首先随机选取K个数据点作为初始聚类中心。随后计算每个数据点到所有中心的距离(通常采用欧几里得距离),并将各点分配至最近聚类。针对每个聚类,算法计算所有数据点的均值并据此更新中心点。该距离重算与中心点更新过程将迭代进行,直至算法收敛或满足预设终止条件。这表明在缺乏明确客户分群标准或处理大规模数据时,运用K均值算法探索用户聚类并实施精准营销推荐,已成为现代商业领域不可或缺的能力。K均值算法因其逻辑特性存在局限性,相关问题将在第5.3建模章节中详述。

本报告研究了以往基于K均值聚类进行客户细分的成果,以及Kaggle平台上其他研究者如何处理该数据集。发现,将RFM模型用于建立关键用户行为指标,结合K均值聚类进行客户细分,
是当前广泛采用的方法。时效性(Recency)反映用户最近一次购买的时间间隔。数值越小表明购买时间越近,暗示近期活跃度较高。频次(Frequency)反映用户购买频率,数值越高通常意味着客户忠诚度越强。金额(Monetary)代表用户总消费额,数值越高表明对企业价值越大。

更重要的是,现有研究常存在流程不完整、特征丰富度不足或过度强调建模而忽视提供有意义的商业分析与洞察等问题。 因此,本文旨在通过提供一套综合框架来为感兴趣的同行提供参考。该框架基于K均值聚类算法实现客户细分与精准营销,并通过珠宝电商数据集的案例研究进行验证。

3.研究假设

本研究旨在确定能否基于该消费者购买记录数据集构建客户细分模型,并能否据此提出精准营销策略。此外,研究还致力于识别该过程中遇到的挑战,并评估潜在解决方案的适用性。

可行的假设是:K均值聚类法可用于实现客户细分,进而预测能据此实施精准营销策略。

4.关于数据集的分析

在开始建模之前,对原始数据的分析是非常重要的一环,可以让我们对业务有更多感知,为后续的模型选择、参数调优等提供借鉴。

图2呈现了两个数值变量的计数、均值和百分位数等信息,而图3则详细展示了11个分类变量的计数、唯一值、最常见类别及其频次。需再次强调的是,原始数据中的95,911条记录均对应单一ProductID,且单笔交易可能涉及多个产品。因此,分析交易相关行为时,可能需要基于订单ID将数据聚合为74,760条交易记录,而产品层面的分析则无需此类聚合。这正是图2与图3计数差异的根源。
在这里插入图片描述
图表2:数值型变量的描述性统计

在这里插入图片描述
图表3:分类型变量的描述性统计

基于以上,下述见解应作为主要关注点:

  • 数量:第70百分位数(1)与最大值(26)之间存在显著差异,表明可能存在异常值。
  • 价格:70,933的计数值低于总计,表明可能存在缺失值。此外,价格呈现1.03至34,448.6的宽幅波动,包含极端高值。但考虑到珠宝行业常涉及单价异常高的商品,这些数值不应草率归类为异常值予以剔除。
  • 用户ID:90,559的计数低于总数95,911,表明可能存在缺失值。唯一用户数低于总数暗示存在重复购买行为。此外,单个客户购买1,068件商品的情况可能表明存在高价值客户群体。
  • 类别ID与类别名称:其唯一值分别显著减少至25和218,但这两个属性之间的不一致性表明数据集中可能存在错误或噪声数据,例如命名不一致导致单个类别ID对应多个名称。此外,“耳环”成为购买频率最高的类别,交易量约达29,000笔。
  • 品牌ID:出现频率最高的品牌ID为“0”,涉及44,600笔交易。这可能并非代表品牌名称,而是无品牌产品的占位符。
  • 产品性别:存在47,743条非空记录,几乎所有产品均面向女性设计(47,379件,占比99.24%)。可能存在两种解释:其一,缺失值可能代表男性导向产品;其二,该店铺主要面向女性受众,可能因男性相关数据不足导致偏差。
  • 金属材质:主要材料包含三类,黄金产品占交易量的98.49%(90,449笔交易中89,082笔)。这可能存在数据偏差,因其他材质珠宝的记录似乎不足。

综上所述,后续步骤可能涉及处理缺失值、异常值和重复记录。此外,还需进一步分析解决CategoryID与CategoryName唯一计数不一致的问题,该现象看似不合逻辑。鉴于约98.5%的交易记录涉及黄金产品,若仅聚焦黄金首饰进行分析,或可使报告结论更具针对性与有效性。

5.1数据清洗和预处理

本节主要关注缺失值和重复值的过滤与处理,以及对类别相关字段异常值的分析,旨在获得更干净的数据集,从而基于购买行为构建客户细分模型。虽然异常值处理对聚类模型至关重要,但考虑到项目目标是通过聚类理解客户行为与偏好,更稳妥的做法是在特征工程阶段提取所有特征后再处理异常值。

缺失值

处理缺失值的常用方法包括:删除、用均值或中位数等统计量填充,以及基于算法的插补(如随机森林预测)。图4展示了数据集中各变量的缺失值比例,其中ProductGender的缺失率高达50.22%。该变量缺失值可能指向男性导向产品。然而,由于缺乏有力证据,该字段可视为非信息字段。同样地,Gem字段缺失值比例达35.51%,亦可归为非信息字段。尽管BrandID缺失值比例仅为4.99%,但图3显示其包含逾44,600条“0”值记录,占总记录约50%,表明该字段可能缺乏实质信息,可视为非信息字段。显示超过44,600条记录的值为“0”,占比约50%,表明该字段可能缺乏有效信息,可视为非信息字段。其他字段的缺失值比例约在5%至10%之间。保留这些缺失值或简单地用统计量填充可能引入噪声或错误数据,从而对后续客户细分模型和推荐系统的准确性产生负面影响。鉴于这些字段的缺失值比例普遍低于10%,下一步将涉及删除这些记录。

在这里插入图片描述
图表4:缺失值占比

重复记录

该数据集共包含3,997条重复记录。对重复记录的分析表明,其成因在于特定字段存在缺失值(如图5所示)。该缺失字段并未为这些记录提供额外信息。相反,保留这些记录可能引入噪声,
导致后续建模产生错误影响。因此,这些记录将被移除。

在这里插入图片描述
图表5:重复记录的示例

其它问题

关于CategoryName与CategoryID之间唯一计数不一致的问题,图6揭示了两个关键信息点:首先,确实存在单个CategoryName对应不同CategoryID的记录;其次,CategoryName数据本身并不包含重复值。鉴于这两个字段可能表达相同含义,建议后续分析中仅保留CategoryName作为有效字段。

在这里插入图片描述
图表6:类别名称和类别ID

5.2特征工程

特征工程主要是在构建模型前,通过特征选择与特征创建对数据集进行优化的过程。在充分挖掘原始数据中隐藏信息的同时,关键考量在于如何用尽可能少的特征捕捉尽可能多的变异性,从而降低噪声并提升效率。为解决此问题,本报告主要聚焦于特征生成、共线性分析以及基于PCA的降维处理。

在这里插入图片描述
图表7:处理后的指标描述

本报告通过分析交易数据构建了新的客户索引数据集(如图7所示),该数据集可分为三类。

第一类包含基于RFM模型构建的三个参数:最近交易时间(Recency)、交易频率(Frequency)和交易金额(Monetary)。最近交易时间的计算逻辑是测算每位用户最近一次交易与整个数据集最近交易之间的天数差值。交易频率和交易金额的计算逻辑则是分别统计每位用户的交易笔数和交易金额总和。

第二类包含六个额外指标,用于分析数据中反映的交易行为偏好。包括:单笔交易平均金额、交易最频繁的星期几、交易最频繁的时段、月均交易金额、月度交易支出波动性及月度交易趋势。针对这些月份,分别计算拟合趋势线的均值、标准差及斜率。

第三类包含五项交易产品相关指标。这些指标包括购买的产品类别数量、购买的耳环数量(Earring)、购买的戒指数量(Ring)、购买的项链数量(Pendant)以及购买的其他产品类别数量(Others)。尽管图6显示共有9个产品类别,但此设计合理——耳环、戒指和项链分别占总交易量的38.0%、33.3%和17.0%。

下一步使用隔离森林算法进行异常值检测。异常值检测与处理方法需适配数据集特性及模型具体要求。本项目将采用隔离森林算法进行异常值检测。该方法不依赖距离度量,而是通过构建多个决策树(隔离树)并随机划分数据(树分裂)来隔离数据点,因此更适用于高维数据。

图8显示数据集中约5%的客户被识别为异常值。该比例较为合理——既避免了大量数据丢失,又未保留过多潜在噪声数据点。

在这里插入图片描述
图表8:异常值占比

本报告进一步对特征间的多重共线性进行了分析。如图9所示,可观察到部分变量呈现高度相关性。例如:平均交易金额与总消费额(0.79)、月均消费额与总消费额(0.90)、月均消费额与平均交易金额(0.87)之间均存在显著相关性。这些高相关性表明变量间的变化密切关联,暗示存在一定程度的多重共线性。这可能影响聚类效果,因为无法提供独特信息的特征可能导致聚类间分离度不足。为解决此问题,采用PCA进行降维以创建一组无关变量,或有助于缓解多重共线性问题。

PCA(主成分分析)是一种降维技术,旨在从高维数据中提取最显著特征的同时尽力保留关键信息。其核心思想是通过线性变换将原始数据投影到新的正交坐标系中,并根据解释方差选择最重要的前k个成分。需要特别注意的是,在执行PCA降维前,必须使用图10所示公式对特征进行标准化处理。若未进行标准化,特征间的尺度差异可能导致某些特征在PCA过程中过度主导方差捕捉。

在这里插入图片描述
图表9:Correlation Matrix

z=x−μσ(x: Value, μ: Mean, σ: StandardDeviation) z = \frac{x - \mu}{\sigma} \quad (x:\,\mathrm{Value},\ \mu:\,\mathrm{Mean},\ \sigma:\,\mathrm{StandardDeviation}) z=σxμ(x:Value, μ:Mean, σ:StandardDeviation)

该报告采用sklearn库中的PCA方法进行实现。图10是各特征的解释方差与累积方差组合图,展示了数据集中总方差被各主成分捕获的比例,以及前k个主成分解释的累积方差。折线图显示k=9处存在转折点,此时原始数据的91%信息得以保留。然而保留9维数据仍不能视为低维数据,后续建模性能评估表明显著噪声依然存在。在依次测试k=3、k=5、k=6和k=9后,发现显著噪声仍未消除。保留9个维度仍不能视为低维数据,后续模型性能评估显示仍存在显著噪声。经k=3、k=5、k=6、k=9的序列测试,最终选取k=5作为保留的主成分数量。该选择既能保持原始数据60%以上信息量,又获得了相对较高的轮廓系数。

在这里插入图片描述
图表10:Cumulative Variance

5.3建模

本节主要聚焦于通过K均值聚类实现客户细分。有必要阐明K均值算法的主要缺陷及其应对方案。首先,作为基于距离的算法,K均值在处理高维数据时可能遭遇维度诅咒。为解决此问题,建模前通常需采用PCA等降维技术。其次,K均值要求预先设定聚类数量,可通过肘部法等可视化检验或轮廓系数等指标来估算最优聚类数。第三,K均值算法可能收敛于局部最优解而非全局最优解。采用k-means++初始化方法可缓解此问题。第四,K均值在处理密度变化的聚类时可能表现欠佳。对此可考虑采用DBSCAN等替代算法。

本节将确定最优k值,并通过轮廓系数评估模型性能,因基于PCA的降维已在前期完成。轮廓系数通过量化数据点与其所属聚类的相似度(相对于与其他聚类的分离程度)来评估聚类效果。该值范围为-1至1,数值越高表明数据点与其所属聚类的契合度越高,且与邻近聚类的相似度越低[3]。轮廓系数:

s(o)=b(o)−a(o)max⁡{a(o), b(o)} s(o) = \frac{b(o) - a(o)}{\max \{ a(o),\, b(o) \}} s(o)=max{a(o),b(o)}b(o)a(o)

  • s(o):介于-1与1之间。
  • a(o):计算点i与同一簇内所有其他点之间的平均距离。
  • b(o):计算点i与最近簇内所有点之间的平均距离。

图11显示,对于当前数据集,将初始聚类中心数设置为3可获得最佳聚类效果,其轮廓系数达0.468。该数值合理,表明聚类间存在显著分离程度。通过Python Plotly库中的go方法[5]可视化聚类结果,可见三个客户群体间具有相对清晰的边界。

在这里插入图片描述
图表11:不同k值下的轮廓系数

在这里插入图片描述
图表12:三维视图下的客户分层结果

6.商业洞察

本节将分析三类客户群体的行为特征。通过理解其偏好,可建立客户画像以指导营销策略。观察图12可得出以下洞察:

  • 簇0:这类客户特征为交易金额高且近期购买(时效性低)。但其低购买频率未显现明显趋势,因此可能代表未来高潜力的新客户群体。目前他们未表现出对交易时机或产品类型的特定偏好。因此,营销策略的下一步可聚焦于提升这些客户的购买频率。具体措施包括优化个性化推荐算法以促进购买,并通过VIP促销活动将这些客户培养成长期忠实客户。
  • 簇1:这类顾客明显偏好购买吊坠首饰,且倾向于在周末晚间购物(日间与时段指标均值较高)。其单笔消费金额较小,购买频率较低。更值得关注的是,尽管历史交易记录显示其月均消费呈上升趋势,但近期似乎已长时间未进行任何购买。这些特征表明该群体存在固定购物时段与目的,但近期购买行为已中断。可能原因包括受竞争对手影响、对产品种类不满或认为购买流程不便。针对该客户群体,营销策略的下一步应聚焦于激活措施,例如在周末深夜时段推出吊坠主题促销活动,以契合其购物偏好。
  • 簇2:该客户群体近期交易频率极高。然而近月月均消费呈现显著波动,未见稳定增长趋势,整体购买力相对较低。从产品角度看,其购买品类覆盖广泛且无明显偏好。该群体类似于价格敏感型新客户,可采取双管齐下的策略:首先推荐性价比高的单品或组合套餐;其次通过购物车页面展示“再消费50元即可免运费”等策略逐步提升该群体平均订单金额。

在这里插入图片描述
图表13:不同消费行为群体的雷达图

7.总结

本报告简要概述了基于K均值聚类的客户细分策略背景及研究综述,重点指出先前研究存在的问题,包括聚类过程不完整、特征多样性有限,以及建模后缺乏分析与洞察。此外,通过珠宝电商交易数据的案例研究,完整清晰地展示了从数据清洗、特征工程、模型评估到洞察分析的全流程。模型基于轮廓系数和视觉观察均展现出良好的聚类效果。报告还从商业洞察角度提出可执行的营销策略,有效验证了假设目标。

与此同时,未来研究还可有以下方向:

  • 该数据集在产品类别方面缺乏多样性。报告最终分析的珠宝数据主要聚焦于黄金产品,这些产品主要由女性购买,这源于数据集本身的局限性。尽管该报告为行业提供了一些指导,但不足以全面捕捉客户细分过程中面临的所有挑战,进而影响了研究结论的普适性。
  • 处理缺失值的方法需要进一步优化。综合考虑多种因素后,本报告通过移除缺失数据比例低于10%的特征来处理缺失值。后续研究可采用随机森林等算法对缺失值进行插补,并通过比较模型性能评估是否存在进一步优化空间。
  • 降维优化。在PCA降维过程中,k值的选择缺乏明确标准。本报告通过反复测试聚类性能,在兼顾轮廓系数与最大化保留信息的前提下,最终确定k=5。然而该选择仅保留了原始数据63%的信息。若能引入更多定量指标作为指导,该流程可得到优化。
  • 聚类性能可以进一步优化。该报告通过基于消费行为构建客户索引数据集成功实现了聚类,但由此产生了高维数据集。K均值聚类算法的轮廓系数表现仍有提升空间,后续工作可探索密度聚类方法(如DBSCAN)以实现更优效果。

参考文献

[1] https://rees46.com/en/open-cdp.
[2] https://www.kaggle.com/datasets/mkechinov/ecommerce-purchase-history-from-jewelry-store

✍️ 作者的话:
客户细分并不仅仅是算法问题,更是数据与商业结合的过程。希望本文案例能为大家在实际项目中提供启发。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值