Python+Excel制作动态分析仪

背景:餐饮行业属于快消品,因此对经营情况的把握应该越及时越好,因此制作每日销售情况分析。

表结构信息

表名 字段名
订单详情 日期,单号,店名,会员折扣,付费时间,桌号,来店人数
菜品明细 单号,菜品明细,消费金额
店铺信息 店名,二人台数,三人台数,四人及以上台数,总台数

分析指标

指标名称 指标含义
折扣额 占销售总额的10%-20%
折扣率 10%-20%
KPL 每家店的销售金额与所有店的总平均金额之比
销售总金额 当日店铺实际收入
总台数 店铺总桌数
翻台率 (餐桌使用次数-总台位数)÷总台位数×100%
单均消费 当日店铺所有缴费单的平均金额
座位数 店铺实际拥有座位的数量
上座率 (餐桌使用次数-总台位数)÷总台位数×100%
人均消费 当日到店每个人的平均消费金额(销售总额/客流量)
开台率 餐桌使用次数÷总台位数×100%

Python分析

  • 读入数据

订单详情:

column = ['billdate','billnumber','shopname','billdiscount','paytime','tablenumber','peoplecount']
bill = pd.read_csv('-bill.csv',header = None,names = column)
bill.head()


菜品明细:

col = ['billnumber','detail','pay']
order = pd.read_csv('-order.csv',header = None ,names = col)
order.head()


店铺信息:

col = ['shopname','twotable','threetable','fourtable','alltable']
shop = pd.read_csv('-shop.csv',header = None ,names = col)
shop

shop['allseat'] = shop['twotable']*2 + shop['threetable']*3 + shop['fourtable']*4
shop

  • 表格连接分析
    1.订单维度:
newbill = pd.merge(bill, order_pay, on=['billnumber'], how='left')
newbill['rebate'] = newbill['pay']*newbill['billdiscount']
newbill.head()


加入时间因子

newbill['time'] = newbill['billdate']+' '+newbill['paytime']
newbill['time'] = pd.to_datetime(newbill['time'])
newbill = newbill.set_index("time")
newbill.head()

#每小时的总收入
y_bill = newbill.groupby(lambda x: x.hour).sum()
y_bill['pay'].plot(kind='bar')

#每小时的总单数
y_bill = newbill.groupby(lambda x: x.hour).count()
y_bill['pay'].plot(kind='bar')

#每小时的平均收入
y_bill = newbill.groupby(lambda x: x.hour).mean()
y_bill['pay'].plot(kind='bar')

#每小时的人流量
y_bill['peoplecount'].plot()

newbill.to_csv('newbill.csv')

2.菜品维度:

orderdetail = pd.merge(order,bill, on=['billnumber'], how='left')
orderdetail.head()

#一个订单几个菜
detail_count = orderdetail.groupby('billnumber')[['detail']].count()
detail_count.tail()
#一个店铺卖出去多少道菜
orderdetail.groupby('shopname')['detail'].count()
#菜品的价格分布
orderdetail.groupby('detail')['pay'].describe()

orderdetail.to_csv('orderdetail.csv')

3.店铺维度:

shoptatal = pd.merge(newbill,shop, on=['shopname'], how='left')
shoptatal.head()

shoptatal_group = shoptatal.groupby('shopname')
#总单数
billcount = shoptatal_group.billnumber.count()
#总人数
peoplesum = shoptatal_group.peoplecount.sum()
#折扣总金额
rebatesum = shoptatal_group.rebate.sum()
#店汇总金额
paysum = shoptatal_group.pay.sum()
#单均消费
per_billpay = paysum/billcount
#人均消费
per_peoplepay = paysum/peoplesum
#总台数
alltable = shoptatal_group.alltable.mean()
#总座位数
allseat = shoptatal_group.allseat.mean()
#开台率 = 餐桌使用次数÷总台位数×100%
opening_rate = billcount / shoptatal_group.alltable.mean()
#翻台率 =(餐桌使用次数-总台位数)÷总台位数×100%
turnover_rate = (billcount - alltable)/alltable
#上座率 = 来店人数÷总餐位数×100%
attendance_rate = peoplesum/allseat
#折扣率
discount = rebatesum / paysum
#KPL
KPL = paysum / avgpay
#总平均销售额
avgpay = shoptatal.pay.sum()/5

数据合并

data = {'kpl':KPL,'总单数':billcount,'总人数':peoplesum,'店汇总金额':paysum,'折扣总金额':rebatesum,'折扣率':discount,'单均消费':per_billpay,'人均消费':per_peoplepay,'开台率':opening_rate,'翻台率':turnover_rate,'上座率':attendance_rate}
total = pd.DataFrame(data,index=None)
total

total.to_csv('total.csv')

PowerBI
工具:excel2016加强版,Power Query,Power Pivot
第一步导入数据:

若出现乱码,需将编码改为utf-8

加载数据,加载会将表格数据传入到excel中,加载到则只创建链接,这里我选择的是加载到。

接下来选择只创建链接,并将数据添加到数据模型,选择加载。

出现下图说明加载成功

依次将newbill,orderdetail,total表加载到excel。
双击进入PQ界面

检查每个字段的数据类型

完成后点击关闭并上载

进入excel界面,点击Power pivot

重新检查数据类型,并创建表与表之间的链接


创建KPL

创建透视表



根据需要创建数据透视图,使用切片器将所有表链接在一起,实现动态变化控制。

餐饮日销售情况分析仪相关推荐

  1. mysql+excel:数据分析----餐饮业日销售情况分析仪

    目录 一.介绍 二.KPI指标 三.数据结构信息 四.导入数据库 五.数据处理 六.将mysql数据导入excel中 1.使用ODBC驱动 2.导出newbill表.neworderdetail表和s ...

  2. 【WY】MySQL 阶段二:实战案例 三:餐饮业日销售情况分析仪:Excel + SQL

    版权声明:本文为博主原创文章,未经博主允许不得转载. 文章目录 一.表结构信息 1.1 -bill.csv 1.2 -order.csv 1.3 -shop.csv 二.创建表并导入数据 三.数据处理 ...

  3. 火锅店日销售情况可视化

    销售情况可视化 1.项目简介 2.数据简介 3.数据预处理 4.可视化 1.项目简介 有一家连锁火锅店新店开张试业,全场的菜品都参与折扣活动,为了统计活动的销售情况以及客流情况,我们统计了一天的流水信 ...

  4. mysql+excel:数据分析----销售情况分析仪表盘

    目录 一.介绍 二.业务场景定义 三.目标 四.数据探索 1.将数据导入mysql中 2.数据初步探索 五.数据指标 六.数据处理 1.在mysql中处理 2.在power query中处理(exce ...

  5. 简单统计商店某商品销售情况

    /* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: object.cpp * 作者:吴妍 ...

  6. 互动网计算机频道图书7日销售排行(05.20-05.26)

    互动网计算机频道图书7日销售排行(05.20-05.26) 1.Hadoop权威指南(中文版) 2.人人都是产品经理 3.演讲之禅:一位技术演讲家的自白 内容简介 本书既实用又引人入胜.作为职业演讲家 ...

  7. 19、Power Query-快速分析各产品的销售情况

    本节知识点:Power Query反转行的妙用(路径:"转换"--"反转行") 何谓反转行,即将行内容反过来,有别于"排序". 例如 : 下 ...

  8. 利用 Python 分析了某化妆品企业的销售情况,我得出的结论是?

    作者:Cherich_sun 来源:公众号「杰哥的IT之旅」ID:Jake_Internet [导语]本篇文章是关于某化妆品企业的销售分析.从分析思路思路开始带大家一步步的用python进行分析,找出 ...

  9. 女朋友还是游戏?一起来分析下游戏的开发与销售情况!

    1.前言 你问我游戏重要还是女朋友重要? 你是不是傻?游戏没了可以再下! 要是女朋友没了-- 就没人会打扰你玩游戏了, 哈哈哈哈哈哈哈哈哈哈! 大部分男生都喜欢游戏,但对游戏的了解却不是很多,让我们来 ...

最新文章

  1. 深度解析:国产化软硬件全景梳理
  2. netfilter的笔记3--那些内置的表
  3. mysql 冷热数据分离_elasticsearch冷热数据读写分离
  4. link、symlink、readlink、unlink函数的使用
  5. typecho反序列化漏洞复现
  6. 【t098】符文之语
  7. mnist数据集可视化
  8. 后缀–ize_动词后加ize的后缀有什么作用
  9. 用计算机怎么算异分母加减法,怎么正确算异分母分数加减法
  10. Docker 配置加速器
  11. TPshop商城环境搭建(一)
  12. [Usaco2010Hol]Dotp
  13. android打开教程,Android 打开网络上pdf文件
  14. iOS 沙盒路径/创建文件夹
  15. 知到网课大学生心理健康教育考试试题|真题题库(含答案)
  16. 网站设计风格有很多种,看看哪种适合你?
  17. IBM TS3100磁带机更换磁带的方法
  18. linux打开开发者权限,在UOS系统中关闭开发者模式和在UOS个人版中打开开发者模式...
  19. 图像特效---PS图层混合模式之明度模式
  20. 元宵节,祝福每个人快快乐乐,健健康康。

热门文章

  1. 已知图片顶点坐标和点相对图片位置求点坐标
  2. excel中时间差的计算
  3. 准备安装Cent OS需要的配件
  4. 智慧楼宇篇 6 —— 室内定位技术(五) - 室内定位技术总结
  5. 如何恢复手动删除的微信聊天记录?2个简单高效方法推荐
  6. H2教程系列(二) 创建数据库
  7. vue 页面卡顿(数据量大)
  8. 用友NC平台之基本概念解析(一)
  9. 经超计算机求职电视剧,经超电影,电视剧全集_经超影视作品大全推荐 - 剧知晓...
  10. Striped64 深入源码解析