首先講講我的工作環(huán)境還有同事關系网缝,目前在二線城市的某房地產中介 O2O 干的 TO B 產品運營,并不直接對接商戶蟋定,中間還隔著一層商鋪運營粉臊,然后我每天都要給他們輸出數(shù)據(jù)日報,加起來大概是 50 份 Excel 表左右驶兜。
剛開始的時候扼仲,把一份表做完的時間大概是 45 個小時左右,非常耗時間抄淑,每天做決策的時間只有 5 分鐘屠凶,嚴重影響了每天做數(shù)據(jù)提升的計劃。至于計劃落地肆资,就呵呵了矗愧。
然后做好了數(shù)據(jù),再給到每個商鋪運營的同事郑原,然后商鋪運營同事再給到每位用戶進行數(shù)據(jù)提升贱枣。
我剛來這個公司的時候,都是把數(shù)據(jù)先到數(shù)據(jù)組颤专,數(shù)據(jù)組處理完之后再下發(fā)到各位商鋪運營的同事,然后商鋪運營的同事再處理下給到各位用戶钠乏。
有的人可能就問栖秕,哎你們公司沒有 bi 么?有是有晓避,但是數(shù)據(jù)的顆粒度比較大簇捍,如果能精確到每個人就更好了。
那就只能讓我做得清楚一點俏拱,同時也能告訴自己最近的數(shù)據(jù)變化暑塑。
接下來先舉一個簡單的業(yè)務例子和需要制作的數(shù)據(jù):
展位就是經紀人在外網(wǎng)展示的網(wǎng)絡端口。
那從以上來看锅必,就有在線聊的轉化指標:【在線聊要電話的轉化率】【在線聊帶看房子的轉化率】【在線聊帶看房子的成交率】這四個指標事格。
那大概業(yè)務已經捋順了,接下來就要看看原始數(shù)據(jù)了搞隐。
通常來說驹愚,一份表會有很多的數(shù)據(jù)來記錄用戶的所有行為,那實際上我們只用要到我們合適的數(shù)據(jù)就行了劣纲。
那剛開始第一步要怎么做呢逢捺?先把 csv 轉成 xlsx 格式,再打開我們的 Excel 來試著操作一下癞季。
先把每個商戶運營的同事和負責的經紀人進行匹配劫瞳,用的 VLOOKUP
倘潜。
然后進行數(shù)據(jù)透視表,分兩條線志于。
一條線是需要的行是商鋪運營同事的領導涮因,商鋪運營同事,商鋪運營同事負責的門店恨憎,門店里的經紀人蕊退;值的話需要經紀人在線聊的客戶數(shù),要到電話的數(shù)量憔恳,帶看的數(shù)量瓤荔,成交的數(shù)量。
另一條線是需要的行是地產品牌钥组,地產品牌大區(qū)输硝,地產品牌大區(qū)下的門店,門店里的經紀人程梦;值的話需要經紀人在線聊的客戶數(shù)点把,要到電話的數(shù)量,帶看的數(shù)量屿附,成交的數(shù)量郎逃。
把商鋪運營同事的領導,商鋪運營同事挺份,商鋪運營同事負責的門店褒翰,門店里的經紀人和地產品牌,地產品牌大區(qū)匀泊,地產品牌大區(qū)下的門店优训,門店里的經紀人放在 8 個不同的 sheet 里面,改下名字 sheet 的名字各聘,并且求出【拿到電話的轉化率】【帶看的轉化率】【成交的轉化率】揣非。
那總結下來流程就是:
- 先把 csv 轉化成 xlsx 格式
- 打開兩份表,使用
VLOOKUP
匹配商鋪運營的同事 - 數(shù)據(jù)清洗
- 數(shù)據(jù)透視 8 份表
- 8 份表進行轉化率的求值
那把邏輯捋順了躲因,就可以利用 Python 來進行實踐了早敬。
首先是先把 csv 轉化成 xlsx 格式
import pandas as pd
inflie = open('在線聊數(shù)據(jù).csv')
data = pd.read_csv(inflie, encoding='utf-8')
data.to_excel('在線聊數(shù)據(jù).xlsx', sheet_name = 'sheet1', index = False)
print('ok')
第二步是進行匹配,實際上 Python 并沒有很好的 VLOOKUP
解決方法大脉,但其實可以利用 zip()
這個方法來完美解決
import pandas as pd
import numpy as np
df1 = pd.read_excel(r'在線聊數(shù)據(jù).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
那第三步則是數(shù)據(jù)清洗
df_clean = df[df['客戶來源'] == '在線聊'] # 客戶來源選擇在線聊
df_clean.drop_duplicates(['用戶id', '業(yè)務類型'], inplace=True) # 對用戶 id 和業(yè)務類型進行去重
df['經紀人姓名'].replace('', np.nan, inplace=True) # 對姓名為空的數(shù)據(jù)替換上空值
df.dropna(subset=['經紀人姓名'], inplace=True) # 對缺失值進行剔除
sell_house = df_clean[df_clean['業(yè)務類型'] == '二手房'] # 業(yè)務類型選擇二手房
第四步數(shù)據(jù)透視 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'處理后的數(shù)據(jù).xlsx')
Brand.to_excel(writer, '品牌', index=False)
df_clean.to_excel(writer, '明細', index=False)
writer.save()
print('整合已完成')
那腳本就大概完成了,其中四個代碼塊是可以不斷的復用箱靴。然后有事沒事就跑下腺逛。
其實還有很多份表,這里只是挑了一個例子在這里講衡怀。曾經我真的每天工作7個小時55分鐘在做表棍矛,到了現(xiàn)在做40多份表只用10分鐘安疗,真的是大大的解放了我重復勞動的時間。
同時做決策的時間也多了够委,指標自然就越漲越高了荐类。