数据分析进阶必看干货!销售额下滑详细分析案例

写在最前:最近工作一直在忙,终于能得空写篇文章。本篇文章是以一个案例的方式呈现一些数据分析相关知识。涉及详细的分析思路及多种分析方法,如多维度拆解、假设检验、相关性分析、回归分析,适用问题场景是:如何把有限的资源投放到有效的地方才能发挥出最好的效果(比如商品价格和满意度对新增用户同时有影响,这时重点关注哪个)。通过本文的学习,相信你能积累一些解决实际问题的经验。

一、项目背景

公司发现汽车销售额自一年前开始逐渐减少,想让你帮忙找找汽车销量下滑的原因,最好能提出一些解决方案。

二、利用数据分析解决问题的过程

看病的过程就像数据分析解决问题的过程,栗子:

最近感冒了去了医院,和医生发生了下列对话:
医生:“感冒了多久了?”
我:“一个星期左右, 一直流鼻涕,嗓子疼”
医生观察了一下说:“这是风寒感冒哈。”
我:“什么原因风寒感冒呢?”
医生:“最近降温了,可能着凉了”
我:“那如何应对呢?”
医生:“我给你开点感冒药,注意多穿点衣服”

1、明确问题

首先要将问题定义清楚,这是数据分析的第一步。

需要注意的两点:如果问题定义错了,后面的分析毫无意义。比如:老板告诉你:“可能是客单价高,最近利润下降了”,听到这番话,你将问题定位为“高客单价导致利润下滑了,怎么办”,这样错误的定义会缩小你的分析范围,导致最终结果出现偏差;另外一种情况,分析者根据自己过往的经验来定位问题,把思考限定在:“我觉得”,数据分析不是主观的臆断,而是一种客观的分析。

在案例中,问题的关键指标是 “销售额”,销售额下降了导致销量下滑。
①验证数据准确性

不要急于分析,首先要和相关人员确认"下滑",并有数据佐证。要保证数据本身是准确的,才能进行后面的步骤。在本案例中,可与相关人员沟通,了解清楚"销售额下滑"具体表现为哪些现象。

例如:通过分析业务数据,发现汽车销售额在这两年确实下降了15%左右。
目前要解决的问题是:销售额逐渐下降的原因是什么,怎么解决?

②理解业务指标

对于业务指标,首先要确定分析指标的含义。
在这个案例中,是用"销售额"这个关键指标,销售额这个指标是怎么定义的?
通过和业务部门沟通,明确了指标的定义:
销售额=销售量 * 平均单价
销售量=首次购买量 + 再次购买量
再次购买量=客户忠诚度 * 再次购买人数

2、分析原因

影响销售额下降的原因有很多,如果把所有原因都分析一遍,那么这个工作量是非常大的。所以,在分析原因的过程中,要优先分析关键因素。

①多维度拆解分析法
是什么?

多维度拆解分为维度(角度)和拆解,实质上是做加法。比如用户下降了 = 新用户数量 + 老用户数量

有啥用?

拆解整体数据内部各个部分的构成差异进行细分
将一个复杂的问题拆分成可以逐渐解决的子问题

怎么用?

可以通过指标构成或者业务流程来拆解

对于本案例,我们是通过指标构成拆解,对问题进行拆解,将复杂问题细化成各个子问题。为了找到"哪里出了问题",可以对"销售额"这个指标进行拆解。至于拆解到什么程度,没有统一的标准,要根据对业务的理解和实际问题灵活把握,本案例拆解如图所示:

②假设检验分析法
是什么?

假设检验实质上是逻辑推理,使用数据来做决策的过程

有啥用?

可以分析出问题出现的原因,适用于归因分析场景,比如:分析产品DAU下降原因是什么?

怎么用?

根据业务流程,提出假设——收集证据——得出结论,在业务中这三步是不断重复的过程。不断重复这个过程,直到找到问题的根源。
接下来使用假设检验分析方法对多维度拆解后的每个业务流程提出假设,并加以验证。

提出假设:销售数量或平均单价,影响销售额下降?

得出结论:销售数量与销售总额一样,也减少了近 15%。由此可见,我们应该优先关注销售数量的数据,假设成立
平均单价在 2 年期间比较稳定,基本在平均值(200 万元)上下 5%(190 万 ~ 210 万元)的范围内。至少在过去的一年里,没有出现过价格明显上升的情况,所以假设不成立

提出假设:首次或再次购买量下降,导致再次购买量下降?

得出结论:虽然两者在数量上没有太大差异,但首次购买量基本维持稳定,而再次购买量却在过去一年出现了减少。因此,可以确定,再次购买量应该是新车销售总额下滑的原因之一,假设成立

提出假设:客户忠诚度下降,导致再次购买量下降?


得出结论:可以发现导致“再次购买量”减少的是客户忠诚度的下降所导致,假设成立

至此,我们发现了导致销售额下降的关键因素是受到再次购买量以及用户忠诚度的影响。
分析到这儿,可能会有人觉得结束了!实际上并没有,现在的分析结果无法产生实际的意义。仅仅看到用户忠诚度下降还不能决定"接下来要采取哪些具体措施才能解决问题"。所以,接下来要分析为什么客户的忠诚度下降,有什么改进措施。

现在将忠诚度再进行拆解,并不断提出假设,作出验证。

提出假设:由于各差异产品的销量|平均忠诚度,影响了再次购买量。


得出结论:对销量的构成比例进行比较,发现车型 A 的比例明显小于其他车型,那么如果将问题锁定为车型 A,即使采取了有效的对策,对解决整体问题的影响仍然是有限的。因此可以暂且降低车型 A 的优先顺序

按照不同车型,对客户忠诚度在 2 年期间的平均值进行比较,只有车型 A 的客户忠诚度显著偏低,其他车型之间没有太大差别。

接下来,暂且将车型 A 从比较对象中剔除,对其余 3 个车型进行比较忠诚度变化比较。

发现车型 B 和车型 C 的客户忠诚度从年前开始逐渐降低。可能选择了竞品公司。具体数字是 2 年期间从约 80%~90% 减至 50%~60%,降低了 30-40 个百分点。表明:产品B、产品C的客户忠诚度出现了问题假设成立

提出假设: 由于竞品公司推出新产品|综合满意度下降,影响了用户忠诚度。

通过分析竞品公司推新情况,发现并没有新产品上市,假设不成立。但是,从客户的综合满意度趋势图看出明显下降了,那么说明综合满意度影响了客户忠诚度。



上面我们通过使用假设检验分析方法,首先分析出销售额下降的原因是销售数量,销售数量下降的原因是再次购买量下降,再次购买量下降原因是产品B、产品C的忠诚度下降,忠诚度下降的原因是用户综合满意度下降

两者是否具有相关性,如何来验证两种数据的相关性,可以通过相关分析法。如果相关,那么忠诚度和综合满意度有多大程度上的相关,如何衡量。

③相关分析法
是什么?

相关性分析是研究两种或两种以上的变量之间有什么关系。如果变量间有关系,叫作有相关关系;如果没有关系,叫作没有相关关系。比如:学习时长和成绩有相关关系。

有啥用?

在研究变量间有什么关系或者判断某个事情是否受到其他事情影响时,不仅能帮助我们扩大思路,还能通过相关分析来衡量两个变量因素的相关密切程度。比如判断客户忠诚度和客户满意度这两个变量有多大程度的相关?

怎么用?

如何衡量两个变量的密切程度?通过"相关系数",它就是专门用来衡量两种变量的相关程度的,并且相关系数数值的正负可以反映两种数据的相关方向,也就是说两种变量在过程中是同方向变化还是反方向变化。

通常用字母 r 来表示 。可以用来快速锁定问题。
相关系数 r 介于[-1,1] 之间,相关系数的绝对值|r | 越大,表明变量间的相关程度越强。
如果 r = 1,数据点都在一条直线上,表示两个变量完全正相关(假设有a,b两种变量),a的值越大,b的值也会越大;如果 r = -1,数据点都在一条直线上,表示两个变量完全负相关,a的值越大,b的值反而会越小。

如果相关系数>0,说明两个变量是正相关,是同方向变化,也就是一个变量的值越大,另一个变量的值就越大;
如果相关系数<0,说明两个变量是负相关,是反方向变化,也就是一个变量的值越大,另一个变量的值反而越小;
如果相关系数=0,说明两个变量是不相关(无线性相关),有可能是其它方式相关,比如曲线方式。

业务中,如何计算具体的相关系数?现在excel 或 Python都有相应的功能或函数,我们只要知道怎么用,懂内部原理就够用了。以学习时长和成绩为例,利用Excel 计算相关系数。流程如下:

下面计算本案例中综合满意度(月份平均)与客户忠诚度的相关性系数,同样利用Excel的数据分析功能。计算结果如下:

得出结论:整体客户忠诚度与综合满意度之间的相关系数为 0.64,由此可知一般来说(不区分产品),两者之间存在相关关系。再看不同产品的客户忠诚度与综合满意度的相关性, B 和 C 与综合满意度的相关系数分别为 075、0.69,数值较高,可以确认为相关,假设成立

再回到问题,只看综合满意度,还不能决定“应该釆取哪些措施”。这样的话仍然无法对实际业务产生意义,所以接下来还要再次应用相关分析来探讨“服务”、“产品”、“价格”不同维度与综合满意度之间的相关程度。定位产品B和C的综合满意度下降的根本原因是什么。

分别对两种产品的综合满意度和三种不同维度的相关性分析,结果如下:


对于B 来说,同类产品的价格比(相对而言是贵还是便宜)对综合满意度的影响较大。二者的相关系数为 -0.72,表示价格越高,顾客满意度就会越低。需要注意其变化趋势是相反的,也就是说, B 的用户对价格比较敏感。对于C,售后满意服务度对综合满意度的影响较大。二者相关系数为0.59,说明C的用户比较在意售后服务体验。

通过相关分析,发现跟销售总额相关度最高的因素是用户满意度,尤其是产品B,优先调整同类产品价格比;产品C提升售后服务水平,可以显著提升整体销售额。

现在复盘一下这个案例是如何分析的。分析流程如下:

3、提出建议

前面我们根据多维度拆解、假设检验、相关分析方法最终定位到销量下滑的根本原因。接下来也就是根据找到的原因提出建议。那么在提出建议这一步经常用的分析方法之一是回归分析。比如本案例知道需要提升满意度,但是将满意度具体改善到什么程度,才能提升销售额。这时候就需要用回归分析来计算出某个原因能够对目标造成多大程度的影响。

回归分析

回归分析是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。

销售案例:利润和销售的相关系数是0.99,说明两个变量之间存在高度正相关。现在想知道下半年销售额达到多少以后,就可以实现利润5000万元。要想预测,就要在散点图上画一条直线,穿过这些点,使这条直线尽量靠近各个数据点,这样的直线叫作最佳拟合线。前提是两种数据存在相关关系,那么就可以保证每个点合理的接近直线,这样就可以通过销售额预测出利润的值。

操作步骤如下:
①点击【数据】——【数据分析】——选择【回归】——【确定】——勾选Y 和 X 的值——选中【线性拟合图】
②上面操作会得到下图,点击【+】——选中【趋势线】——点击右边【三角】——【更多选项】——勾选【显示公式】——完成



这个方程可以理解为:Y(利润) = 0.1445X(销售额)-31.938。前面说过期望的利润目标是5000万,也就是利润Y = 5000万,代入回归方程就可以算出具体销售额= 34,823.41万元。u额就是说,根据公司下半年想要实现5000万的目标,我们需要将销售额达到34823.41万元。

以上就是使用回归分析的整体流程。简单回顾下回归分析:回归方程里面有一种自变量的,这种回归叫一元线性回归;那么使用线性回归的前提是两个变量(因变量和自变量)要有相关关系,这样才能使用一元线性回归;线性回归实质上在帮助我们解决资源合理分配的问题。比如销售案例,知道了Y值,想知道X的值是多少。还有另外一种情况就是咱们的汽车销售额下滑的案例,例如Y是综合满意度,X是售后满意度,这样我们就知道售后满意度达到多少分时,综合满意度才能提升。当决策者有多种方案要选择的时候,就可以根据回归分析,知道把有限的资源投入到哪里才能发挥出最好的效果。

回到案例中:继续解决产品B 的价格满意度提升到多少;产品C的售后满意度提升到多少,才能提高综合满意度,进一步提升客户忠诚度。首先制定业务目标,也就是回归方程的Y值。那么我们可以追溯到客户忠诚度,会发现客户忠诚度75%才是一个正常趋势,所以我们确定过了要将产品B 和 C 的忠诚度提升到 75%。

通过回归方程,得出产品B 要想达到忠诚度到75%的目标,必须将综合满意度达到75以上。
接下来提升B产品客户忠诚度:综合满意度与同类产品价格比的关系

最后提升C产品客户忠诚度:客户忠诚度与售后服务满意度的关系

如何提高售后服务满意度?

到这里,分析结束。通过回归分析,最终得出可落地的建议如下:
影响销售额下滑的主要定位到B产品的同类价格比 、C 产品的售后满意度出现问题
1)产品B : 价格波动不要高于同类产品 2%
2)产品C : 要重点抓售后服务,尤其是服务态度要达到76分

三、总结

以上是本次通过汽车销量下滑案例,映射一个完整的在工作中利用数据分析解决问题的过程。

首先,明确问题,通过观察现象,将问题定义清楚。只有明确了问题,最后的分析才有意义。其次,分析原因,可以从两个思路出发分别是哪里出了问题?为什么会出现这个问题?接下来使用【多维度拆解分析方法】,对问题进行拆解,将一个复杂问题拆解成多个子问题;对拆解的各个部分,使用【假设检验分析方法】找到哪里出现问题,在分析的过程中,可以结合其它分析方法辅助完成,比如通过相关分析法进行深入分析。最后,提出建议。找到原因不是分析的重点,而是要针对原因,给出建议或提出解决方案,并且具有落地性。这里常用的分析方法是线性回归,使用线性回归的前提是变量间具有相关性。只有这样决策者才能够根据具体的措施,合理分配资源,解决业务问题进而实现业务目标。

  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: Spark Streaming 和 Flink 都是流处理框架,但在一些方面有所不同。 1. 数据处理模型 Spark Streaming 基于批处理模型,将流数据分成一批批进行处理。而 Flink 则是基于流处理模型,可以实时处理数据流。 2. 窗口处理 Spark Streaming 的窗口处理是基于时间的,即将一段时间内的数据作为一个窗口进行处理。而 Flink 的窗口处理可以基于时间和数据量,可以更加灵活地进行窗口处理。 3. 状态管理 Spark Streaming 的状态管理是基于 RDD 的,需要将状态存储在内存中。而 Flink 的状态管理是基于内存和磁盘的,可以更加灵活地管理状态。 4. 容错性 Flink 的容错性比 Spark Streaming 更加强大,可以在节点故障时快速恢复,而 Spark Streaming 则需要重新计算整个批次的数据。 总的来说,Flink 在流处理方面更加强大和灵活,而 Spark Streaming 则更适合批处理和数据仓库等场景。 ### 回答2: Spark Streaming 和 Flink 都是流处理框架,它们都支持低延迟的流处理和高吞吐量的批处理。但是,它们在处理数据流的方式和性能上有许多不同之处。下面是它们的详细比较: 1. 处理模型 Spark Streaming 采用离散化流处理模型(DPM),将长周期的数据流划分为离散化的小批量,每个批次的数据被存储在 RDD 中进行处理,因此 Spark Streaming 具有较好的容错性和可靠性。而 Flink 采用连续流处理模型(CPM),能够在其流处理过程中进行事件时间处理和状态管理,因此 Flink 更适合处理需要精确时间戳和状态管理的应用场景。 2. 数据延迟 Spark Streaming 在处理数据流时会有一定的延迟,主要是由于对数据进行缓存和离散化处理的原因。而 Flink 的数据延迟比 Spark Streaming 更低,因为 Flink 的数据处理和计算过程是实时进行的,不需要缓存和离散化处理。 3. 机器资源和负载均衡 Spark Streaming 采用了 Spark 的机器资源调度和负载均衡机制,它们之间具有相同的容错和资源管理特性。而 Flink 使用 Yarn 和 Mesos 等分布式计算框架进行机器资源调度和负载均衡,因此 Flink 在大规模集群上的性能表现更好。 4. 数据窗口处理 Spark Streaming 提供了滑动、翻转和窗口操作等灵活的数据窗口处理功能,可以使用户更好地控制数据处理的逻辑。而 Flink 也提供了滚动窗口和滑动窗口处理功能,但相对于 Spark Streaming 更加灵活,可以在事件时间和处理时间上进行窗口处理,并且支持增量聚合和全量聚合两种方式。 5. 集成生态系统 Spark Streaming 作为 Apache Spark 的一部分,可以充分利用 Spark 的分布式计算和批处理生态系统,并且支持许多不同类型的数据源,包括Kafka、Flume和HDFS等。而 Flink 提供了完整的流处理生态系统,包括流SQL查询、流机器学习和流图形处理等功能,能够灵活地适应不同的业务场景。 总之,Spark Streaming 和 Flink 都是出色的流处理框架,在不同的场景下都能够发挥出很好的性能。选择哪种框架取决于实际需求和业务场景。 ### 回答3: Spark Streaming和Flink都是流处理引擎,但它们的设计和实现方式有所不同。在下面的对比中,我们将比较这两种流处理引擎的主要特点和差异。 1. 处理模型 Spark Streaming采用离散流处理模型,即将数据按时间间隔分割成一批一批数据进行处理。这种方式可以使得Spark Streaming具有高吞吐量和低延迟,但也会导致数据处理的粒度比较粗,难以应对大量实时事件的高吞吐量。 相比之下,Flink采用连续流处理模型,即数据的处理是连续的、实时的。与Spark Streaming不同,Flink的流处理引擎能够应对各种不同的实时场景。Flink的实时流处理能力更强,因此在某些特定的场景下,它的性能可能比Spark Streaming更好。 2. 窗口计算 Spark Streaming内置了许多的窗口计算支持,如滑动窗口、滚动窗口,但支持的窗口计算的灵活性较低,只适合于一些简单的窗口计算。而Flink的窗口计算支持非常灵活,可以支持任意窗口大小或滑动跨度。 3. 数据库支持 在处理大数据时,存储和读取数据是非常重要的。Spark Streaming通常使用HDFS作为其数据存储底层的系统。而Flink支持许多不同的数据存储形式,包括HDFS,以及许多其他开源和商业的数据存储,如Kafka、Cassandra和Elasticsearch等。 4. 处理性能 Spark Streaming的性能比Flink慢一些,尤其是在特定的情况下,例如在处理高吞吐量的数据时,在某些情况下可能受制于分批处理的架构。Flink通过其流处理模型和不同的调度器和优化器来支持更高效的实时数据处理。 5. 生态系统 Spark有着庞大的生态系统,具有成熟的ML库、图处理库、SQL框架等等。而Flink的生态系统相对较小,但它正在不断地发展壮大。 6. 规模性 Spark Streaming适用于规模小且不太复杂的项目。而Flink可扩展性更好,适用于更大、更复杂的项目。Flink也可以处理无限制的数据流。 综上所述,Spark Streaming和Flink都是流处理引擎,它们有各自的优缺点。在选择使用哪一个流处理引擎时,需要根据实际业务场景和需求进行选择。如果你的业务场景较为复杂,需要处理海量数据并且需要比较灵活的窗口计算支持,那么Flink可能是更好的选择;如果你只需要简单的流处理和一些通用的窗口计算,Spark Streaming是更为简单的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

w_yuqing

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值