經過了整理、分析、視覺化等流程,要讓這些資訊變成股東/上司(觀眾)能夠快速進入狀況與理解的內容。
如最初所提到的,分析目標重點是【如何讓新客轉換為會員】,所以我自己列了以下幾個問題,站在使用者角度(偶爾也會騎一下Ubike哈哈)來促使自己各種思考,再來挑選一些本次目標有關的內容。
有哪些契機會讓使用者租用腳踏車服務?
有哪些原因會讓使用者想租借得久一點?
有哪些原因會讓使用者重複使用服務?
其他可能會影響到租借意願的因素
有哪些誘因會讓新客想加入會員?
如果要更進一步分析,可能還需要哪些資料?
接下來幾天的文章,應該會比較著重在如何一步步搭建資料故事的過程,並一天完成一點點簡報內容分享在這邊。
此外,補充一下之前分析沒有想到的一些面向:
#騎乘時間長的紀錄,有特定分布在哪一些站點嗎?
def data_mask(dataframe,column_1,time_1,column_2):
m=dataframe[column_1]>time_1
number=dataframe[column_1][m].count()
station=dataframe[m][column_2].value_counts()
return number,station
data_mask(df1,'ride_length','12:00:00','start_station_name')
###
(410,
Lake Shore Dr & Monroe St 18
Wabash Ave & Grand Ave 10
Shedd Aquarium 10
Streeter Dr & Grand Ave 8
LaSalle St & Jackson Blvd 7
..
Ashland Ave & Archer Ave 1
Desplaines St & Jackson Blvd 1
63rd St Beach 1
Burling St (Halsted) & Diversey Pkwy (Temp) 1
Damen Ave & Chicago Ave 1
Name: start_station_name, Length: 216, dtype: int64)
#會在同站點租借&歸還者的數目,有沒有特別分布在那些站點(因為觀察到長時間租借的很多都同站還)
def rent_return(dataframe,time_1,column_1,column_2,column_3):
m=dataframe[column_1]>time_1
number=dataframe[column_1][m].count()
rent=dataframe[m][dataframe[m][column_2]==dataframe[m][column_3]].count()
place=dataframe[m][column_2][dataframe[m][column_2]==dataframe[m][column_3]].value_counts()
return number,rent,place
rent_return(df1,'01:00:00','ride_length','start_station_name','end_station_name')
###
(7446,
ride_id 2029
rideable_type 2029
started_at 2029
ended_at 2029
start_station_name 2029
start_station_id 2029
end_station_name 2029
end_station_id 2029
start_lat 2029
start_lng 2029
end_lat 2029
end_lng 2029
member_casual 2029
ride_length 2029
day_of_the_week 2029
dtype: int64,
Wabash Ave & Grand Ave 71
Lake Shore Dr & Monroe St 43
Michigan Ave & Washington St 43
Lakefront Trail & Bryn Mawr Ave 37
Michigan Ave & Oak St 36
..
Chicago Ave & Dempster St 1
Greenview Ave & Fullerton Ave 1
Racine Ave & Congress Pkwy 1
South Shore Dr & 71st St 1
California Ave & Byron St 1
Name: start_station_name, Length: 373, dtype: int64)
明天見!