当前位置:文档之家› 《Python机器学习编程与实战》第7章 餐饮企业综合分析

《Python机器学习编程与实战》第7章 餐饮企业综合分析


# 统计每日用餐人数与营业额
for i,k in enumerate(info['use_start_time']):
y = k.split()
y = pd.to_datetime(y[0])
info.loc[i,'use_start_time'] = y
groupbyday = info[['use_start_time','number_consumers',
➢ 某餐饮企业正面临着房租价格高、人工费用高、服务工 作效率低等问题。企业经营最大的目的就是盈利,而餐 饮企业盈利的核心是其菜品和客户,也就是其提供的产 品和服务对象。如何在保证产品质量的同时提高企业利 润,成为某餐饮企业急需解决的问题。
大数据挖掘专家
3
餐饮企业数据基本状况
➢ 某餐饮企业的系统数据库中积累了大量的与客户用餐相关的数据,包括客户信息表、菜品详情表、订 单表和订单详情表,其中客户信息表(users)的数据说明如下表所示。
大数据挖掘专家
5
餐饮企业数据基本状况
➢ 订单表(meal_order_info)的数据说明如下表所示。
名称 info_id emp_id
含义 订单ID 客户ID
名称 lock_time cashier_id
number_consumers 消费人数
pc_id
mode dining_table_id
plt.rcParams['axes.unicode_minus'] = False
plt.figure(figsize = (12 ,6))
plt.title('每日用餐人数折线图')
plt.xlabel('日期')
plt.ylabel('用餐人数')
plt.plot(sale_day['人数'])
大数据挖掘专家
17
数据预处理
1. 客户价值分析预处理
Out[2]:
USER_ID ACCOUNT
FIRST_VISIT
LAST_VISITS
2 982 叶亦凯 2014/8/18 21:41:57 2016/8/26 13:53:46
3 983 邓彬彬 2015/8/23 13:47:17 2016/8/21 17:16:00
提取的订单数据维数: (933, 21)
大数据挖掘专家
16
数据预处理
1. 客户价值分析预处理
In[2]:
# 匹配用户的最后一次用餐时间 for i in range(1,len(info_august_new)):
num = users_august[users_august['USER_ID'] == info_august_new.iloc[i-1,1]].index.tolist()
名称 USER_ID MYID ACCOUNT NAME ORGANIZE_ID ORGANIZE_NAME DUTY_ID TITLE_ID
含义 客户ID 客户自编码 账号 姓名 组织代码 组织名称 称位代码 职等代码
名称 DESCRIPTION QUESTION_ID ANSWER ISONLINE CREATED LASTMOD CREATER MODIFYER
查看各表的维数: (945, 21) (6611, 21) (7556, 21)
大数据挖掘专家
11
统计每日用餐人数与销售额
In[2]:
# 提取订单状态为1的数据
info = info_all[info_all['order_status'].isin(['1'])]
info = info.reset_index(drop=True)
含义 备注 问题代码 回复 是否在线 创造日期 修改日期 创建人 修改人
大数据挖掘专家
4
餐饮企业数据基本状况
名称 PASSWORD EMAIL LANG THEME FIRST_VISIT PREVIOUS_VISIT LAST_VISITS LOGIN_COUNT ISEMPLOYEE STATUS IP
消费方式 桌子ID
order_number org_id
dining_table_name 桌子名称
print_doc_bill_num
expenditure
消费金额
lock_table_info
dishes_count
总菜品数
order_status
accounts_payable use_start_time check_closed
付费金额 开始时间 支付结束
phone name
锁单时间 收银ID
含义
终端ID
订单号 门店ID
打印doc账单的编码
桌子关闭信息
0:未结算;1:结算;2:已锁单
电话 名字
大数据挖掘专家
6
餐饮企业数据分析的步骤与流程
➢ 通过对某餐饮企业的数据进行分析,最终为餐饮企业提出改善的建议。主要步骤如下图所示。
大数据挖掘专家
10
统计每日用餐人数与销售额
➢ 统计订单表和历史订单表中每日用餐人数与销售额,其中订单状态为1的记录才是完成订单的记录,所
以只统计订单状态为1的数据,如下代码所示。
In[1]: Out[1]:
import pandas as pd import matplotlib.pyplot as plt # 导入数据 info = pd.read_csv('./data/meal_order_info.csv', encoding = 'utf8') info_before = pd.read_csv('./data/info_new.csv', encoding = 'utf8') # 合并数据 info_all = pd.concat([info_before,info]) print('查看各表的维数: \n',info.shape,info_before.shape,info_all.shape)
征,所以需要先对原始数据进行预处理,如下代码所示。
In[1]: Out[1]:
import pandas as pd import numpy as np info_august = pd.read_csv('../data/meal_order_info.csv', encoding = 'utf-8') users_august = pd.read_csv('../data/users.csv', encoding = 'gbk') # 提取订单状态为1的数据 info_august_new = info_august[info_august['order_status'].isin(['1'])] info_august_new = info_august_new.reset_index(drop=True) print('提取的订单数据维数:',info_august_new.shape) info_august_new.to_csv('../tmp/info_august_new.csv',index=False,encoding ='utf-8')
含义 密码 电子邮箱 语言 样式 第一次登录 上一次登录 最后一次登录 登录次数 是否是职工 状态 IP地址
名称 TEL stuNo qq weixin meal_arithmetic_id arithmetic_name sex poo address age
含义 电话 学号 QQ 微信 算法ID 算法名称 性别 籍贯 地址 年龄
4 984 张建涛 2014/12/24 19:26:30 2016/8/25 11:32:59
6 986 莫子建 2014/9/11 11:38:10 2016/8/20 11:15:06
7 987 易子歆 2015/2/24 21:25:34 2016/8/28 12:34:59
大数据挖掘专家
18
➢ 对数据进行预处理,统计菜品数据中的每日用餐人数、每日销售额并进行数据清洗等。 ➢ 进行特征工程,构建RFM特征和客户流失特征。 ➢ 使用K-means算法,对客户进行聚类分析,并基于聚类结果进行客户价值分析。 ➢ 使用决策树算法构建客户流失预测目录
1
import pandas as pd import numpy as np # 读取数据 users = pd.read_csv('../data/user_loss.csv', encoding='gbk') info = pd.read_csv('../data/info_new.csv', encoding = 'utf-8') print('历史客户信息表的维数:',users.shape) print('历史订单表的维数:',info.shape)
大数据,成就未来
餐饮企业综合分析
目录
1
餐饮企业分析需求
2
数据准备
3
使用K-means算法进行客户价值分析
4
使用决策树算法实现餐饮客户流失预测
5
小结
大数据挖掘专家
2
餐饮企业现状与需求
➢ 餐饮行业作为我国第三产业中的一个传统服务性行业, 始终保持着旺盛的增长势头,取得了突飞猛进的发展, 展现出繁荣兴旺的新局面。与此同时,我国餐饮业发展 的质量和内涵也发生了重大变化。根据国家统计局数据 显示,餐饮行业餐费收入从2006到2015年都处于增长的 趋势,但是同比增长率却有很大的波动,如右图所示。
相关主题