Lời đầu tiên, em xin gửi lời cảm ơn đến các thầy cô của trường Đại học Tài chính – Marketing, đặc biệt là các thầy cô bộ môn Khoa Kinh tế - Luật đã tận tình giảng dạy và chỉ dẫn em trong quá trình học tập vừa qua. Và em xin chân thành cảm ơn thầy Trần Mạnh Tường đã giúp đỡ, hướng dẫn em hoàn thành bài tiểu luận môn Phân tích dữ liệu định tính này một cách tốt nhất. Em xin chúc thầy cô có nhiều sức khỏe, hạnh phúc và thành công trên con đường sự nghiệp của mình.
Trong quá trình hoàn thành tiểu luận em khó tránh khỏi nhiều thiếu sót, em rất mong nhận được những ý kiến đóng góp từ thầy cô, từ đó giúp em hoàn thiện, học hỏi thêm được nhiều kinh nghiệm và củng cố thêm kiến thức của mình.
Lời cuối cùng, em xin kính chúc thầy, cô thật nhiều sức khỏe, đạt được nhiều thành công và phát triển.
Em xin chân thành cảm ơn!
Mua sắm trực tuyến đã trở thành một phương thức mua sắm phổ biến và ngày càng phát triển trên thế giới trong những năm gần đây. Điều này được thể hiện qua tỷ lệ người tiêu dùng mua sắm trực tuyến cũng như doanh thu từ hoạt động bán lẻ trực tuyến không ngừng gia tăng theo thời gian. Do đó, để thu hút người tiêu dùng mua sắm trực tuyến nhiều hơn thì việc nhận biết được các yếu tố tác động đến ý định mua trực tuyến của khách hàng là rất cần thiết đối với các nhà bán lẻ trực tuyến. Bởi vì, ý định mua sắm thường được xem là một trong hai yếu tố có ảnh hưởng mang tính quyết định đến hành vi mua sắm của người tiêu dùng.
Có rất nhiều loại hình kinh doanh mới ra đời, mang lại sự tiện lợi và cắt giảm chi phí cho cả hai bên giao dịch. Một trong những loại hình ấy chính là Thương mại điện tử (E-commerce), với “ông trùm” Amazon đứng đầu trong danh sách hàng ngàn những trang web bán hàng thuộc lĩnh vực này. Tuy vậy, để có được vị thế và sức ảnh hưởng như ngày hôm nay, Amazon đã trải qua một quá trình đối diện với những thay đổi và cải tiến không những về sản phẩm, dịch vụ mà còn về định hướng phát triển để bắt kịp thị trường biến động ngoài kia. Và tất nhiên, những sự thay đổi và cải tiến này không phải được tạo ra trong ngày một ngày hai, mà đó là chính sự nỗ lực và cố gắng trong nội bộ để đề ra những chiến lược và kế hoạch dài hơi cho hoạt động của doanh nghiệp.
Chính vì thế em quyết định chọn đề tài “PHÂN TÍCH CÁC YẾU TỐ ẢNH HƯỞNG ĐẾN HÀNH VI TIÊU DÙNG CỦA KHÁCH HÀNG TRÊN WEBSITE AMAZON”.
Đề tài bài tiểu luận này này phân tích hành vi tiêu dùng của khách khàng khi sử dụng dịch vụ wedside của AMAZON, từ đó có thể biết được rằng khách hàng thường hay sử dụng chức năng nào, xu hướng người tiêu dùng ra sao, yếu tố nào tác động mạnh đến xu hướng mua hàng.
Đối tượng nghiên cứu: khách hàng sử dụng dịch vụ website AMAZON.
Thời gian thực hiện khảo sát: từ ngày 4/6/2023 đến ngày 16/6/2023, khảo sát 601 người dùng.
Nội dung bài tiểu luận bao gồm:
Chương 1: Phần mở đầu
Chương 2: Tổng quan lý thuyết và dữ liệu nghiên cứu
Chương 3: Thống kê mô tả
Chương 4: Thống kê suy diễn
Chương 5: Mô hình hồi quy
Chương 6: Kết luận
Amazon.com, Inc, hay tên thường gọi là Amazon, là công ty thương mai điện tử và điện toán đám mây có trụ sở tại Seattle, Washington, Mỹ. Đây là dịch vụ bán lẻ trên nền tảng Internet lớn nhất thế giới tính theo doanh số bán và giá vốn hóa thị trường. Khởi nghiệp với hình thức kinh doanh sách qua mạng, Amazon nhanh chóng lấn sân sang rao bán các loại đĩa CD, DVD, đầu máy, đồ chơi, trang sức, thực phẩm,… Dạo gần đây, công ty còn tự đầu tư sản xuất những mặt hàng tiêu dùng điện tử, tiêu biểu phải kể đến máy tính bảng Kindle Fire, TV Fire,… Bên cạnh đó, Amazon hiện nay đã trở thành nhà cung cấp số 1 thế giới về dịch vụ điện toán đám mây (IaaS và PaaS).
Amazon có một hệ thống bán lẻ gồm nhiều quốc gia khác nhau bao gồm: Mỹ, Anh, Canada, Ireland, Pháp, Ý, Úc, Brazil, Nhật Bản,… Với nhiều sản phẩm, Amazon cho phép người mua sử dụng dịch vụ giao hàng trên toàn thế giới, qua hình thức đặt và thanh toán trực tuyến qua mạng (website Amazon.com).
Bộ dữ liệu được thu thập từ người dùng trang web mua sắm Amazon, bộ dữ liệu có tên là “Amazon consumer Behaviour Dataset” bao gồm 601 khảo sát và 23 biến. Bộ dữ liệu lấy khảo sát của 601 người dùng về tương tác của khách hàng trong khi sử dụng trang web. Bao gồm nhiều biến như giới tính, tương tác của người dùng và đánh giá của khách hàng khi trải nghiệm sử dụng dịch vụ trang web Amazon. Sau khi thu thập được nhiều đánh giá của khách hàng, các nhà quản trị có thể hiểu sau hơn về hành vi tiêu dùng của khách hàng, từ đó xác định được xu hướng và tối ưu hóa các chiến lược tiếp thị và cải thiện trải nghiệm tổng thể trang wed tăng sự hài lòng của khách hàng về dịch vụ của Amazon.
Bộ dữ liệu bao gồm 23 biến và 601 quan sát. Trong đó có định lượng và định tính.
ID: mã khách hàng
Age: tuổi khách hàng
Gender: giới tính khách hàng
Purchase Frequency: Tần suất mua hàng trên website
Purchase Categories: Nhóm sản phẩm thường mua
Personalized Recommendation Frequency: Trả lời câu hỏi có thường mua sản phẩm được đề xuất trên website hay không (Câu trả lời là Yes/No/Sometimes)
Browsing Frequency: Trả lời câu hỏi khách hàng có thường dùng website AMAZON hay app (Câu trả lời là Few times a week /Few times a moth/Multiple times a day/Rarely)
Product Search Method: Trả lời câu hỏi khách hàng thường tìm kiếm sản phẩm như thế nào (Câu trả lời là Categories, Keywword, Filter, Oder)
Customer Reviews Importance: Trả lời câu hỏi phần đánh giá của khách hàng ảnh hướng như thế nào đến quyết định mua của bạn (câu trả lời được đánh giá trên thang điểm 5)
Saveforlater Frequency: Trả lời câu hỏi khách hàng có thường sử dụng tính năng “Save to later” trên AMAZON không (Câu trả lời là Alway/Never/Often/Sometimes/Rarely)
Review Left: Trả lời câu hỏi khách hàng có thường để lại đánh giá trên website hay không (Câu trả lời là Yes/No)
Review Reliability: Trả lời câu hỏi khách hàng tin tưởng bao nhiêu đối với đánh giá sản phẩm (Câu trả lời là Heavily/Occasionally/Moderately/Never/Rarely)
Review Helpfulness: Trả lời câu hỏi khách hàng có thấy hữu ích từ thông tin đánh giá sản phẩm hay không (Câu trả lời là Yes/No/Sometimes)
Recommendation Helpfulness: Trả lời câu hỏi khách hàng có thấy hữu ích từ đề xuất hay không (Câu trả lời là Yes/No/Sometimes)
Shopping Satisfaction: Khách hàng đánh giá trải nghiệm mua sắm trên website AMAZON (câu trả lời được đánh giá trên thang Excellent/Good/Average/Poor/Very bad)
Total: Tổng số sản phẩm khách hàng mua trong 1 tháng
library(readxl)
library(DT)
## Warning: package 'DT' was built under R version 4.3.1
library(flextable)
## Warning: package 'flextable' was built under R version 4.3.1
dataset <- read_excel("D:/data/data PTDLDT.xlsx")
datatable(dataset)
ID <- dataset$ID
Age <- dataset$Age
Gender <- dataset$Gender
PF <- dataset$`Purchase Frequency`
PC <- dataset$`Purchase Categories`
PR <- dataset$`Personalized Recommendation Frequency`
BF <- dataset$`Browsing Frequency`
PS <- dataset$`Product Search Method`
CR <- dataset$`Customer Reviews Importance`
SF <- dataset$`Saveforlater Frequency`
RL <- dataset$`Review Left`
RR <- dataset$`Review Reliability`
RH <- dataset$`Review Helpfulness`
RHS <- dataset$`Recommendation Helpfulness`
SS <- dataset$`Shopping Satisfaction`
Total <- dataset$Total
Biến Shopping Satisfaction là biến phụ thuộc. Đây là biến phản ứng của khách hàng sau khi sử dụng dịch của AMAZON, được khảo sát qua nhiều câu hỏi mới đưa ra được mức độ phản ánh phù hợp.
Biến Total là biến phụ thuộc. Đây là biến tổng sản phẩm khách hàng mua trong 1 tháng.
summary(Age)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 16.00 23.00 26.00 30.84 36.00 67.00
Kết quả trên cho thấy độ tuổi khách hàng dao động từ 16 - 67 tuổi. Độ tuổi trung bình là 26 tuổi.
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.1
hist(Age, main = "Biểu đồ tần số của biến age",xlab = "Age", ylab = "Custumer", col = "#9ACD32")
Nhìn chung độ tuổi 20-35 tuổi là khung khách hàng chủ yếu của AMAZON, do lứa tuổi này tiếp cận và cập nhật được internet mạnh mẽ nhất.
table(Gender)
## Gender
## Female Male
## 391 210
Có 391 Khách hàng là nữ và 210 Khách hàng là nam.
table(Gender)/sum(table(Gender))
## Gender
## Female Male
## 0.6505824 0.3494176
Có khoảng 65,06% Khách hàng là nữ và 34,94% Khách hàng là nam trong khảo sát.
ggplot(dataset,aes(Gender)) + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = '#CD6889', vjust = - .5) + geom_bar(color ="black", fill = "#9ACD32") + ylab("Customer") +
xlab("Gender")
Nhìn vào đồ thị có thể thấy tỷ lệ khách hàng nữ nhiều hơn khách hàng nam là 30% do khách hàng nữ có nhiều nhu cầu mua sắm hơn, đặc biệt là nhu cầu làm đẹp, đây là thị phần không thể kể đến trong danh mục bán hàng của AMAZON.
table(PF)
## PF
## Few times a month Less than once a month Multiple times a week
## 202 124 56
## Once a month Once a week
## 107 112
table(PF)/sum(table(PF))
## PF
## Few times a month Less than once a month Multiple times a week
## 0.33610649 0.20632280 0.09317804
## Once a month Once a week
## 0.17803661 0.18635607
Tần suất mua hàng trên AMAZON “Few times a month” một vài lần trên một tháng là 202 khách, hàng chiếm 33,91%; “Less than once a month” ít hơn 1 lần trong tháng là 124 khách hàng, chiếm 20,63%; “Multiple times a week” Nhiều lần một tuần là 56 khách hàng, chiếm 9,32%; ” Once a month” mỗi tháng 1 lần là 107 khách hàng, chiếm 17,8%; ” Once a week” mỗi tuần 1 lần là 112 khách hàng, chiếm 18,63%.
ggplot(dataset,aes(PF)) + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = '#CD6889', vjust = - .5) + geom_bar(color ="black", fill = "#9ACD32") + ylab("Customer") +
xlab("Purchase Frequency")
Nhìn vào đồ thị thấy được khách hàng mua vài lần 1 tháng chiếm nhiều hơn những phản hồi khác, nhưng khách hàng ít mua sản phẩm cũng chiếm khá nhiều bằng 1/5 trên tổng khách hàng của AMAZON.
table(PR)
## PR
## No Sometimes Yes
## 250 229 122
table(PR)/sum(table(PR))
## PR
## No Sometimes Yes
## 0.4159734 0.3810316 0.2029950
Khách hàng có mua sản phẩm được đề xuất là 122 khách hàng, chiếm 20,3% trên tổng số khách hàng.
Khách hàng không mua sản phẩm được đề xuất là 250 khách hàng, chiếm 41,6% trên tổng số khách hàng.
Khách hàng thỉnh thoảng mua sản phẩm được đề xuất là 229 khách hàng, chiếm 38,1% trên tổng số khách hàng.
ggplot(dataset,aes(PR)) + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = '#CD6889', vjust = - .5) + geom_bar(color ="black", fill = "#9ACD32") + ylab("Customer") +
xlab("Browsing Frequency")
Đồ thị cho thấy khách hàng không mua sản phẩm được đề xuất chiếm khá nhiều, lượng khách hàng mua những sản phẩm đề xuất chỉ chiếm cỡ 20% trên tổng số, chỉ bằng phân nữa lượng khách không mua.
table(BF)
## BF
## Few times a month Few times a week Multiple times a day
## 198 249 77
## Rarely
## 77
table(BF)/sum(table(BF))
## BF
## Few times a month Few times a week Multiple times a day
## 0.3294509 0.4143095 0.1281198
## Rarely
## 0.1281198
Tần suất khách hàng thường dùng website hay app AMAZON “Few times a month” một vài lần trên một tháng là 198 khách, hàng chiếm 32,9%; “Few times a week” ít hơn 1 lần trong tháng là 249 khách hàng, chiếm 41,43%; “Multiple times a day” Nhiều lần một ngày là 77 khách hàng, chiếm 12,8%; “Rarely” hiếm khi là 77 khách hàng, chiếm 12,8%.
ggplot(dataset,aes(BF)) + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = '#CD6889', vjust = - .5) + geom_bar(color ="black", fill = "#9ACD32") + ylab("Customer") +
xlab("Browsing Frequency")
table(PS)
## PS
## categories Filter Keyword others
## 223 127 215 36
table(PS)/sum(table(PS))
## PS
## categories Filter Keyword others
## 0.37104825 0.21131448 0.35773710 0.05990017
Tần suất khách hàng tìm kiếm bằng “categories” là 223 khách hàng chiếm 37,1%
Tần suất khách hàng tìm kiếm bằng “Filter” là 127 khách hàng chiếm 21,1%
Tần suất khách hàng tìm kiếm bằng “Keyword” là 215 khách hàng chiếm 35,7%
Tần suất khách hàng tìm kiếm bằng khác là 36 khách hàng chiếm 6%
ggplot(dataset,aes(PS)) + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = '#CD6889', vjust = - .5) + geom_bar(color ="black", fill = "#9ACD32") + ylab("Customer") +
xlab("Product Search Method")
table(CR)
## CR
## 1 2 3 4 5
## 169 114 216 64 38
table(CR)/sum(table(CR))
## CR
## 1 2 3 4 5
## 0.28119800 0.18968386 0.35940100 0.10648918 0.06322795
Tần suất thang điểm phần đánh giá khách hàng 1 điểm trên 5 điểm là 169 khách hàng, chiếm 28,1%
Tần suất thang điểm phần đánh giá khách hàng 2 điểm trên 5 điểm là 114 khách hàng, chiếm 18,7%
Tần suất thang điểm phần đánh giá khách hàng 3 điểm trên 5 điểm là 216 khách hàng, chiếm 35,9%
Tần suất thang điểm phần đánh giá khách hàng 4 điểm trên 5 điểm là 64 khách hàng, chiếm 10,6%
Tần suất thang điểm phần đánh giá khách hàng 5 điểm trên 5 điểm là 38 khách hàng, chiếm 6,3%
ggplot(dataset,aes(CR)) + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = '#CD6889', vjust = - .5) + geom_bar(color ="black", fill = "#9ACD32") + ylab("Customer") +
xlab("Customer Reviews Importance")
table(SF)
## SF
## Always Never Often Rarely Sometimes
## 54 59 156 81 251
table(SF)/sum(table(SF))
## SF
## Always Never Often Rarely Sometimes
## 0.08985025 0.09816972 0.25956739 0.13477537 0.41763727
Tần suất khách hàng “Always” luôn luôn sử dụng chức năng “Saveforlater” là 54 khách hàng, chiếm 8,99%
Tần suất khách hàng “Never” không bao giờ sử dụng chức năng “Saveforlater” là 59 khách hàng, chiếm 9,82%
Tần suất khách hàng “Often” thường sử dụng chức năng “Saveforlater” là 156 khách hàng, chiếm 25,96%
Tần suất khách hàng “Rarely” không bao giờ sử dụng chức năng “Saveforlater” là 81 khách hàng, chiếm 13,48%
Tần suất khách hàng “Sometimes” thỉnh thoảng sử dụng chức năng “Saveforlater” là 251 khách hàng, chiếm 41,76%
ggplot(dataset,aes(SF)) + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = '#CD6889', vjust = - .5) + geom_bar(color ="black", fill = "#9ACD32") + ylab("Customer") +
xlab("Saveforlater Frequency")
table(RL)
## RL
## No Yes
## 291 310
table(RL)/sum(table(RL))
## RL
## No Yes
## 0.484193 0.515807
Tần suất khách hàng để lại đánh giá trên website là 310 khách hàng, chiếm 51,58%
Tần suất khách hàng không để lại đánh giá trên website là 291 khách hàng, chiếm 48,41%
ggplot(dataset,aes(RL)) + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = '#CD6889', vjust = - .5) + geom_bar(color ="black", fill = "#9ACD32") + ylab("Customer") +
xlab("Review Left")
table(RR)
## RR
## Heavily Moderately Never Occasionally Rarely
## 149 199 23 189 41
table(RR)/sum(table(RR))
## RR
## Heavily Moderately Never Occasionally Rarely
## 0.24792013 0.33111481 0.03826955 0.31447587 0.06821963
Tần suất Khách hàng “Heavily” tin tưởng vào đánh giá sản phẩm là 49 khách hàng, chiếm 24,79%
Tần suất Khách hàng “Moderately” tin vừa phải vào đánh giá sản phẩm là 199 khách hàng, chiếm 33,11%
Tần suất Khách hàng “Never” không bao giờ tin vào đánh giá sản phẩm là 23 khách hàng, chiếm 3,82%
Tần suất Khách hàng “Occasionally” thỉnh thoảng tin vào đánh giá sản phẩm là 189 khách hàng, chiếm 31,45%
Tần suất Khách hàng “Rarely” hiếm khi tin vào đánh giá sản phẩm là 41 khách hàng, chiếm 6,82%
ggplot(dataset,aes(RR)) + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = '#CD6889', vjust = - .5) + geom_bar(color ="black", fill = "#9ACD32") + ylab("Customer") +
xlab("Review Reliability")
Nhìn vào đồ thị có thể thấy khách hàng tin vừa phải và khách hàng thỉnh thoảng tin vào đánh giá sản phẩm chiếm nhiều nhất và khách hàng không bao giờ tin chiếm ít nhất.
table(RH)
## RH
## No Sometimes Yes
## 137 227 237
table(RH)/sum(table(RH))
## RH
## No Sometimes Yes
## 0.2279534 0.3777038 0.3943428
Tần suất khách hàng thấy hữu ích từ thông tin đánh giá sản phẩm là 237 khách hàng, chiếm 39,43%
Tần suất khách hàng không thấy hữu ích từ thông tin đánh giá sản phẩm là 137 khách hàng, chiếm 22,79%
Tần suất khách hàng thỉnh thoảng thấy hữu ích từ thông tin đánh giá sản phẩm là 227 khách hàng, chiếm 37,77%
ggplot(dataset,aes(RH)) + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = '#CD6889', vjust = - .5) + geom_bar(color ="black", fill = "#9ACD32") + ylab("Customer") +
xlab("Review Helpfulness")
table(RHS)
## RHS
## No Sometimes Yes
## 171 273 157
table(RHS)/sum(table(RHS))
## RHS
## No Sometimes Yes
## 0.2845258 0.4542429 0.2612313
Tần suất khách hàng thấy hữu ích từ đề suất sản phẩm là 157 khách hàng, chiếm 26,12%
Tần suất khách hàng không thấy hữu ích từ đề suất sản phẩm là 171 khách hàng, chiếm 28,45%
Tần suất khách hàng thỉnh thoảng thấy hữu ích từ đề suất sản phẩm là 273 khách hàng, chiếm 45,42%
ggplot(dataset,aes(RHS)) + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = '#CD6889', vjust = - .5) + geom_bar(color ="black", fill = "#9ACD32") + ylab("Customer") +
xlab("Recommendation Helpfulness")
table(SS)
## SS
## Average Excellent Good Poor Very Bad
## 209 17 67 193 115
table(SS)/sum(table(SS))
## SS
## Average Excellent Good Poor Very Bad
## 0.34775374 0.02828619 0.11148087 0.32113145 0.19134775
Tần suất khách hàng đánh giá “Average” là 209 khách hàng, chiếm 34,77%
Tần suất khách hàng đánh giá “Excellent” là 17 khách hàng, chiếm 2,82%
Tần suất khách hàng đánh giá “Good” là 67 khách hàng, chiếm 11,14%
Tần suất khách hàng đánh giá “Poor” là 193 khách hàng, chiếm 32,11%
Tần suất khách hàng đánh giá “Very Bad” là 115 khách hàng, chiếm 19,13%
ggplot(dataset,aes(SS)) + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = '#CD6889', vjust = - .5) + geom_bar(color ="black", fill = "#9ACD32") + ylab("Customer") +
xlab("Shopping Satisfaction")
table(Total)
## Total
## 0 1 2 3 4 5
## 107 93 98 107 98 98
table(Total)/sum(table(Total))
## Total
## 0 1 2 3 4 5
## 0.1780366 0.1547421 0.1630616 0.1780366 0.1630616 0.1630616
Tần suất khách hàng không mua sản phẩm nào trong 1 tháng là 107 khách hàng, chiếm 17,8%
Tần suất khách hàng mua 1 sản phẩm trong 1 tháng là 93 khách hàng, chiếm 15,47%
Tần suất khách hàng mua 2 sản phẩm trong 1 tháng là 98 khách hàng, chiếm 16,3%
Tần suất khách hàng mua 3 sản phẩm trong 1 tháng là 107 khách hàng, chiếm 17,8%
Tần suất khách hàng mua 4 sản phẩm trong 1 tháng là 98 khách hàng, chiếm 16,3%
Tần suất khách hàng mua 5 sản phẩm trong 1 tháng là 98 khách hàng, chiếm 16,3%
ggplot(dataset,aes(Total)) + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat ='count', color = '#CD6889', vjust = - .5) + geom_bar(color ="black", fill = "#9ACD32") + ylab("Customer") +
xlab("Shopping Satisfaction")
A <- table(dataset$`Purchase Frequency`,dataset$`Shopping Satisfaction`)
A
##
## Average Excellent Good Poor Very Bad
## Few times a month 80 4 18 67 33
## Less than once a month 34 6 15 41 28
## Multiple times a week 17 3 6 17 13
## Once a month 34 2 13 34 24
## Once a week 44 2 15 34 17
prop.table(A)
##
## Average Excellent Good Poor
## Few times a month 0.133111481 0.006655574 0.029950083 0.111480865
## Less than once a month 0.056572379 0.009983361 0.024958403 0.068219634
## Multiple times a week 0.028286190 0.004991681 0.009983361 0.028286190
## Once a month 0.056572379 0.003327787 0.021630616 0.056572379
## Once a week 0.073211314 0.003327787 0.024958403 0.056572379
##
## Very Bad
## Few times a month 0.054908486
## Less than once a month 0.046589018
## Multiple times a week 0.021630616
## Once a month 0.039933444
## Once a week 0.028286190
`
addmargins(A)
##
## Average Excellent Good Poor Very Bad Sum
## Few times a month 80 4 18 67 33 202
## Less than once a month 34 6 15 41 28 124
## Multiple times a week 17 3 6 17 13 56
## Once a month 34 2 13 34 24 107
## Once a week 44 2 15 34 17 112
## Sum 209 17 67 193 115 601
library(ggplot2)
ggplot(dataset, aes(SS, fill = PF)) + geom_bar(position = 'dodge')
library(DescTools)
## Warning: package 'DescTools' was built under R version 4.3.1
library(epitools)
riskratio(A)
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## $data
##
## Average Excellent Good Poor Very Bad Total
## Few times a month 80 4 18 67 33 202
## Less than once a month 34 6 15 41 28 124
## Multiple times a week 17 3 6 17 13 56
## Once a month 34 2 13 34 24 107
## Once a week 44 2 15 34 17 112
## Total 209 17 67 193 115 601
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## Few times a month 1.0000000 NA NA
## Less than once a month 3.1500000 0.9413673 10.540519
## Multiple times a week 3.1500000 0.7649936 12.970696
## Once a month 1.1666667 0.2236409 6.086145
## Once a week 0.9130435 0.1738013 4.796560
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Few times a month NA NA NA
## Less than once a month 0.07073782 0.09905885 0.1040156
## Multiple times a week 0.15240981 0.32524521 0.3715926
## Once a month 0.83612644 0.48668618 0.5015208
## Once a week 0.94748142 0.79507086 0.8032102
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
epitab(A, method = 'riskratio', rev = 'c')
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## $tab
##
## Very Bad p0 Poor p1 riskratio lower
## Few times a month 33 0.1633663 67 0.3316832 1.0000000 NA
## Less than once a month 28 0.2258065 41 0.3306452 0.8868700 0.6985972
## Multiple times a week 13 0.2321429 17 0.3035714 0.8457711 0.6009008
## Once a month 24 0.2242991 34 0.3177570 0.8749357 0.6771438
## Once a week 17 0.1517857 34 0.3035714 0.9950249 0.7843835
##
## upper p.value
## Few times a month NA NA
## Less than once a month 1.125882 0.09905885
## Multiple times a week 1.190427 0.32524521
## Once a month 1.130502 0.48668618
## Once a week 1.262233 0.79507086
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
oddsratio(A)
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## $data
##
## Average Excellent Good Poor Very Bad Total
## Few times a month 80 4 18 67 33 202
## Less than once a month 34 6 15 41 28 124
## Multiple times a week 17 3 6 17 13 56
## Once a month 34 2 13 34 24 107
## Once a week 44 2 15 34 17 112
## Total 209 17 67 193 115 601
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## Few times a month 1.0000000 NA NA
## Less than once a month 3.4487031 0.8994648 14.832646
## Multiple times a week 3.5083951 0.5997771 18.318674
## Once a month 1.2147057 0.1446625 6.936388
## Once a week 0.9410246 0.1127155 5.330380
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Few times a month NA NA NA
## Less than once a month 0.07073782 0.09905885 0.1040156
## Multiple times a week 0.15240981 0.32524521 0.3715926
## Once a month 0.83612644 0.48668618 0.5015208
## Once a week 0.94748142 0.79507086 0.8032102
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
epitab(A, method = 'oddsratio')
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## $tab
##
## Average p0 Excellent p1 oddsratio
## Few times a month 80 0.38277512 4 0.2352941 1.0000000
## Less than once a month 34 0.16267943 6 0.3529412 3.5294118
## Multiple times a week 17 0.08133971 3 0.1764706 3.5294118
## Once a month 34 0.16267943 2 0.1176471 1.1764706
## Once a week 44 0.21052632 2 0.1176471 0.9090909
##
## lower upper p.value
## Few times a month NA NA NA
## Less than once a month 0.9360135 13.308299 0.09905885
## Multiple times a week 0.7227494 17.235222 0.32524521
## Once a month 0.2056372 6.730703 0.48668618
## Once a week 0.1600780 5.162772 0.79507086
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
B <- table(dataset$`Browsing Frequency`,dataset$`Shopping Satisfaction`)
B
##
## Average Excellent Good Poor Very Bad
## Few times a month 82 3 21 64 28
## Few times a week 88 3 30 81 47
## Multiple times a day 20 2 6 20 29
## Rarely 19 9 10 28 11
prop.table(B)
##
## Average Excellent Good Poor
## Few times a month 0.136439268 0.004991681 0.034941764 0.106489185
## Few times a week 0.146422629 0.004991681 0.049916805 0.134775374
## Multiple times a day 0.033277870 0.003327787 0.009983361 0.033277870
## Rarely 0.031613977 0.014975042 0.016638935 0.046589018
##
## Very Bad
## Few times a month 0.046589018
## Few times a week 0.078202995
## Multiple times a day 0.048252912
## Rarely 0.018302829
`
addmargins(B)
##
## Average Excellent Good Poor Very Bad Sum
## Few times a month 82 3 21 64 28 198
## Few times a week 88 3 30 81 47 249
## Multiple times a day 20 2 6 20 29 77
## Rarely 19 9 10 28 11 77
## Sum 209 17 67 193 115 601
library(ggplot2)
ggplot(dataset, aes(SS, fill = BF)) + geom_bar(position = 'dodge')
library(DescTools)
library(epitools)
riskratio(B)
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## $data
##
## Average Excellent Good Poor Very Bad Total
## Few times a month 82 3 21 64 28 198
## Few times a week 88 3 30 81 47 249
## Multiple times a day 20 2 6 20 29 77
## Rarely 19 9 10 28 11 77
## Total 209 17 67 193 115 601
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## Few times a month 1.0000000 NA NA
## Few times a week 0.9340659 0.1937929 4.502122
## Multiple times a day 2.5757576 0.4581620 14.480744
## Rarely 9.1071429 2.6489939 31.310019
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Few times a month NA NA NA
## Few times a week 0.9353882423 0.5771883895 0.5876262584
## Multiple times a day 0.3302432656 0.0006289607 0.0005233805
## Rarely 0.0001577609 0.0020575618 0.0012744953
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
epitab(B, method = 'riskratio', rev = 'c')
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## $tab
##
## Very Bad p0 Poor p1 riskratio lower
## Few times a month 28 0.1414141 64 0.3232323 1.0000000 NA
## Few times a week 47 0.1887550 81 0.3253012 0.9096680 0.7530889
## Multiple times a day 29 0.3766234 20 0.2597403 0.5867347 0.4080266
## Rarely 11 0.1428571 28 0.3636364 1.0320513 0.8129200
##
## upper p.value
## Few times a month NA NA
## Few times a week 1.0988023 0.5771883895
## Multiple times a day 0.8437137 0.0006289607
## Rarely 1.3102518 0.0020575618
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
oddsratio(B)
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## $data
##
## Average Excellent Good Poor Very Bad Total
## Few times a month 82 3 21 64 28 198
## Few times a week 88 3 30 81 47 249
## Multiple times a day 20 2 6 20 29 77
## Rarely 19 9 10 28 11 77
## Total 209 17 67 193 115 601
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## Few times a month 1.0000000 NA NA
## Few times a week 0.9321992 0.1562621 5.561994
## Multiple times a day 2.7590213 0.3041586 19.299365
## Rarely 12.1775068 3.2185481 62.281597
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Few times a month NA NA NA
## Few times a week 0.9353882423 0.5771883895 0.5876262584
## Multiple times a day 0.3302432656 0.0006289607 0.0005233805
## Rarely 0.0001577609 0.0020575618 0.0012744953
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
epitab(B, method = 'oddsratio')
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## $tab
##
## Average p0 Excellent p1 oddsratio
## Few times a month 82 0.39234450 3 0.1764706 1.0000000
## Few times a week 88 0.42105263 3 0.1764706 0.9318182
## Multiple times a day 20 0.09569378 2 0.1176471 2.7333333
## Rarely 19 0.09090909 9 0.5294118 12.9473684
##
## lower upper p.value
## Few times a month NA NA NA
## Few times a week 0.1828751 4.747968 0.5771883895
## Multiple times a day 0.4277406 17.466454 0.0006289607
## Rarely 3.1969551 52.435628 0.0020575618
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
C <- table(dataset$`Review Left`,dataset$`Shopping Satisfaction`)
C
##
## Average Excellent Good Poor Very Bad
## No 90 9 39 105 48
## Yes 119 8 28 88 67
prop.table(C)
##
## Average Excellent Good Poor Very Bad
## No 0.14975042 0.01497504 0.06489185 0.17470882 0.07986689
## Yes 0.19800333 0.01331115 0.04658902 0.14642263 0.11148087
`
addmargins(C)
##
## Average Excellent Good Poor Very Bad Sum
## No 90 9 39 105 48 291
## Yes 119 8 28 88 67 310
## Sum 209 17 67 193 115 601
library(ggplot2)
ggplot(dataset, aes(SS, fill = RL)) + geom_bar(position = 'dodge')
library(DescTools)
library(epitools)
riskratio(C)
## $data
##
## Average Excellent Good Poor Very Bad Total
## No 90 9 39 105 48 291
## Yes 119 8 28 88 67 310
## Total 209 17 67 193 115 601
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## No 1.0000000 NA NA
## Yes 0.6929134 0.2774118 1.730745
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## No NA NA NA
## Yes 0.4430064 0.04074744 0.04154524
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
epitab(C, method = 'riskratio', rev = 'c')
## $tab
##
## Very Bad p0 Poor p1 riskratio lower upper
## No 48 0.1649485 105 0.3608247 1.0000000 NA NA
## Yes 67 0.2161290 88 0.2838710 0.8272811 0.6950198 0.9847115
##
## p.value
## No NA
## Yes 0.04074744
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
oddsratio(C)
## $data
##
## Average Excellent Good Poor Very Bad Total
## No 90 9 39 105 48 291
## Yes 119 8 28 88 67 310
## Total 209 17 67 193 115 601
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## No 1.0000000 NA NA
## Yes 0.6748591 0.2405958 1.858881
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## No NA NA NA
## Yes 0.4430064 0.04074744 0.04154524
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
epitab(C, method = 'oddsratio')
## $tab
##
## Average p0 Excellent p1 oddsratio lower upper
## No 90 0.430622 9 0.5294118 1.0000000 NA NA
## Yes 119 0.569378 8 0.4705882 0.6722689 0.2495631 1.810947
##
## p.value
## No NA
## Yes 0.04074744
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
D <- table(dataset$`Review Helpfulness`,dataset$`Shopping Satisfaction`)
D
##
## Average Excellent Good Poor Very Bad
## No 45 7 16 55 14
## Sometimes 101 6 30 54 36
## Yes 63 4 21 84 65
prop.table(D)
##
## Average Excellent Good Poor Very Bad
## No 0.074875208 0.011647255 0.026622296 0.091514143 0.023294509
## Sometimes 0.168053245 0.009983361 0.049916805 0.089850250 0.059900166
## Yes 0.104825291 0.006655574 0.034941764 0.139767055 0.108153078
`
addmargins(D)
##
## Average Excellent Good Poor Very Bad Sum
## No 45 7 16 55 14 137
## Sometimes 101 6 30 54 36 227
## Yes 63 4 21 84 65 237
## Sum 209 17 67 193 115 601
library(ggplot2)
ggplot(dataset, aes(SS, fill = RH)) + geom_bar(position = 'dodge')
library(DescTools)
library(epitools)
riskratio(D)
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## $data
##
## Average Excellent Good Poor Very Bad Total
## No 45 7 16 55 14 137
## Sometimes 101 6 30 54 36 227
## Yes 63 4 21 84 65 237
## Total 209 17 67 193 115 601
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## No 1.0000000 NA NA
## Sometimes 0.4165554 0.1474002 1.177193
## Yes 0.4434968 0.1371172 1.434462
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## No NA NA NA
## Sometimes 0.1109334 0.007012837 0.006931824
## Yes 0.1832078 0.000652769 0.001223880
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
epitab(D, method = 'riskratio', rev = 'c')
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## $tab
##
## Very Bad p0 Poor p1 riskratio lower upper
## No 14 0.1021898 55 0.4014599 1.0000000 NA NA
## Sometimes 36 0.1585903 54 0.2378855 0.7527273 0.6123113 0.9253436
## Yes 65 0.2742616 84 0.3544304 0.7072605 0.5879719 0.8507506
##
## p.value
## No NA
## Sometimes 0.007012837
## Yes 0.000652769
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
oddsratio(D)
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## $data
##
## Average Excellent Good Poor Very Bad Total
## No 45 7 16 55 14 137
## Sometimes 101 6 30 54 36 227
## Yes 63 4 21 84 65 237
## Total 209 17 67 193 115 601
##
## $measure
## odds ratio with 95% C.I.
## estimate lower upper
## No 1.0000000 NA NA
## Sometimes 0.3858197 0.1152194 1.250890
## Yes 0.4174735 0.1001604 1.504952
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## No NA NA NA
## Sometimes 0.1109334 0.007012837 0.006931824
## Yes 0.1832078 0.000652769 0.001223880
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "median-unbiased estimate & mid-p exact CI"
epitab(D, method = 'oddsratio')
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## Warning in chisq.test(xx, correct = correction): Chi-squared approximation may
## be incorrect
## $tab
##
## Average p0 Excellent p1 oddsratio lower upper
## No 45 0.2153110 7 0.4117647 1.0000000 NA NA
## Sometimes 101 0.4832536 6 0.3529412 0.3818953 0.1214541 1.200816
## Yes 63 0.3014354 4 0.2352941 0.4081633 0.1127317 1.477821
##
## p.value
## No NA
## Sometimes 0.007012837
## Yes 0.000652769
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
Kiểm định tính độc lập cho hai biến Shopping Satisfaction và Purchase Frequency
chisq.test(table(SS,PF))
## Warning in chisq.test(table(SS, PF)): Chi-squared approximation may be
## incorrect
##
## Pearson's Chi-squared test
##
## data: table(SS, PF)
## X-squared = 14.356, df = 16, p-value = 0.5722
Với p_value > 5%, chấp nhận giả thuyết H0 do đó kết luận trải nghiệm khách hàng không liên quan đến tần suất mua hàng của khách hàng.
Kiểm định tính độc lập cho hai biến Shopping Satisfaction và Browsing Frequency
chisq.test(table(SS,BF))
## Warning in chisq.test(table(SS, BF)): Chi-squared approximation may be
## incorrect
##
## Pearson's Chi-squared test
##
## data: table(SS, BF)
## X-squared = 51.363, df = 12, p-value = 8.036e-07
Với p_value < 5%, bác bỏ giả thuyết H0 do đó kết luận trải nghiệm khách hàng có liên quan đến khách hàng có thường dùng website hay không.
Kiểm định tính độc lập cho hai biến Shopping Satisfaction và Review Left
chisq.test(table(SS,RL))
##
## Pearson's Chi-squared test
##
## data: table(SS, RL)
## X-squared = 9.9345, df = 4, p-value = 0.04155
Với p_value < 5%, bác bỏ giả thuyết H0 do đó kết luận trải nghiệm khách hàng có liên quan đến khách hàng có để lại đánh giá sản phẩm trên website.
Kiểm định tính độc lập cho hai biến Shopping Satisfaction và Review Helpfulness
chisq.test(table(SS,RH))
## Warning in chisq.test(table(SS, RH)): Chi-squared approximation may be
## incorrect
##
## Pearson's Chi-squared test
##
## data: table(SS, RH)
## X-squared = 40.49, df = 8, p-value = 2.596e-06
Với p_value < 5%, bác bỏ giả thuyết H0 do đó kết luận trải nghiệm khách hàng có liên quan đến khách hàng có thấy hữu ích từ thông tin đánh giá sản phẩm hay không.
Kiểm định tính độc lập cho hai biến Shopping Satisfaction và Saveforlater Frequency
chisq.test(table(SS,SF))
## Warning in chisq.test(table(SS, SF)): Chi-squared approximation may be
## incorrect
##
## Pearson's Chi-squared test
##
## data: table(SS, SF)
## X-squared = 69.23, df = 16, p-value = 1.361e-08
Với p_value < 5%, bác bỏ giả thuyết H0 do đó kết luận trải nghiệm khách hàng có liên quan đến khách hàng sử dụng chức năng Saveforlater
Kiểm định tính độc lập cho hai biến Shopping Satisfaction và Recommendation Helpfulness
chisq.test(table(SS,RHS))
## Warning in chisq.test(table(SS, RHS)): Chi-squared approximation may be
## incorrect
##
## Pearson's Chi-squared test
##
## data: table(SS, RHS)
## X-squared = 47.778, df = 8, p-value = 1.09e-07
Với p_value < 5%, bác bỏ giả thuyết H0 do đó kết luận trải nghiệm khách hàng có liên quan đến khách hàng thấy hữu ích từ đề xuất
Đặt giả thuyết: Ước lượng tỷ lệ khách hàng mua nhiều hơn 3 sản phẩm là 30%
m<- dataset[dataset$Total > 3,]
prop.test(length(dataset$Total), length(dataset$Total), p = 0.3)
##
## 1-sample proportions test with continuity correction
##
## data: length(dataset$Total) out of length(dataset$Total), null probability 0.3
## X-squared = 1399, df = 1, p-value < 2.2e-16
## alternative hypothesis: true p is not equal to 0.3
## 95 percent confidence interval:
## 0.9920824 1.0000000
## sample estimates:
## p
## 1
Với khoảng tin cậy 95% ước lượng tỷ lệ khách hàng mua nhiều hơn 3 sản phẩm là từ 0.9920824 đến 1.0000000
mohinh1 <- glm(factor(SS) ~ BF + RH + RHS + RL + SF, family = binomial(link = 'logit'), data = dataset)
summary(mohinh1)
##
## Call:
## glm(formula = factor(SS) ~ BF + RH + RHS + RL + SF, family = binomial(link = "logit"),
## data = dataset)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.76359 0.43402 1.759 0.0785 .
## BFFew times a week 0.39396 0.20654 1.907 0.0565 .
## BFMultiple times a day 0.67706 0.31388 2.157 0.0310 *
## BFRarely 0.76087 0.32631 2.332 0.0197 *
## RHSometimes -0.27409 0.25137 -1.090 0.2756
## RHYes 0.23359 0.26772 0.873 0.3829
## RHSSometimes -0.33934 0.22889 -1.483 0.1382
## RHSYes 0.53676 0.28413 1.889 0.0589 .
## RLYes -0.35429 0.18717 -1.893 0.0584 .
## SFNever -0.44343 0.45179 -0.981 0.3263
## SFOften 0.08421 0.38227 0.220 0.8256
## SFRarely -0.17499 0.41977 -0.417 0.6768
## SFSometimes -0.39523 0.36177 -1.092 0.2746
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 776.55 on 600 degrees of freedom
## Residual deviance: 725.82 on 588 degrees of freedom
## AIC: 751.82
##
## Number of Fisher Scoring iterations: 4
mohinh2 <- glm(factor(SS) ~ BF + RH + RHS + RL + SF, family = binomial(link = 'probit'), data = dataset)
summary(mohinh2)
##
## Call:
## glm(formula = factor(SS) ~ BF + RH + RHS + RL + SF, family = binomial(link = "probit"),
## data = dataset)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.47821 0.25986 1.840 0.0657 .
## BFFew times a week 0.23105 0.12577 1.837 0.0662 .
## BFMultiple times a day 0.38848 0.18651 2.083 0.0373 *
## BFRarely 0.44792 0.19301 2.321 0.0203 *
## RHSometimes -0.17369 0.15323 -1.134 0.2570
## RHYes 0.13273 0.16110 0.824 0.4100
## RHSSometimes -0.20575 0.13975 -1.472 0.1409
## RHSYes 0.31442 0.16778 1.874 0.0609 .
## RLYes -0.21647 0.11316 -1.913 0.0558 .
## SFNever -0.25606 0.26958 -0.950 0.3422
## SFOften 0.04726 0.22560 0.209 0.8341
## SFRarely -0.11256 0.24935 -0.451 0.6517
## SFSometimes -0.23356 0.21509 -1.086 0.2775
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 776.55 on 600 degrees of freedom
## Residual deviance: 726.55 on 588 degrees of freedom
## AIC: 752.55
##
## Number of Fisher Scoring iterations: 4
mohinh3 <- glm(factor(SS) ~ BF + RH + RHS + RL + SF, family = binomial(link = 'cloglog'), data = dataset)
summary(mohinh3)
##
## Call:
## glm(formula = factor(SS) ~ BF + RH + RHS + RL + SF, family = binomial(link = "cloglog"),
## data = dataset)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.15967 0.25220 0.633 0.5267
## BFFew times a week 0.20605 0.12934 1.593 0.1111
## BFMultiple times a day 0.33457 0.18035 1.855 0.0636 .
## BFRarely 0.41321 0.18284 2.260 0.0238 *
## RHSometimes -0.19440 0.15551 -1.250 0.2113
## RHYes 0.10907 0.15698 0.695 0.4872
## RHSSometimes -0.20428 0.14266 -1.432 0.1522
## RHSYes 0.29220 0.15807 1.849 0.0645 .
## RLYes -0.21723 0.11330 -1.917 0.0552 .
## SFNever -0.23211 0.25967 -0.894 0.3714
## SFOften 0.03528 0.21155 0.167 0.8676
## SFRarely -0.13096 0.23866 -0.549 0.5832
## SFSometimes -0.21755 0.20635 -1.054 0.2917
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 776.55 on 600 degrees of freedom
## Residual deviance: 728.65 on 588 degrees of freedom
## AIC: 754.65
##
## Number of Fisher Scoring iterations: 6
AIC và Deviance
Từ kết quả 3 mô hình hồi quy, ta có:
logit: AIC=749.24, Deviance= 719.24
probit: AIC=749.57, Deviance= 719.57
cloglog: AIC=750.83, Deviance= 720.83
BrierScore
BrierScore(mohinh1)
## [1] 0.2071856
BrierScore(mohinh2)
## [1] 0.2074661
BrierScore(mohinh3)
## [1] 0.2083246
Ma trận nhầm lẫn
# mô hình logit
library(caret)
## Warning: package 'caret' was built under R version 4.3.1
## Loading required package: lattice
##
## Attaching package: 'caret'
## The following objects are masked from 'package:DescTools':
##
## MAE, RMSE
confusionMatrix(table(predict(mohinh1, type = "response")>=0.5, mohinh1$data$`Shopping Satisfaction` == "Excellent"))
## Confusion Matrix and Statistics
##
##
## FALSE TRUE
## FALSE 86 1
## TRUE 498 16
##
## Accuracy : 0.1697
## 95% CI : (0.1406, 0.2022)
## No Information Rate : 0.9717
## P-Value [Acc > NIR] : 1
##
## Kappa : 0.0058
##
## Mcnemar's Test P-Value : <2e-16
##
## Sensitivity : 0.14726
## Specificity : 0.94118
## Pos Pred Value : 0.98851
## Neg Pred Value : 0.03113
## Prevalence : 0.97171
## Detection Rate : 0.14309
## Detection Prevalence : 0.14476
## Balanced Accuracy : 0.54422
##
## 'Positive' Class : FALSE
##
Mô hình có độ chính xác toàn thể là 16,97%, độ nhạy là 14,55% và độ hiệu quả là 94,118%
# mô hình probit
confusionMatrix(table(predict(mohinh2, type = "response")>=0.5, mohinh2$data$`Shopping Satisfaction` == "Excellent"))
## Confusion Matrix and Statistics
##
##
## FALSE TRUE
## FALSE 85 1
## TRUE 499 16
##
## Accuracy : 0.1681
## 95% CI : (0.139, 0.2004)
## No Information Rate : 0.9717
## P-Value [Acc > NIR] : 1
##
## Kappa : 0.0057
##
## Mcnemar's Test P-Value : <2e-16
##
## Sensitivity : 0.14555
## Specificity : 0.94118
## Pos Pred Value : 0.98837
## Neg Pred Value : 0.03107
## Prevalence : 0.97171
## Detection Rate : 0.14143
## Detection Prevalence : 0.14309
## Balanced Accuracy : 0.54336
##
## 'Positive' Class : FALSE
##
Mô hình có độ chính xác toàn thể là 16,81%, độ nhạy là 14,55% và độ hiệu quả là 94,118%
# mô hình cloglog
confusionMatrix(table(predict(mohinh3, type = "response")>=0.5, mohinh2$data$`Shopping Satisfaction` == "Excellent"))
## Confusion Matrix and Statistics
##
##
## FALSE TRUE
## FALSE 88 1
## TRUE 496 16
##
## Accuracy : 0.173
## 95% CI : (0.1436, 0.2057)
## No Information Rate : 0.9717
## P-Value [Acc > NIR] : 1
##
## Kappa : 0.0061
##
## Mcnemar's Test P-Value : <2e-16
##
## Sensitivity : 0.15068
## Specificity : 0.94118
## Pos Pred Value : 0.98876
## Neg Pred Value : 0.03125
## Prevalence : 0.97171
## Detection Rate : 0.14642
## Detection Prevalence : 0.14809
## Balanced Accuracy : 0.54593
##
## 'Positive' Class : FALSE
##
Mô hình có độ chính xác toàn thể là 17,73%, độ nhạy là 14,55% và độ hiệu quả là 94,118%
Kết quả
Dựa vào các tiêu chí đánh giá một mô hình bao gồm AIC, Deviance, Brier Score và Confusion Matrix (Độ chính xác, độ nhạy, độ đặc hiệu) đều đưa ra kết quả cho thấy mô hình 1 - mô hình logit là phù hợp nhất.
Kết quả phân tích hồi quy LOGIT cho thấy có 5 biến đưa vào mô hình hồi quy để phân tích nhưng kết quả phân tích chỉ có 2 biến độc lập có ý nghĩa thống kê bao gồm:
BFMultiple times a day: khách hàng truy cập website nhiều lần trong ngày
BFRarely: khách hàng hiếm truy cập website trong ngày
Qua kết quả hồi quy ta có thể thấy việc khách hàng truy cập website ảnh hưởng khá nhiều đến quyết định mua hàng của khách hàng. Vì thế các nhà quản trị cần đưa ra các phương án nâng cấp website của mình hơn, đưa website trở nên gần gũi, dễ truy cập để tiếp cận được với đa số mọi lứa tuổi khách hàng.