数据分析师解决问题的案例研究(下)

发布时间: 2020-08-21

阶段3.深思熟虑,寻求机会进行进一步的改进

数据分析师将上述解决方案运行了一个多月,看到性能相当稳定,现在是时候考虑下一步了吗?数据分析师收回了50%的销售额,但其余50%呢?是否有可能进一步改进算法以达到目标?

通常,作为数据分析师,数据分析师倾向于过多地关注算法细节。在这种情况下,围绕如何更好地对P(V | C)建模进行了一些讨论:数据分析师是否应使用深度学习模型来使这种概率更好,等等。但是,据我了解,这些纯算法上的改进通常导致只是提高性能,而数据分析师缩小50%的剩余差距的可能性较小。

然后,我与收入团队进行了更深入的对话,并试图找出数据分析师对问题的理解中缺少的内容,结果数据分析师可以控制如何将客户分组!尽管存在一些限制(例如,客户必须从同一个经销商处生成报价),但是这给了数据分析师进一步优化的自由,我认为这是缩小其余50%销售差距的方向。

我为什么对这个方向充满信心?考虑一下这种情况:如果要分批处理4个人,每批分2个人。最佳的批处理策略是将最多的人放在同一批中,这样一来,一旦退回货品,归因将更加准确。以下可视化显示了该概念。在左侧,如果将两个音乐师放在同一批中,将两个运动员放在同一批中,则很难知道谁拥有小提琴或篮球。在右侧,如果您每批都有一位音乐师和一位运动员,那么说起音乐师A拥有小提琴,运动员D拥有篮球就更容易了。

要实现上述概念,需要执行两个步骤:

(相似度定义)如何定义顾客与顾客之间的相似度?然后以批次的熵为目标函数进行优化?

(批次优化)基于以上相似性,如何设计优化策略以实现最佳批次?

步骤1.相似性定义

在第一阶段的解决方案中,数据分析师已经找到了一种计算P(V | C)的方法,在这里,我将直接进行概括:两个客户之间的相似性与两个客户购买彼此报价的车辆的平均可能性成正比。如果每个客户仅报价一辆车(c1报价为v1,c2报价为v2),则简化版本如下所示:

相似度(C1,C2)= 0.5 *(P(V = v1 | C = c2)+ P(V = v2 | C = c1))

一旦数据分析师有了两个客户之间的成对相似性,就可以将一个批次的熵定义为该批次中的客户之间相互成对相似性的总和。现在,数据分析师有一个优化的目标函数:数据分析师想要具有最大熵的批次

步骤2.批次最佳化

阅读一些类似的研究后,我决定使用2-opt算法,这是一种用于解决旅行商问题的简单本地搜索算法。

2-opt算法的基本概念如下:在每个步骤中,随机选择两个边缘并尝试“交换”,如果交换完成后目标函数更好,则将执行交换;否则,重新拾取两个边缘。算法继续进行,直到目标函数收敛或满足最大迭代次数为止。下图说明了拾取两个边缘(红色)并将其交换为新边缘(蓝色)时获得的距离更短的情况。

为了在我的情况下应用2-opt算法,我对旅行商问题(TSP)进行了类比:

在TSP中,随机选择两个边;在我的情况下,随机选择两个批次,然后每个批次随机选择一个内部客户进行交换

在TSP中,总距离用作目标函数,越短越好;反之亦然。就我而言,所有批次的熵都是目标函数,越高越好。

太好了,数据分析师拥有优化批次的所有要素!实施该算法后,数据分析师对现有数据进行了进一步的回测,发现:可以收回超过85%的销售额。在下个月,当数据分析师将其应用于实际数据集时,发现恢复率处于相似的水平。这种方法符合预期!

阶段4.设计解决方案以使其可扩展和可维护

我上面描述的主要是算法设计部分;同时,还有工程开发部分,简单地编写代码并期望它具有可扩展性和可维护性并不容易。

在项目发展过程中,数据分析师逐渐注意到,所需模块之间存在某种依赖关系模式。车辆由许多功能代表,客户由一组车辆代表,批次由一组客户代表。通过这种高级表示,数据分析师可以将依赖关系谱系构建为Vehicle-> Customer-> Batch。

同时,作为数据产品,数据分析师需要确保系统可以发展以更新所需的参数并始终评估性能。因此,该架构是按以下方式设计的

使用这种架构,数据分析师需要定期进行以下操作:

对P(V | C)进行重新训练模型,以确保它包含最新的客户购买行为

在整个过程中进行仿真,包括批次优化和销售归因,以确保系统性能超过阈值

每月批量优化,以为数据分析师的收入团队和销售归因准备数据,以使客户与销售匹配

现在,数据分析师已经构建了可维护的可持续数据产品。鉴于数据分析团队建立了良好的声誉,明年,数据分析师将大量参与销售匹配系统的重新设计,从而进一步扩大了数据分析在公司的业务范围。由于该架构具有卓越的操作性能,它使数据分析师有更多的资源来寻求下一个挑战。

正确心态的一般问题解决流程

数据分析领域非常广泛,设计算法数据产品只是许多潜在项目的一部分。其他常见的数据分析项目包括实验设计,因果推理,深入分析以推动战略变革等。尽管它们可能并不严格遵循甚至不需要上面列出的所有阶段,但四阶段流程仍然有助于奠定基础提出一种思考解决问题的方法:

第1阶段(问题识别)旨在帮助您专注于关键问题,而在深入研究数据时不会松懈

第2阶段(第一个合乎逻辑的解决方案)是使您快速获胜并保持与业务合作伙伴建立信任的动力

第3阶段(迭代改进)旨在帮助您将解决方案向前推进并成为该区域的所有者

第4阶段(卓越运营)旨在帮助您消除技术债务,使您免于日后的日常维护工作

四个阶段的流程不一定是应该遵循的严格规则,但是如果数据分析师在面对任何即将来临的挑战时具有正确的心态,则它更像是自然的结果。我认为这些心态是:

业务驱动,而不是算法驱动。纵观全局,了解数据分析如何适应业务,了解为什么需要数据分析以及它如何带来价值。不要太拘泥于任何特定的算法:“如果您只有锤子,那么一切看起来就像钉子”。

造成问题的,不仅是接单。成为问题的所有者,意味着人们将积极思考如何立即解决,更好地解决问题以及以更少的精力解决问题。人们不会停在一个次优的解决方案上并认为它已经完成。

胸襟开阔,永远学习。作为一个跨学科领域,数据分析与统计,计算机科学,运筹学,心理学,经济学,市场营销,销售等等重叠!提前知道所有领域几乎是不可能的,因此要胸襟开阔,并不断学习。总会有比您已经知道的更好的解决方案。

希望以上分享对您有所帮助:快乐的问题解决,数据分析的方式。

发表评论

您的电子邮箱地址不会被公开。