项目背景说明
餐饮外卖平台的核心价值体现在配送,而配送的价值则依赖于商家与客户的双向选择。外卖平台通常会通过内容激活消费者和商家两个群体的活跃度。消费者会参考平台展示的内容选择商家,商家也会以消费者评价与平台统计数据为依据调整策略,由此再吸引更多的用户下单、评论、形成正向循环。保证配送的时效与品质是从优化用户体验的角度,吸引更多的用户参与,进而带动商家不断入驻。由此,商家、消费者、骑手在平台上形成越来越多的真实可靠的数据,帮助消费者更好的做出消费决策,同时促进商家提高服务质量。而平台通过数据,不断调整优化服务,从而不断提升这种多边网络效应。提升网络效应的直接结果就是用户和商家规模大幅提升,进而形成规模效应——降低获客成本、提高效益,并且不断提升自己的行业壁垒。
为探索各大外卖平台的市场策略与经营模式,现已从平台获取到了原始数据集,包含“餐厅id,retailer_id,餐厅名称,城市,商户业务包,配送范围,客单价,推单数,接单数,有效完成单数,投诉率,异常率,欺诈单数,拒单数,商户取消数,客户取消数,系统取消数,配送取消异常数,整体时长,接单时长,到店时长,取餐时长,送达时长,商户投诉数,用户投诉数,差评数,好评数,评价数,最远订单距离,该订单整体时效,该订单接单时效,该订单到店时效,该订单取餐时效,该订单送达时效,该订单评价”字段。为保障用户隐私和行业敏感信息,已经对数据脱敏。数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或一些商业性敏感数据的情况下,对真实数据进行改造并提供测试使用,如身份证号、手机号等个人敏感信息都需要进行数据脱敏。本题已将脱敏后的数据存放于平台对应任务/chinaskills目录下。工程所需配置文件pom.xml存放于“C:\清洗配置文件”。任务中所有命令务必使用绝对路径。
子任务1
任务背景:
数据源为众多网站及平台的数据汇总,且为多次采集的结果,在整合多来源数据时可能遇到数据冲突,或数据拼接导致的属性列矛盾等情况。请根据任务具体参数要求,针对原始数据集中不符合业务逻辑的属性列进行清洗,并写入指定的数据库或数据文件,复制并保存结果。
任务描述:
数据源文件存放于平台对应任务/chinaskills目录下,其中属性“推单数”是指外卖平台通过顾客点单向商家推送的订单数量,“接单数”为商家根据自身情况,最终选择接受订单的数量。一般来说,商家对于平台推送的订单,排除自身原因,例如原材料耗尽、用户下单时店铺已经打烊等特殊情况,都会选择接单。请按照如下要求编写Spark程序对数据进行清洗,并将结果输出/diliveryoutput1。
1)分析/chinaskills中数据文件
2)针对属性列“推单数”、“接单数”,排查并删除异常数据条目
3)程序打包并在Spark平台运行,结果输出至HDFS文件系统/diliveryoutput1
具体任务要求:
1、将相关文件上传至HDFS新建目录/platform_data中,编写Spark程序,剔除属性列“推单数”小于“接单数”的异常数据条目,并在程序中以打印语句输出异常条数。将打印输出结果复制并保存至对应报告中。(复制内容需包含打印语句输出结果的上下各 5 行运行日志)。
示例格式:
=“推单数”小于“接单数”的异常数据条数为***条=
2、程序打包并在Spark平台运行,将剔除异常数据后的结果数据集输出至HDFS文件系统/diliveryoutput1。并查看输出文件前20行,将查看命令与执行结果复制粘贴至对应报告中。
子任务2
任务背景:
客单价是指客户在该商铺下一单的平均支付价格。根据商家定位不同,可以分为高客单价和低客单价。高客单价,单量一般表现平平;低单价则通常会获得更高的单量。不同的定价针对的消费人群不同、选择的位置不同、营业的时间也不同。高客单价的品类偏向于白领人群,一般说来办公楼覆盖越多的位置越好,但是办公楼并不一定都是白领人群,所以办公楼也要区分区域性,客户行业越是前沿的,具备消费能力越高,但晚上和周末的单量一般较少。低客单价的品类偏向于大众化,选址优先办公/大学区/小区综合覆盖区域,满足低消费与一般消费能力用户群。当前数据源因涉及到多个平台及数据库对接,个别信息由于人为操作失误或计算机故障等原因产生了数据缺失值。缺失值是一种常见的脏数据情况。对于缺失值的处理,从总体上来说分为缺失值删除和缺失值插补两种处理方式。当缺失值过多时,信息条目本身的价值也会随之降低,此时如果对缺失值进行填补,则数据分析结果可能会受到干扰,有失客观性。结合行业数据本身特点及上述考虑,对于数据集中数值字段缺失的情况,通常可以采用填充固定值、均值、中位数、KNN 填充、以及把缺失值作为新的 label 等方式处理。同时,不当的填充可能会令后续的分析结果出现导向性偏差,当缺失信息的记录数较少时可采用删除的方式来进行处理。下面请根据任务具体参数要求处理关键字段缺失。
任务描述:
请以前置任务的结果数据集/diliveryoutput1作为输入数据源,编写 Spark 程序,按照如下要求实现对数据的清洗,并将结果输出。
1)解析/diliveryoutput1 中的文件
2)针对数据集“客单价”属性,审查缺失值数量
3)当缺失值比例小于5%时,对包含缺失值数据的样本进行删除
当缺失值比例大于5%时,对缺失值字段进行中位数填充
4)程序打包并在Spark平台运行,结果输出至HDFS文件系统/diliveryoutput2
具体任务要求:
1、根据任务要求,编写Spark程序,针对数据集“客单价”属性,审查缺失值数量,并打印输出,将打印输出结果复制并粘贴至对应报告中(复制内容需包含打印语句输出结果的上下各 5 行运行日志)。
示例格式:
“客单价”属性缺失记录为条,缺失比例*%
2、缺失值处理
a)当缺失比例小于5%时,对含缺失值数据记录进行删除,同时在对应答案报告中粘贴如下内容(复制内容需包含打印语句输出结果的上下各 5 行运行日志):
示例格式:
“客单价”缺失记录已删除
b)当缺失比例大于5%时,利用“客单价”属性中位数对缺失值进行填充,并将中位数打印输出,将打印输出结果复制并粘贴至对应报告中(复制内容需包含打印语句输出结果的上下各 5 行运行日志)。
示例格式:
“客单价”属性中位数为**天
3、将清洗后的数据集输出至/diliveryoutput2,并查看输出文件前10行,将查看命令与执行结果复制粘贴至对应报告中。
任务背景:
聚类分析又称群分析,它是研究分类问题的一种统计分析方法,同时也是数据挖掘的一个重要算法。聚类分析是由若干模式组成的。通常,模式是一个度量的向量,或者是多维空间中的一个点。聚类分析以相似性为基础,同一个聚类簇中的模式之间具有相似性,不同聚类簇之间具有相异性。
在商业上,聚类可以帮助平台市场分析人员从数据中区分出不同的商家群体,并提取每一类商家的经营模式。它作为数据挖掘中的一个模块,可以作为一个单独的工具以发现数据中的深层的信息,并且提取出每一类样本的特点,或者把注意力放在某一个特定的类上以作进一步的分析;同时,聚类分析也可以作为数据挖掘算法中其他分析算法的一个预处理步骤。本题数据请采用数据清洗的输出文件/diliveryoutput2。工程所需配置文件pom.xml存放于“C:\分析与挖掘配置文件”。任务中所有命令务必使用绝对路径。
选择数据分析的维度通常分为用户维度、行为维度和产品维度,想要对外卖平台入驻商家进行聚类划分,有侧重地分类评估商家对平台的价值,首先需要针对商家数据选择核心数据集,为确保聚类模型收敛速度与质量,以及消除量纲对聚类结果的影响,首先应对数据进行归一化或标准化处理,再进行数据建模。
任务描述:
请以数据清洗任务结果数据集/diliveryoutput2作为输入数据源,按照如下要求编写 Spark 程序实现对数据的分析,并将结果输出至 HDFS 文件系统中/diliveryoutput3。
1)解析/diliveryoutput2中的文件
2)提取商家数据核心属性
3)针对商家核心属性进行预处理
4)利用处理过的核心属性集完成商家聚类
具体任务要求:
1、针对相关数据集抽取北京地区相关数据记录,并计算商家好评比,将“好评比”作为新属性添加至属性“评价数”后。将结果数据集输出至/diliveryoutput3,并查看输出文件前10行,将查看命令与执行结果复制粘贴至对应报告中。
【好评比计算公式:好评比=好评数/评价数】
2、根据/diliveryoutput3中输出的结果数据集,筛选4项核心属性集:“商户业务包”,“接单数”,“客单价”,“好评比”,数据记录以接单数降序排列。将结果数据集输出至/diliveryoutput4,并查看输出文件前10行,将查看命令与执行结果复制粘贴至对应报告中。
3、由于核心数据集中“商户业务包”为分类属性,请将该属性设置为哑变量;同时对属性“接单数”,“客单价”进行max-min归一化,以实现对核心属性的预处理。将处理后的结果数据集以接单数降序排列,输出至/diliveryoutput5,并查看输出文件前10行,将查看命令与执行结果复制粘贴至对应报告中。
【归一化公式:x’ = (x - X_min) / (X_max - X_min)】
4、对以上属性对商家进行k-means聚类,聚类数设为4,迭代次数为2000次,请以打印语句输出聚类中心,及每个类的商家数。
示例格式:
cluster 0: 聚类中心为[*]=商家数为个=
cluster 1: 聚类中心为[*]=商家数为个=
……
MySQL数据库中的相关数据集包含了城市、地点、商家id、网格id、餐品种类、标品属性等多项基础信息字段。请使用Flask框架,结合Echarts完成下列任务。
数据库账号: takeout 密码:takeout
自行创建代码工程路径为C:\food_dilivery
每个可视化图中需要添加图片作为背景水印。
任务背景:
商圈,指某商场以其所在地为原点,沿着一定的方向和距离扩展,吸引顾客的辐射范围。简单地说,就是来店顾客所居住或工作的区域范围。无论餐厅规模大小,其销售覆盖区域总是有一定的地理范围。这个地理范围就是以某商场为中心,向四周辐射到可能来店消费的顾客居住地或工作地。请按任务指定要求,输出相关图例。
任务描述:
请根据数据库相关数据集中city_name,location,latitude,longtitude,rest_type,platform_A_restid,A_rst_name,A_day_30_cnt,platform_B_restid,B_rst_name,B_day_30_cnt等字段,明晰地理位置与商铺聚集程度之间的关系。请以经度为横坐标,纬度为纵坐标,绘制商家数量气泡图,并以该地理位置的商家数量/10作为气泡半径。
具体任务要求:
1、提取表格相关字段,在控制台按照“商家数量”降序排列,打印输出商圈名称及包含的商家数量。
示例格式:
1: 商圈 *=商家数为个=
2: 商圈 *=商家数为个=
……
2、使用Flask框架,结合Echarts,完成气泡图输出。要求气泡图标题为“商家聚集地理位置展示”,横坐标为经度,纵坐标为维度,以该地理位置的商家数量/10作为气泡半径,绘制气泡图。将可视化结果截图并保存(截图需包含浏览器地址栏)。
任务背景:
市场份额亦称“市场占有率”。指某企业的销售量(或销售额)在市场同类品类中所占比重。反映企业在市场上的地位。通常市场份额越高,竞争力越强。市场占有率一般有3种基本测算方法:(1)总体市场份额,指某企业销售量在整个行业中所占比重。(2)目标市场份额,指某企业销售量在其目标市场,即其所服务的市场中所占比重。(3)相对市场份额,指某企业销售量与市场上最大竞争者销售量之比,若高于1,表明该企业其为这一市场的领导者。请按任务指定要求,输出不同平台商家销售分析相关图例。
任务描述:
请根据相关表格数据,分别统计A平台与B平台30天销量最高的10个商家的销量,并以共享y轴的双折线图呈现。
具体任务要求:
1、根据相关表格city_name,location,latitude,longtitude,rest_type,platform_A_restid,A_rst_name,A_day_30_cnt,platform_B_restid,B_rst_name,B_day_30_cnt等字段,分别统计A平台与B平台30天销量最高的10个商家及销量,在控制台按照“30天销量”降序打印输出商家id,商家所属平台,及30天销量。
示例格式:
1: “*”,Platform-A, 销量为=
2: “*”,Platform-A, 销量为=
……
10: “*”,Platform-A, 销量为=
1: “*”,Platform-B, 销量为=
2: “*”,Platform-B, 销量为=
……
10: “*”,Platform-B, 商家数为个=
2、使用Flask框架,结合Echarts,完成可视化输出。要求双折线图标题为“各平台30天销量最高10大商家”,横坐标1(下方)为平台A商家id,横坐标2(下方)为平台B商家id(倾斜显示、互不遮挡),纵坐标为商家销量,以销量降序排列,红色折线标识Platform-A商家,蓝色折线标识Platform-B商家。将可视化结果截图并保存(截图需包含浏览器地址栏)。
任务背景:
外卖平台的“标品属性”是指外卖的配送方式,一般说来分为众包、专送、自营销三种方式。其中,专送的稳定性最高,专送骑手是配送商的正式员工,且接单模式是平台派单,所以恶劣天气也很少会出现无人接单的尴尬情况。众包则是兼职配送员,以抢单的方式接单配送,所以一些“难送”或者恶劣天气时的订单经常会出现无人接单的情况。这将导致商家大量订单积压送不出去,从而被迫关店。从稳定性上来讲,专送要远远优于众包和快送。但专送的配送范围相对较小,在2km左右,对于一些快餐品类来说更为合适,但是对于一些高客单价的细分品类来说,2km的配送范围很难拓展单量。请根据相关数据集,按任务指定要求,输出配送方式相关分析图例。
任务描述:
请根据数据库相关表格数据,统计不同标品属性的商家数量,并以饼状图表达。
具体任务要求:
1、根据相关表格网格ID,网格名称,城市,战团,餐厅ID,近7天平台单量,近7天推单,餐厅名,餐厅地址(取餐地址),餐品种类,标品属性,全推/选推等字段等字段,统计不同标品属性的商家数量。请将标品属性“专送KA”合并至“专送”中,“众包平台”合并至“众包”中。在控制台降序打印输出标品属性,商家数量。
打印语句格式如下:
专送: 商家***个=
众包: 商家***个=
……
2、使用Flask框架,结合Echarts,完成饼图输出。要求饼图标题为“标品属性占比”,并标识该分类占比。将可视化结果截图并保存(截图需包含浏览器地址栏)。
任务背景:
外卖平台对商家业务的拓展主要由BD负责,BD(Bussiness Developer)即为业务拓展经理,工作职责是根据公司的业务战略制定具体的战略实施计划,业务推广计划,商家上架计划的达成跟进及分析,提供订单销售分析报告。同时负责调查区域品牌发展状况,调研竞品,为公司品牌发展提出相应建议。BD的上一层战略组织为战营、战团。一般指在更大的地域范围内组成的销售部门,存在共同的业务发展愿景和明确的绩效考核指标。请根据相关数据集,按任务指定要求,输出相关分析图例。
任务描述:
请根据相关表格数据,统计不同战团商家数量以及不同餐品品类占比,并以组图表达。
具体任务要求:
1、请根据表格中网格ID,网格名称,城市,战团,餐厅ID,近7天平台单量,近7天推单,餐厅名,餐厅地址(取餐地址),餐品种类,标品属性,全推/选推等字段字段,统计不同战团的商家数量。请在控制台以上架数量降序打印输出战团名称,商家数量。
打印语句格式如下:
战团: ,商家个=
战团: ,商家个=
……
1、统计包含商家数量最多的战团中,不同餐品品类的占比。请汇总前4位餐品品类占比,其他品类请归并为“其他”。请在控制台以占比数值降序打印输出餐品品类,商家数。
打印语句格式如下:
小吃夜宵,商家***个=
特色菜系,商家***个=
……
2、使用Flask框架,结合Echarts,完成组图输出。要求组图左侧输出1)小题数据条形图,标题为“Top10战团商家数量”,纵坐标为战团名,横坐标为包含商家个数,并在柱形上方标识商家数;组图右侧绘制2)小题数据的玫瑰饼图表达并标识各分类占比,标题为“**战团餐品品类占比”。将可视化结果截图并保存(截图需包含浏览器地址栏)。
任务背景:
网格化营销是近年来新兴的一种营销管理模式,已被广泛地运用于市场精准营销。在市场营销中,采取地图营销、网格管理、精准策略等,可将客户的心理需求与其日常生活紧密地联系起来,巧妙运用网格化管理和营销地图,以此来实现客户的营销精准度与价值提升,提高单一客户贡献值和营销效率。其核心旨在帮助企业快速响应市场需求,为用户提供更加便捷的、专业化服务,并使企业的资源分配以客户为中心,以市场变化为导向,固本强基、开 拓市场、提升效益,有助于平台有效地制定绩效战略。请根据相关数据集,按任务指定要求,输出相关分析图例。
任务描述:
请根据数据库相关表格数据,统计不同标品属性的商家数量,并以饼状图表达。
具体任务要求:
1、请根据表格中网格ID,网格名称,城市,战团,餐厅ID,近7天平台单量,近7天推单,餐厅名,餐厅地址(取餐地址),餐品种类,标品属性,全推/选推等字段,统计不同网格“近7天平台单量”,与“7天推单”的差值。在控制台以差值降序打印输出前10位网格id,网格名称,推单差值。
打印语句格式如下:
1 网格id:1111,网格名称:****,推单差值为**=
2 网格id:1111,网格名称:****,推单差值为**=
……
2、使用Flask框架,结合Echarts,完成柱状图输出。以柱状图输出推单差值前10位的网格名称及差值,其中标题为“推单差值Top10”,横坐标为网格名称(倾斜显示,互补遮挡),纵坐标为推单差值。将可视化结果截图并保存(截图需包含浏览器地址栏)。
任务背景:
投诉是顾客对平台管理和服务不满的表达方式,也是企业有价值的信息来源,它为企业探索更多可能。分析顾客投诉的种种因素,把顾客的不满转化满意,锁定他们对平台和产品的忠诚,已成为企业营销实践的重要内容之一。商户业务包是指该商户在经营定位时所确定的主要消费群体。不同城市消费群占比不同,大致可以分为大客户,白领,小客户,高校, 家庭,其它六个商业业务包。请根据相关数据集,按任务指定要求,统计并输出投诉相关的分析图例。
任务描述:
请根据相关数据库表格中“餐厅id,retailer_id,餐厅名称,城市,商户业务包属性,配送范围,客单价,推单数,接单数,有效完成单数,投诉率,异常率,欺诈单数,拒单数,商户取消数,客户取消数,系统取消数,配送取消异常数,整体时长,接单时长,到店时长,取餐时长,送达时长,商户投诉数,用户投诉数,差评数,好评数,评价数,最远订单距离,该订单整体时效,该订单接单时效,该订单到店时效,该订单取餐时效,该订单送达时效,该订单评价”等字段,统计北京地区,不同“商户业务包”的餐厅数量及投诉数量,并以组图呈现。程序输出及可视化输出时请使用商户业务包中文释义,中文释义对应关系如表所示。
字母缩写 | 中文释义 |
---|---|
GKA | 大客户 |
BL | 白领 |
SIG | 小客户 |
GX | 高校 |
FML | 家庭 |
OTH | 其他 |
具体任务要求:
1、根据相关数据库表格字段,统计北京地区不同商户业务包属性商户数量及投诉数量,并在PyCharm控制台打印输出,请以投诉数量降序排列。
打印语句格式如下:
1.商户业务包:*****, 商家数量:*****家,投诉数****条
2.商户业务包:*****, 商家数量:*****家,投诉数****条
……
2、使用Flask框架,结合Echarts,完成组图输出。请在左侧画出以不同商户业务包属性的商家数量降序排列的柱状图,标题为“北京商户业务包商家数”,横坐标位商户业务包名称,纵坐标位商家数量;请在右侧画出不同商户业务包商家的投诉占比玫瑰图,标题为“北京商户业务包投诉占比”,顺时针显示次序与打印语句数据一致,将可视化结果截图并保存(截图需包含浏览器地址栏)。