Kettle 无人售货机项目实战 |
您所在的位置:网站首页 › 机上销售词 › Kettle 无人售货机项目实战 |
第8章 无人售货机项目实战
任务1. 了解无人售货机项目背景与目标
1.1 了解项目背景
随着无人售货机的销售系统越来越完善,包括支付系统、监控维护系统等技术都趋于成熟,正确的销售决策的制定开始成为售货机厂商关注的热点。传统的销售决策都是商家凭借长期积累的经验进行决定的,而商品的销售受很多因素的影响,如季节、周边人流量以及受众群体的偏好等,因此无人售货机上的商品供求往往得不到合理的平衡,无人售货机的收益达不到最大化。 1.2 熟悉项目目标为了解决无人售货机收益无法达到最大化的问题,需要分析客户每天的订单列表、订单详情和无人售货机日销售金额等数据,获得有关热销和滞销商品信息,以及无人售货机的收入和利润信息。按照这一目标,整体项目可以分为以下4个任务。 分组聚合客户订单。计算各商品销售金额。统计各售货机日销售金额。整理各销售机情况。 1.3 熟悉数据字段目前售货机数据主要包括订单信息表、订单详情表和售货机信息表3个表的数据。 1.4 数据包文章顶部可以自行下载。 任务2. 分组聚合客户订单主要包括以下4个步骤: 获取订单数据。建立转换工程,创建获取文件组件,获取订单数据。过滤和抽取订单数据。首先过滤掉客户ID为空金额支付不成功的数据,然后抽取聚合统计所需的字段数据。聚合统计。对抽取后的数据更具客户ID进行排序,然后聚合统计客户的消费金额。装载和解读聚合客户订单数据。对于聚合统计好的客户订单数据,按照客户消费金额,从高到低进行排序,再将排序后的数据装载至Excel文件中,并对结果数据进行解读。 2.1 获取订单数据(1)建立【分组聚合客户订单】转换工程 (2)创建CSV文件输入组件和获取订单数据。设置参数,导入“order_list.csv”文件,并设置好字段参数,将 “customermobile”类型改为String。 (3)预览获取的订单数据 此时,【预览数据】对话框的数据是客户在购买商品时,每天、每笔详细的订单数据。 (1)建立过滤和抽取数据组件和连接 (2)过滤掉客户ID和支付不成功的订单数据。 (3)配置【字段选择】,仅保留customerid、customermobile、odernum和paytotalprice等字段,并改名为“客户ID”、“客户手机号码”、“order_num”、“pay_totalprice”,丢弃其他与聚合客户订单无关的字段 (1)创建【排序记录】组件和【分组】组件,并建立组件之间的连接。 (2)对客户ID进行排序。因为是分组聚合客户订单,所以必须对客户ID进行排序,即同一个客户ID的数据要连在一起,否则数据可能不正确。在【排序记录】组件中,设置客户ID字段按照升序进行排序。 (3)对客户的订单数和商品实际支付金额等字段进行分组聚合,统计各个客户的订单。 (1)创建【排序组件】组件和【Excel输出】组件,将聚合统计的各个客户订单数据输出至Excel文件中,并建立组件之间的连接。 (2)根据客户订单消费金额进行排序 (3)将经过排序的各客户订单数据输出并装载至Excel文件中,并将输出文件名为“无人售货机分组聚合客户订单.xls” 字段参数 (4)运行转换,预览结果数据 无人售货机客户订单的详细数据,记录着订单中的每种商品的销售的数量、价格等数据。从商品销售的角度出发,分析商品的销售数据,计算各种商品的销售金额,以便了解商品的销售情况,分析哪些商品属于热销或滞销商品,为商品的销售提供更好的运营决策。 3.2分析任务数据需求计算各商品销售金额,需要在订单详情表“order_details.csv”文件中抽取以下字段数据。 (1)productname(商品名称):商品的唯一标识号,以该标识号为关键字段计算商品数据,因此商品名称不能为空。 (2)amount(购买商品数量):客户购买时的商品数量。 (3)productpaytotalprice(商品实际支付总金额):客户购买商品时的实际支付总金额。 (4)status(订单状态):客户订单状态,只抽取订单状态为“支付成功”的数据,其他订单状态的数据则被过滤掉。 3.3 计算各商品销售金额 1.获取订单详情数据(1)创建【计算各商品销售金额】转换工程。 (2)创建【CSV文件输入】组件并获取数据。 (3)预览数据 (1)创建【过滤记录】组件和【字段选择】组件,并建立组件之间的连接。 (2)过滤掉商品名称为空和支付失败的订单数据。 (3)在【字段选择】组件中,设置参数,仅保留productname、amount、productpaytotalprice等字段,并分别改名为“商品名称”“product_number”“product_paytotalprice”,丢弃其他与计算各商品销售金额无关的字段。 (1)创建【排序记录】组件和【分组】组件,并建立组件之间的连接。 (2)对商品名称进行排序 (3)对购买商品数量和商品实际支付总金额进行聚合计算。 (1)创建【排序记录】组件、【Excel输出】组件,并建立连接。 (2)根据商品销售金额进行排序 (3)配置【Excel输出】组件 设置参数,将输出的Excel文件名为“无人售货机各商品的销售金额.xls” 字段参数 (4)预览结果数据 无人售货机客户订单的详情数据,每天都记录着每个客户下单购买的商品及其数量等详细数据。从售货机销售的角度出发,分析售货机的销售数据,统计每台售货机每天的商品销售金额,以便及时了解售货机每天的销售情况。 4.2 分析任务数据需求:统计各售货机日销售金额,需要在无人售货机客户订单详情“order_details.csv”文件中抽取以下字段数据。 (1)boxid(售货机ID):售货机的唯一标识号,以该标识号为关键字段来统计各售货机的销售金额数据,因此售货机ID不能为空。 (2)createdtime(订单生成时间):客户下单时计算机自动生成的订单时间。 (3)productname(商品名称):客户下单的商品名称 (4)amount(购买商品数量):客户下单购买时的商品数量 (5)productpaytotalprice(商品实际支付总金额):客户购买商品时的实际支付总金额 (6)status(订单状态):客户订单状态,只抽取订单状态为“支付成功”的数据,其他订单状态的数据则被过滤掉 4.3 实现各售货机销售金额统计 1. 获取订单详情数据(1)创建【统计各售货机日销售金额】转换工程。 (2)创建【CSV文件输入】组件和获取数据。 (3)预览数据 (1)创建【过滤记录】组件和【字段选择】组件 (2)过滤掉售货机ID为空和支付失败的订单 (3)在【字段选择】组件中,设置参数,仅保留boxid、createdtime、amount和productpaytotalprice等字段,并分别改名为 “售货机ID”“create_time”“product_number”“product_paytotalprice”,丢弃其他与统计各售货机日销售金额无关的字段。 (4)剪切时间字段 ①创建【剪切字符串】并建立连接 ②从订单中生成时间字段中剪切出日期 (1)创建【排序记录】组件和【分组】组件,并建立组件之间的连接 (2)对售货机ID进行排序,因为需要计算各售货机的日销售金额,所以必须对售货机ID和销售日期进行排序。 (3)对售货机的商品实际支付金额等字段进行分组聚合,统计各售货机的日销售金额。 (1)创建【排序记录】组件和【Excel输出】组件 (2)对售货机ID和销售日期进行排序 (3)将经过排序的各售货机日销售金额数据输出并装载至Excel文件中 将输出的Excel文件名为“无人售货机各售货机日销售金额.xls” 字段参数 (4)运行转换并预览数据 客户订单的详情数据,记录着每天、不同客户的每笔订单的详细数据,而无人售货机信息表,记录着每台售货机名称、地址等重要信息。每一台售货机的利润数据,是运营商非常关心的数据,从利润的角度出发,分析整理售货机售货情况,统计每台售货机利润、客单价(订单的平均销售价格)等重要数据,可以让运营商更加了解售货机的获利情况。 5.2 分析任务数据需求为统计各售货机的利润、客单价等,需要在订单详情“order_details.csv”文件中抽取以下字段数据。 (1)boxid(售货机ID):是售货机的唯一标识号,以该标识号为关键字段来统计各售货机的销售金额数据,因此不能为空。 (2)ordernum(订单号):客户下单时自动生成的号码。 (3)amount(购买商品数量):客户下单时的商品数量。 (4)productpaytotalprice(商品实际支付总金额):客户下单时商品实际支付总金额。 (5)costprice(商品的成本价):客户下单时购买的商品成本价。 (6)salesprice(商品的销售价):客户下单时购买的商品的销售价。 (7)producttotalprice(商品支付总金额):客户下单购买的商品支付总金额。 (8)status(订单状态):客户订单状态,只抽取订单状态为“支付成功”的数据,其他订单状态的数据则被过滤掉。 在售货机信息表“box_list.csv”文件中抽取以下字段数据。 (1)boxid(售货机ID):作为关键字段,以便与“order_details.csv”文件的数据关联,将无人售货机的信息和客户订单详情数据关联起来。 (2)name(售货机名称):无人售货机的名称。 (3)address(售货机投放地址):无人售货机的投放地址。 5.3 实现各售货机销售情况整合 1. 获取订单详情数据(1)创建【整理各售货机情况】转换工程 (2)创建【CSV文件输入】组件,导入订单详情 “order_details.csv”文件。 (3)预览结果数据 计算售货机的利润和客单价,只需计算支付成功的售货机的订单数据,因此必须过滤掉支付失败的售货机订单数据。 (1)创建【过滤记录】组件和【字段选择】组件,并建立连接。 (2)过滤掉支付失败的订单 (3)进行字段选择,保留与计算售货机的利润和客单价相关的字段,去除多余的字段。 (4)创建获取无人售货机信息、关联售货机与订单数据组件和连接,抽取并修改关联后的字段名称。创建【CSV文件输入】组件,导入“box_list.csv”文件,获取和预览无人售货机信息。 (5)创建记录关联组件和抽取关联后的数据。创建【记录关联(笛卡尔输出)】组件并分别建立与【字段选择】【CSV文件输入(售货机)】组件之间的连接,创建【字段选择(关联后)】组件,并与【记录关联(笛卡尔输出)】组件建立连接。 (6)选择和修改关联后的字段名称。在【记录关联(笛卡尔输出)】组件中,设置关联条件参数,【字段选择】组件的售货机ID和【CSV文件输入(售货机)】组件中的boxid相等,即售货机 “ID=boxid”,即可将售货机信息和订单数据关联起来。 (7)选择和修改关联后售货机和订单数据。选择和修改与计算售货机利润和客单价相关的字段,丢弃其他不必要的字段。 (1)创建计算售货机利润的相关组件和连接,创建Excel输出组件,将结果数据装载至Excel文件中。 (2)计算订单中商品的利润 (3)对订单数据按照售货机ID进行排序,聚合计算售货机利润必须先对订单数据中售货机ID进行排序。 (4)聚合计算售货机的利润 (5)将聚合计算好的售货机利润数据装载至Excel文件中,文件命名为“无人售货机利润.xls”,输出的字段参数如下: 售货机客单价是售货机的销售金额除以订单数。分析售货机客户订单详情“order_details.csv”文件中的数据,发现订单中,客户每购买一种商品,则生成一条记录,一个订单购买多个商品则产生多条订单记录。并且,订单的时间支付金额也分别记录在paytotalprice字段中,因此必须根据订单ID字段过滤掉重复的订单记录,才能计算售货机的订单数。步骤如下: (1)创建计算每台售货机客单价的相关组件和连接。 (2)对订单数据按照订单ID进行排序,因为去除重复记录,必须先进行排序。 (3)去除重复的订单记录 (4)按照售货机ID进行排序。聚合计算售货机的订单数必须重新对售货机ID进行排序。 (5)聚合计算售货机的订单数和销售金额 (6)计算售货机的客单价 (7)将已完成聚合计算的售货机客单价数据装载至Excel文件中。在【Excel输出(客单价)】组件中,设置参数,输出的Excel文件名为“无人售货机客单价.xls”,输出字段如下: (1)预览售货机利润数据 (2)预览售货机客单价数据 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |