如何让每天 6 小时重复性的工作压缩到 10 分钟完成?

如何让每天 6 小时重复性的工作压缩到 10 分钟完成?_第1张图片

首先讲讲我的工作环境还有同事关系,目前在二线城市的某房地产中介 O2O 干的 TO B 产品运营,并不直接对接商户,中间还隔着一层商铺运营,然后我每天都要给他们输出数据日报,加起来大概是 50 份 Excel 表左右。

刚开始的时候,把一份表做完的时间大概是 45 个小时左右,非常耗时间,每天做决策的时间只有 5 分钟,严重影响了每天做数据提升的计划。至于计划落地,就呵呵了。

然后做好了数据,再给到每个商铺运营的同事,然后商铺运营同事再给到每位用户进行数据提升。

我刚来这个公司的时候,都是把数据先到数据组,数据组处理完之后再下发到各位商铺运营的同事,然后商铺运营的同事再处理下给到各位用户。

有的人可能就问,哎你们公司没有 bi 么?有是有,但是数据的颗粒度比较大,如果能精确到每个人就更好了。

那就只能让我做得清楚一点,同时也能告诉自己最近的数据变化。

接下来先举一个简单的业务例子和需要制作的数据:

如何让每天 6 小时重复性的工作压缩到 10 分钟完成?_第2张图片

展位就是经纪人在外网展示的网络端口。

那从以上来看,就有在线聊的转化指标:【在线聊要电话的转化率】【在线聊带看房子的转化率】【在线聊带看房子的成交率】这四个指标。

那大概业务已经捋顺了,接下来就要看看原始数据了。

通常来说,一份表会有很多的数据来记录用户的所有行为,那实际上我们只用要到我们合适的数据就行了。

那刚开始第一步要怎么做呢?先把 csv 转成 xlsx 格式,再打开我们的 Excel 来试着操作一下。

先把每个商户运营的同事和负责的经纪人进行匹配,用的 VLOOKUP

然后进行数据透视表,分两条线。

一条线是需要的行是商铺运营同事的领导,商铺运营同事,商铺运营同事负责的门店,门店里的经纪人;值的话需要经纪人在线聊的客户数,要到电话的数量,带看的数量,成交的数量。

另一条线是需要的行是地产品牌,地产品牌大区,地产品牌大区下的门店,门店里的经纪人;值的话需要经纪人在线聊的客户数,要到电话的数量,带看的数量,成交的数量。

把商铺运营同事的领导,商铺运营同事,商铺运营同事负责的门店,门店里的经纪人和地产品牌,地产品牌大区,地产品牌大区下的门店,门店里的经纪人放在 8 个不同的 sheet 里面,改下名字 sheet 的名字,并且求出【拿到电话的转化率】【带看的转化率】【成交的转化率】。

那总结下来流程就是:

  • 先把 csv 转化成 xlsx 格式
  • 打开两份表,使用 VLOOKUP 匹配商铺运营的同事
  • 数据清洗
  • 数据透视 8 份表
  • 8 份表进行转化率的求值

那把逻辑捋顺了,就可以利用 Python 来进行实践了。

首先是先把 csv 转化成 xlsx 格式

import pandas as pd

inflie = open('在线聊数据.csv')

data = pd.read_csv(inflie, encoding='utf-8')
data.to_excel('在线聊数据.xlsx', sheet_name = 'sheet1', index = False)
print('ok')

第二步是进行匹配,实际上 Python 并没有很好的 VLOOKUP 解决方法,但其实可以利用 zip() 这个方法来完美解决

import pandas as pd
import numpy as np

df1 = pd.read_excel(r'在线聊数据.xlsx')
df2 = pd.read_excel(r'商铺运营同事负责的门店表.xlsx', sheet_name='Sheet1')

df2_colleague = dict(zip(df2['门店'], df2['商铺运营同事']))
df1['商铺运营同事'] = df1['门店'].map(df2_colleague)
df2_leader = dict(zip(df2['门店'], df2['商铺运营同事领导']))
df1['商铺运营同事领导'] = df1['门店'].map(df2_leader)
df = df1

那第三步则是数据清洗

df_clean = df[df['客户来源'] == '在线聊'] # 客户来源选择在线聊
df_clean.drop_duplicates(['用户id', '业务类型'], inplace=True) # 对用户 id 和业务类型进行去重
df['经纪人姓名'].replace('', np.nan, inplace=True) # 对姓名为空的数据替换上空值
df.dropna(subset=['经纪人姓名'], inplace=True) # 对缺失值进行剔除
sell_house = df_clean[df_clean['业务类型'] == '二手房'] # 业务类型选择二手房

第四步数据透视 8 份表和第五步算出转化率的求值。

# 在线聊客户量
var1 = sell_house.groupby(['分公司']).size()
# 在线聊客户录入量
var2 = sell_house[sell_house['转客时间']].groupby(['分公司']).size()
# 在线聊客户带看量
var3 = sell_house[sell_house['转带看时间']].groupby(['分公司']).size()
# 在线聊客户成交量
var4 = sell_house[sell_house['转成交时间']].groupby(['分公司']).size()

Brand = var1.to_frame(name='在线聊')
Brand['在线聊客户量'] = var1
Brand['在线聊客户拿到手机量'] = var2
Brand['在线聊客户拿到手机率'] = var2 / var1
Brand['在线聊客户带看量'] = var3
Brand['在线聊客户带看率'] = var3 / var1
Brand['在线聊客户成交量'] = var4
Brand['在线聊客户成交率'] = var4 / var1
Brand.fillna(0, inplace=True)
Brand.loc['总计'] = Brand.apply(lambda x: x.sum())
Brand['在线聊客户拿到手机率'] = Brand['在线聊客户拿到手机量'] / Brand['在线聊客户量']
Brand['在线聊客户带看率'] = Brand['在线聊客户带看量'] / Brand['在线聊客户量']
Brand['在线聊客户成交率'] = Brand['在线聊客户成交量'] / Brand['在线聊客户量']
Brand.reset_index(inplace=True)
Brand.drop('在线聊', 1, inplace=True)
print('品牌已完成')

导出

writer = pd.ExcelWriter(r'处理后的数据.xlsx')
Brand.to_excel(writer, '品牌', index=False)
df_clean.to_excel(writer, '明细', index=False)
writer.save()
print('整合已完成')

那脚本就大概完成了,其中四个代码块是可以不断的复用。然后有事没事就跑下。

其实还有很多份表,这里只是挑了一个例子在这里讲。曾经我真的每天工作7个小时55分钟在做表,到了现在做40多份表只用10分钟,真的是大大的解放了我重复劳动的时间。

同时做决策的时间也多了,指标自然就越涨越高了。

你可能感兴趣的:(如何让每天 6 小时重复性的工作压缩到 10 分钟完成?)