Case Study: How Does a Bike-Share Navigate Speedy Success?
บทเรียนรู้เพื่อเปลี่ยนใจลูกค้า
Introduction
ขอต้อนรับเข้าสู่การวิเคราะห์ข้อมูลผ่านกรณีศึกษาของธุรกิจไบค์แชร์ ! ครั้งนี้เราจะไปเรียนรู้ร่วมกันผ่านข้อมูลและการลงมือทำจริง โดยจะสวมบทบาทเป็นนักวิเคราะห์ข้อมูลหน้าใหม่ประจำบริษัท Cyclistic (ชื่อสมมุติ) ซึ่งจะทำงานผ่านกระบวนการวิเคราะห์ข้อมูลทั้ง 6 ขั้นตอน ได้แก่ ask, prepare, process, analyze, share และ act
Scenario
เราในฐานะนักวิเคราะห์ข้อมูลน้องใหม่สังกัดทีมวิเคราะห์การตลาดของบริษัท Cyclistic หนึ่งในบริษัทธุรกิจไบค์แชร์ของเมืองชิคาโก หัวหน้าใหญ่สุดของทีมเรามีความเชื่อมั่นว่าความสำเร็จของบริษัทในอนาคตจะขึ้นอยู่กับการเพิ่มจำนวนของลูกค้าสมาชิกรายปี ดังนั้นทีมของเราต้องไปทำความเข้าใจให้ได้ว่าลูกค้าทั่วไปและลูกค้าสมาชิกรายปีมีพฤติกรรมการใช้จักรยานแตกต่างกันอย่างไร ข้อมูลเชิงลึกที่ได้จะถูกนำไปออกแบบเป็นกลยุทธ์การตลาดใหม่เพื่อเปลี่ยนใจลูกค้าทั่วไปมาเป็นสมาชิกรายปี แต่ก่อนจะไปถึงขั้นนั้นได้ จะต้องผ่านการอนุมัติจากทีมผู้บริหารเสียก่อน เพราะฉะนั้นข้อมูลเชิงลึกจะต้องแน่นและการนำเสนอเป็นภาพต้องเป็นมืออาชีพ
Characters and teams
มาดูกันว่าเราต้องทำงานร่วมกับใครหรืออะไรกันบ้าง
Cyclistic: โครงการไบค์แชร์ของบริษัทที่ให้บริการเช่าจักรยานมากกว่า 5,800 คัน พร้อมสถานีจอดกว่า 600 แห่ง Cyclistic สร้างความแตกต่างโดยการให้บริการจักรยานหลากหลายรูปแบบ ไม่ว่าจะเป็นจักรยานแบบเอนปั่น (reclining bike) จักรยานสามล้อแบบใช้มือปั่น (hand tricycles) และจักรยานบรรทุกของ (cargo bike) เพื่อให้ครอบคลุมถึงกลุ่มผู้พิการและผู้ขับขี่ที่ไม่สามารถใช้จักรยานสองล้อมาตรฐานได้ จำนวนของผู้ขับขี่ส่วนใหญ่เลือกใช้เป็นจักรยานแบบมาตรฐานและมีประมาณ 8% ที่ใช้เป็นจักรยานทางเลือก ในแง่วัตถุประสงค์ของการใช้งานนั้นส่วนใหญ่มักจะขี่เพื่อการพักผ่อน อีกประมาณ 30% ใช้ในการเดินทางไปทำงานในแต่ละวัน
Lily Moreno: ผู้อำนวยการฝ่ายการตลาดและเป็นหัวหน้างานของเรา Moreno ดูแลในส่วนของการพัฒนาแคมเปญและออกความคิดริเริ่มเพื่อส่งเสริมโครงการไบค์แชร์ รวมไปถึงการทำการตลาดผ่านอีเมล สื่อสังคมออนไลน์ และช่องทางอื่น ๆ
Cyclistic marketing analytics team: ทีมนักวิเคราะห์ข้อมูลทำหน้าที่รวบรวม วิเคราะห์ และรายงานข้อมูลเพื่อช่วยในการวางแผนการตลาดให้กับโครงการ Cyclistic เราเป็นนักวิเคราะห์ข้อมูลน้องใหม่ที่เข้าร่วมทีมนี้มาได้หกเดือน ซึ่งตอนนี้กำลังง่วนอยู่กับการเรียนรู้เกี่ยวกับพันธกิจและเป้าหมายทางธุรกิจของบริษัท รวมไปถึงแนวทางในการทำงานเพื่อสนับสนุนให้บริษัทบรรลุเป้าหมายตามที่วางไว้
Cyclistic executive team: ทีมผู้บริหารที่มีกิตติศัพท์ด้านการใส่ใจรายละเอียด จะเป็นผู้ตัดสินใจว่าแผนกลยุทธ์ที่แนะนำโดยทีมวิเคราะห์การตลาดนั้นจะได้ไปต่อหรือไม่ได้ไปต่อ
About the company
โครงการไบค์แชร์ของบริษัท Cyclistic เริ่มต้นตั้งแต่ปี 2016 และค่อย ๆ เติบโตขึ้นจนมีจำนวนจักรยานถึง 5,824 คันในปัจจุบัน จักรยานแต่ละคันมีระบบติดตามตำแหน่งและจอดให้บริการตามสถานี 692 แห่งทั่วเมืองชิคาโก ผู้ใช้งานสามารถใช้จักรยานด้วยการปลดล็อกผ่านแอปพลิเคชันบนสมาร์ทโฟนจากสถานีหนึ่งและจอดคืนที่สถานีใดก็ได้ตลอดเวลา
ตั้งแต่อดีตจนถึงปัจจุบันกลยุทธ์ทางการตลาดของ Cyclistic ยังคงอาศัยการสร้างการรับรู้ทั่วไปและดึงดูดกลุ่มเป้าหมายในวงกว้าง แนวทางหนึ่งที่ทำให้แผนการตลาดประสบความสำเร็จคือความยืดหยุ่นของการกำหนดค่าบริการ ซึ่งมีทั้งแบบขับขี่เที่ยวเดียว (single-ride pass) แบบขับขี่เต็มวัน (full-day pass) และแบบสมาชิกรายปี (annual membership) โดยผู้ใช้งานที่ใช้บริการแบบเที่ยวเดียวหรือเต็มวันจะเรียกว่า ลูกค้าทั่วไป ส่วนผู้ใช้งานที่เป็นสมาชิกรายปีจะเรียกว่า ลูกค้าสมาชิก
นักวิเคราะห์การเงินของบริษัทได้ให้ข้อมูลเอาไว้ว่าสมาชิกรายปีนั้นทำกำไรให้กับบริษัทมากกว่าสมาชิกทั่วไป ซึ่งแม้ว่าความยืดหยุ่นด้านราคาจะช่วยทำให้บริษัทดึงดูดลูกค้าได้มากขึ้น แต่ทาง Moreno ก็ยังเชื่อว่าการเพิ่มจำนวนสมาชิกรายปีให้ได้มากที่สุดนั้นเป็นกุญแจสำคัญสู่การเติบโตในอนาคต แทนที่จะยิงแคมเปญการตลาดให้กับกลุ่มลูกค้าใหม่ทั้งหมด ก็ให้ทำการตลาดโดยการเปลี่ยนลูกค้าทั่วไปมาเป็นลูกค้าสมาชิกด้วย ซึ่งเธอตั้งข้อสังเกตว่าลูกค้าทั่วไปมีความคุ้นเคยกับ Cyclistic อยู่แล้ว
Monero ได้กำหนดเป้าหมายไว้อย่างชัดเจน คือ การออกแบบกลยุทธ์ทางการตลาดโดยมุ่งให้เปลี่ยนลูกค้าทั่วไปมาเป็นลูกค้าสมาชิกรายปี ซึ่งการที่จะทำเช่นนั้นได้ ทางทีมวิเคราะห์การตลาดจำเป็นต้องมีความเข้าใจให้ดียิ่งขึ้นว่าลูกค้าสมาชิกรายปีแตกต่างกับลูกค้าทั่วไปอย่างไร ซึ่ง Monero และทีมงานสนใจที่จะวิเคราะห์บันทึกข้อมูลการเดินทางของจักรยานเพื่อค้นหารูปแบบหรือแนวโน้มจากข้อมูล
Data analysis process
Ask
ขั้นตอนแรกของกระบวนการวิเคราะห์ข้อมูล คือ การกำหนดวัตถุประสงค์ของการวิเคราะห์ข้อมูลซึ่งมักมีที่มาจากปัญหาหรือคำถามทางธุรกิจ
จากเป้าหมายที่ต้องการเพิ่มจำนวนสมาชิกรายปีเพื่อผลักดันการเติบโตของบริษัทในอนาคตนั้น ทางทีมได้กำหนดเป็นคำถามทางธุรกิจไว้ 3 ข้อสำหรับเป็นแนวทางในการทำการตลาด
ลูกค้าสมาชิกรายปีและลูกค้าทั่วไปมีพฤติกรรมการใช้จักรยานแตกต่างกันอย่างไร ?
มีเหตุผลใดที่ลูกค้าทั่วไปจะซื้อสมาชิกรายปีของ Cyclistic ?
Cyclistic จะใช้สื่อดิจิทัลเพื่อโน้มน้าวลูกค้าทั่วไปให้เป็นสมาชิกได้อย่างไร ?
ซึ่งทาง Monero ได้มอบหมายคำถามข้อแรกให้เราเป็นผู้วิเคราะห์หาคำตอบ เพราะฉะนั้นวัตถุประสงค์ของการวิเคราะห์ของเราก็คือ
วิเคราะห์ความแตกต่างของพฤติกรรมการใช้จักรยานระหว่างลูกค้าสมาชิกรายปีกับลูกค้าทั่วไป สำหรับการออกแบบกลยุทธ์การตลาดใหม่เพื่อเปลี่ยนลูกค้าทั่วไปให้มาเป็นสมาชิกรายปี
Prepare
เราจะใช้ข้อมูลเปิดที่ผลิตโดยบริษัท Motivate International Inc. ภายใต้ข้อตกลงสิทธิ์การใช้ข้อมูล มาเป็นตัวแทนข้อมูลของบริษัท Cyclistic ที่เราจะวิเคราะห์กัน โดยเราจะใช้บันทึกข้อมูลการเดินทางของจักรยานย้อนหลัง 12 เดือน (เดือนมกราคม-ธันวาคม 2022) และสามารถดาวน์โหลดข้อมูลได้ที่นี่
หมายเหตุ: เนื่องจากข้อจำกัดด้านความเป็นส่วนตัวของข้อมูล จึงไม่มีข้อมูลที่ระบุตัวบุคคลได้
ข้อมูลอยู่ในรูปแบบของไฟล์ CSV มี 12 ไฟล์แยกตามเดือน แต่ละไฟล์ประกอบไปด้วยข้อมูล 13 คอลัมน์ ซึ่งไม่ได้มีคำอธิบายข้อมูล (metadata) มาให้ด้วย แต่ก็ยังสามารถเข้าใจได้ไม่ยากจากชื่อของคอลัมน์
Column name | Description |
ride_id | Unique ID of a ride |
rideable_type | Type of bike |
started_at | Date and time of trip start |
ended_at | Date and time of trip end |
start_station_name | Name of start station |
start_station_id | Unique ID of start station |
end_station_name | Name of end station |
end_station_id | Unique ID of end station |
start_lat | Latitude of start station |
start_lng | Longitude of start station |
end_lat | Latitude of end station |
end_lng | Longitude of end station |
member_casual | Contains 'member' or 'casual' to indicate type of customer |
จากการสำรวจรายละเอียดของข้อมูลเบื้องต้นพบว่ามีข้อมูลบางส่วนขาดหายไปในคอลัมน์ที่เกี่ยวกับสถานีจอดและพิกัดที่ตั้ง ซึ่งอาจอยู่นอกเหนือขอบเขตการหาคำตอบของเรา ทำให้ในภาพรวมยังถือว่าเป็นข้อมูลที่ดี (เข้าเกณฑ์ ROCCC) และเพียงพอที่จะนำไปวิเคราะห์ต่อได้
Process
ในขั้นตอนนี้จะเป็นการตรวจสอบหาข้อมูลที่ไม่ถูกต้องและทำความสะอาดข้อมูลกันด้วยโปรแกรม R
Step 1: Load packages
# Install the required packages
install.packages("tidyverse")
install.packages("skimr")
install.packages("janitor")
# Load the packages
library(tidyverse)
library(skimr)
library(janitor)
Step 2: Import and merge data
# Import and merge the data
df <- list.files(path = "2022-divvy-tripdata",
pattern = "*.csv",
full.names = TRUE) %>%
lapply(read_csv) %>%
bind_rows
Step 3: Getting to know our data
# Preview the data using the head() function
head(df)
# View all variable names
colnames(df)
# Obtain a summary of the data frame
skim_without_charts(df)
Step 4: Cleaning our data
จากสรุปข้อมูลที่ได้จากฟังก์ชัน skim_without_charts()
จะเห็นว่าข้อมูลทั้งหมดมีจำนวน 5,667,717 แถว และมีค่าเท่ากับจำนวนนับแบบไม่ซ้ำของคอลัมน์ ride_id แสดงว่าไม่พบว่ามีค่าซ้ำในข้อมูลของเรา นอกจากนี้เราจะเลือกคัดข้อมูลที่ผิดพลาดออก เช่น คอลัมน์ที่มีข้อมูลขาดหายไป (missing data) ให้เหลือเฉพาะคอลัมน์ที่เราสนใจเท่านั้น และจะสร้างเป็นข้อมูลชุดใหม่ขึ้นมาชื่อว่า trimmed_df
# Create a new data frame with the desired columns
trimmed_df <- df %>%
select(ride_id, rideable_type, member_casual, started_at, ended_at)
Step 5: Transform the data
เราจะสร้างคอลัมน์ขึ้นมาใหม่อีก 3 คอลัมน์เพื่อใช้ในการวิเคราะห์และแสดงข้อมูลเป็นภาพ ได้แก่
ride_length คือ ระยะเวลาในการขับขี่ (นาที)
day_of_week คือ วันในสัปดาห์
month_of_year คือ เดือนของปี
# Convert the 'started_at' and 'ended_at' columns to POSIXct objects
trimmed_df$started_at <-
as.POSIXct(trimmed_df$started_at, format = "%Y-%m-%d %H:%M:%S")
trimmed_df$ended_at <-
as.POSIXct(trimmed_df$ended_at, format = "%Y-%m-%d %H:%M:%S")
# Calculate the difference between the two times and store it as the 'ride_length' variable
trimmed_df$ride_length <-
difftime(trimmed_df$ended_at, trimmed_df$started_at, units = "mins")
# Extract the day of the week from the 'trimmed_df$started_at' column
trimmed_df$day_of_week <- weekdays(trimmed_df$started_at)
# Extract the month of the year from the 'trimmed_df$started_at' column
trimmed_df$month_of_year <- format(trimmed_df$started_at, "%b")
# Preview the data using the head() function
head(trimmed_df)
# Obtain a summary of the new data frame
skim_without_charts(trimmed_df)
ค่าต่ำสุด (min) ของข้อมูลในคอลัมน์ ride_length เป็นค่าติดลบ แสดงว่าอาจมีข้อมูลที่ไม่ถูกต้องปะปนอยู่ ซึ่งจะมีผลให้การคำนวณค่าทางสถิติคลาดเคลื่อนและนำไปสู่การแปลผลที่ผิดพลาดได้ เราจึงตัดสินใจเลือกตัดข้อมูลส่วนนี้ออกไปจากการวิเคราะห์
# Identify the instances with positive ride lengths
valid_rows <- trimmed_df$ride_length > 0
# Retain only the rows with positive ride lengths
trimmed_df <- trimmed_df[valid_rows, ]
# Verify if any rows remain in the data frame
nrow(trimmed_df)
ข้อมูลที่ถูกตัดออกไปมีจำนวนไม่มากนัก ถือว่าไม่มีผลกระทบอย่างมีนัยสำคัญต่อการวิเคราะห์ของเรา
Analyze
และตอนนี้ข้อมูลของเราก็ถูกจัดรูปแบบใหม่อย่างเหมาะสมและพร้อมสำหรับการวิเคราะห์ข้อมูลแล้ว ขั้นต้นเราจะคำนวณหาค่าสถิติพื้นฐานเพื่อให้เข้าใจโครงสร้างของข้อมูล
# Calculate descriptive statistics for the 'ride_length' column
trimmed_df %>%
summarise(
mean = mean(ride_length),
median = median(ride_length),
min = min(ride_length),
max = max(ride_length),
sd = sd(ride_length),
count = n()
)
# Convert the 'day_of_week' column to a factor variable with a specified level order
trimmed_df$day_of_week <-
factor(
trimmed_df$day_of_week,
levels = c(
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
)
)
# Use the table() function to determine the frequency of each day
table(trimmed_df$day_of_week)
ต่อไปนำประเภทของลูกค้าเข้ามาประกอบร่วมด้วยพร้อมกับแสดงข้อมูลออกมาเป็นภาพเพื่อให้เข้าใจถึงข้อมูลได้ดียิ่งขึ้น โดยจะเริ่มจากการแสดงค่าเฉลี่ยของระยะเวลาในการขับขี่ของลูกค้าสมาชิกและลูกค้าทั่วไป
# Group the data by the 'member_casual' column and calculate the mean 'ride_length' for each group
mean_ride_by_customer <- trimmed_df %>%
group_by(member_casual) %>%
summarise(mean_ride = mean(ride_length))
# Generate a bar plot of the 'mean_ride' grouped by the 'member_casual' column
ggplot(mean_ride_by_customer,
aes(
x = member_casual,
y = as.numeric(mean_ride),
fill = member_casual
)) +
geom_bar(stat = "identity", show.legend = FALSE) +
labs(x = "Customer Type", y = "Average Ride Length (mins)") +
ggtitle("Average Ride Length by Customer Type") +
geom_text(aes(label = round(as.numeric(mean_ride), 2)),
position = position_dodge(width = 0.9),
vjust = 1.6)
จะเห็นว่าลูกค้าทั่วไปมักจะใช้เวลาในการขับขี่นานกว่าเมื่อเทียบกับลูกค้าสมาชิก จากนั้นเราจะนำข้อมูลวันในสัปดาห์มาวิเคราะห์ร่วมด้วย
# Calculate the average 'ride_length' for each combination of 'member_casual' and 'day_of_week'
mean_ride_by_customer_and_day <- trimmed_df %>%
group_by(member_casual, day_of_week) %>%
summarise(mean_ride = mean(ride_length))
# Generate a bar plot of the 'mean_ride' grouped by both the 'member_casual' and 'day_of_week' columns
ggplot(
mean_ride_by_customer_and_day,
aes(
x = day_of_week,
y = as.numeric(mean_ride),
fill = member_casual
)
) +
geom_bar(stat = "identity",
position = "dodge") +
labs(x = "Day of Week", y = "Average Ride Length (mins)", fill = "Customer Type") +
ggtitle("Average Ride Length by Customer Type and Day of Week") +
geom_text(aes(label = round(as.numeric(mean_ride), 2)),
position = position_dodge(width = 0.9),
vjust = 1.6)
ปรากฏว่าระยะเวลาเฉลี่ยในการขับขี่ของลูกค้าทั่วไปนั้นมีค่าสูงกว่าลูกค้าสมาชิกในทุกวันของสัปดาห์ และจะแตกต่างกันมากที่สุดในวันเสาร์และวันอาทิตย์
ถัดไปเปลี่ยนมุมมองมาดูจำนวนครั้งของการขับขี่กันบ้าง
# Calculate the number of rides by 'member_casual' and 'day_of_week'
rides_by_customer_and_day <- trimmed_df %>%
group_by(member_casual, day_of_week) %>%
summarise(ride_count = n())
# Generate a bar plot of the 'ride_count' grouped by both the 'member_casual' and 'day_of_week' columns
ggplot(rides_by_customer_and_day,
aes(
x = day_of_week,
y = round(ride_count / 1000, 0),
fill = member_casual
)) +
geom_bar(stat = "identity",
position = "dodge") +
labs(x = "Day of Week", y = "Number of Rides (x1000)", fill = "Customer Type") +
ggtitle("Number of Rides by Customer Type and Day of Week") +
geom_text(aes(label = round(ride_count / 1000, 0)),
position = position_dodge(width = 0.9),
vjust = 1.6)
พบว่าลูกค้าทั่วไปมีจำนวนครั้งของการขับขี่หรือมีการใช้จักรยานมากกว่าลูกค้าสมาชิกในวันหยุดเสาร์-อาทิตย์ แต่จะมีการใช้งานน้อยกว่าในวันธรรมดา (วันจันทร์ถึงวันศุกร์) ในขณะที่ลูกค้าสมาชิกมีจำนวนการใช้งานจักรยานค่อนข้างคงที่ตลอดทั้งสัปดาห์
ต่อไปเราจะวิเคราะห์ข้อมูลในลักษะเดิมแต่จะเปลี่ยนข้อมูลวันในสัปดาห์เป็นเดือนของทั้งปีแทน เพื่อจะหารูปแบบหรือแนวโน้มที่เกิดขึ้นตลอดปี
# Calculate the number of rides by 'member_casual' and 'month_of_year'
rides_by_customer_and_month <- trimmed_df %>%
group_by(member_casual, month_of_year) %>%
summarise(ride_count = n())
# Generate a line plot of the 'ride_count' grouped by both the 'member_casual' and 'month_of_year' columns
ggplot(
rides_by_customer_and_month,
aes(
x = factor(month_of_year, levels = month.abb),
y = round(ride_count / 1000, 0),
group = member_casual,
color = member_casual
)
) +
geom_line() +
labs(x = "Month of Year", y = "Number of Rides (x1000)", color = "Customer Type") +
ggtitle("Number of Rides by Customer Type and Month of Year")
ในภาพรวมทั้งลูกค้าทั่วไปและลูกค้าสมาชิกมีจำนวนการใช้งานจักรยานเพิ่มขึ้นเรื่อย ๆ ตั้งแต่เดือนมกราคมจนมีค่าสูงสุดในช่วงเดือนกรกฎาคมถึงเดือนสิงหาคม และจะค่อย ๆ ลดลงในเดือนต่อ ๆ มา โดยมีจำนวนการใช้งานจักรยานน้อยที่สุดในเดือนธันวาคม
Summary
ผลการวิเคราะห์ให้ข้อมูลเชิงลึกเกี่ยวกับพฤติกรรมของลูกค้าได้ดังนี้
ลูกค้าทั่วไปมักจะใช้เวลาในการขับขี่จักรยานมากกว่าลูกค้าสมาชิกโดยเฉลี่ยประมาณ 16.43 นาที และจะใช้เวลานานขึ้นอีกโดยเฉพาะในวันหยุดสุดสัปดาห์
ลูกค้าทั่วไปจะใช้บริการจักรยานมากขึ้นในช่วงสุดสัปดาห์ ในขณะที่ลูกค้าสมาชิกมีจำนวนการใช้บริการที่สม่ำเสมอกว่าตลอดทั้งสัปดาห์
จำนวนการใช้งานจักรยานของลูกค้าทั้งสองกลุ่มมีแนวโน้มเพิ่มขึ้นตั้งแต่เดือนมกราคมไปจนถึงเดือนกรกฎาคมและสิงหาคม หลังจากนั้นจะลดลงเรื่อย ๆ ในเดือนที่เหลือของปี แนวโน้มนี้อาจบ่งบอกถึงรูปแบบตามฤดูกาล โดยลูกค้ามีการใช้บริการมากขึ้นในช่วงฤดูร้อนและจะน้อยลงในช่วงฤดูหนาว
หลังจากสรุปผลการวิเคราะห์ เราจะบันทึกข้อมูลที่ถูกจัดรูปแบบใหม่จากขั้นตอนการวิเคราะห์ข้อมูลนี้ออกมาเป็นไฟล์ CSV เพื่อนำไปใช้ต่อกับขั้นตอนถัดไป
# Write the data frame to a CSV file for use in the Share step
write_csv(trimmed_df, file = "trimmed_df.csv")
Share
ข้อมูลที่ได้จะถูกนำมาแปลงให้เป็นภาพเพื่อแบ่งปันการวิเคราะห์และใช้สนับสนุนสิ่งที่ค้นพบ ซึ่ง Monero ได้ย้ำเตือนว่าจะต้องมีความพิถีพิถันและให้รายละเอียดเพื่อให้สามารถสื่อสารกับทีมผู้บริหารได้อย่างมีประสิทธิภาพ
ในที่นี้ได้เลือกใช้โปรแกรม Tableau ในการปรับการแสดงภาพให้เหมาะสมกับผู้รับข้อมูลเพื่อให้เข้าใจสิ่งที่ต้องการนำเสนอได้ง่ายขึ้น ซึ่งเราจะใช้หลักความแตกต่างของสี ขนาด และรูปร่างมาช่วยดึงดูดความสนใจของผู้ฟังไปยังข้อมูลสำคัญที่ต้องการสื่อสาร รวมทั้งการใช้องค์ประกอบต่าง ๆ ของข้อความ เช่น หัวเรื่องหลัก หัวเรื่องรอง และข้อความกำกับเพื่อสื่อความหมายให้ชัดเจน
รูปที่ 1 แสดงระยะเวลาในการขับขี่โดยเฉลี่ยของลูกค้าทั่วไปที่สูงกว่าลูกค้าสมาชิกอยู่ประมาณ 16 นาที
รูปที่ 2 แสดงระยะเวลาในการขับขี่โดยเฉลี่ยของลูกค้าทั่วไปที่สูงกว่าโดยเฉพาะในวันหยุดสุดสัปดาห์
รูปที่ 3 แสดงจำนวนการขับขี่ที่มากขึ้นของลูกค้าทั่วไปในวันหยุดสุดสัปดาห์
รูปที่ 4 แสดงจำนวนการขับขี่ของลูกค้าทั้งสองประเภทที่ผันแปรไปตามฤดูกาล
จากการแสดงภาพข้อมูลข้างต้นชี้ให้เห็นถึงความแตกต่างในพฤติกรรมของลูกค้าทั่วไปและลูกค้าสมาชิกในแง่ของระยะเวลาและความถี่ในการขับขี่
คลิกที่นี่เพื่อเข้าชมการแสดงภาพข้อมูลแบบอินเทอร์แอคทีฟบน Tableau Public
Act
หลังจากได้สร้างการแสดงภาพข้อมูลเพื่อมาสนับสนุนข้อสรุปแล้ว ตอนนี้ก็ได้เวลานำข้อมูลเชิงลึกที่วิเคราะห์ได้มาปรับใช้เป็นแนวทางแก้ไขปัญหาธุรกิจ ซึ่งในที่นี้ก็คือการออกแบบกลยุทธ์การตลาดเพื่อเปลี่ยนลูกค้าทั่วไปมาเป็นสมาชิกรายปี และนี่ก็คือคำแนะนำกลยุทธ์ 3 อันดับแรกที่ได้จากการวิเคราะห์ข้อมูลของเรา
Longer ride discount: สร้างแรงจูงใจให้กับลูกค้าทั่วไปในการสมัครเป็นสมาชิก โดยการมอบส่วนลดพิเศษสำหรับการขับขี่ที่นานขึ้นเมื่อเป็นสมาชิกรายปี ซึ่งสามารถโปรโมตด้วยการทำการตลาดผ่านอีเมลหรือผ่านการแจ้งเตือนในแอปพลิเคชัน
Target weekends: เนื่องจากลูกค้าทั่วไปมีแนวโน้มที่จะขับขี่มากขึ้นในวันหยุดสุดสัปดาห์ จึงแนะนำให้ดึงดูดลูกค้าด้วยโปรโมชันในช่วงวันดังกล่าว ตัวอย่างเช่น เสนอส่วนลดในการขับขี่ในช่วงสุดสัปดาห์สำหรับสมาชิกรายปีเท่านั้น
Timing is key: ใช้ประโยชน์จากแนวโน้มการขับขี่ที่เพิ่มขึ้นตั้งแต่เดือนมกราคมจนไปถึงเดือนกรกฎาคมและสิงหาคมเพื่อส่งเสริมการสมัครเป็นสมาชิกรายปี เช่น เสนอโปรโมชันและส่วนลดในช่วงฤดูร้อน
ด้วยการมุ่งเน้นไปที่คำแนะนำเหล่านี้ เราสามารถพัฒนาแผนการตลาดให้ตรงกับกลุ่มลูกค้าเป้าหมายได้มากขึ้น นอกจากนี้ยังมีข้อมูลด้านอื่น ๆ ที่สามารถนำมาใช้เพื่อขยายผลในการวิเคราะห์ข้อมูลได้ เช่น ข้อมูลประชากร ความคิดเห็นและแบบสำรวจจากลูกค้า การวิเคราะห์คู่แข่ง ข้อมูลตำแหน่งที่ตั้ง และข้อมูลช่องทางการตลาด เป็นต้น
สุดท้ายเราได้รวบรวมประเด็นสำคัญทั้งหมดไว้ในการนำเสนอแบบกระชับเพื่อให้ทุกคนทราบภาพรวมของผลการวิเคราะห์ได้รวดเร็วและง่ายขึ้นเพียงคลิกที่นี่
กรณีศึกษาของธุรกิจไบค์แชร์นี้ชี้ให้เห็นว่าข้อมูลมีบทบาทสำคัญในการโน้มน้าวใจของลูกค้าด้วยการใช้ข้อมูลเชิงลึก ซึ่งยังเน้นย้ำถึงความสำคัญของการตัดสินใจทางธุรกิจด้วยข้อมูลที่สามารถขับเคลื่อนความสำเร็จทางธุรกิจได้
บทความนี้ถูกเขียนเพื่อใช้เป็นส่วนหนึ่งของคอร์ส Google Data Analytics Capstone: Complete a Case Study สำหรับ Google Data Analytics Professional Certificate