Link Data: https://docs.google.com/spreadsheets/d/1LWdLX6opkxVwGwbkloWFQ8sFwrGIKFDl7BY_z5Khg_Y/edit?usp=sharing
Trong suốt quá trình học tập môn Phân tích dữ liệu định tính em xin gửi lời cám ơn chân thành đến thầy Trần Mạnh Tường - giảng viên bộ môn Phân tích dữ liệu định tính đã đã tận tình chỉ dạy, truyền đạt những kiến thức quý báo cho em trong thời gian vừa qua để em có đủ kiến thức, điều kiện để thực hiện bài tiểu luận này. Em xin bày tỏ lòng biết ơn đến thầy.
Tuy nhiên, do vốn kiến thức còn nhiều hạn chế nên trong quá trình làm tiêu luận khó tránh khỏi những sai sót, rất mong thầy bỏ qua. Em rất mong nhận được những ý kiến đóng góp của thầy để bản thân có thể học hỏi thêm nhiều kinh nghiệm và hoàn thành tốt hơn trong bài khóa luận tốt nghiệp sắp đến.
Em xin chân thành cảm ơn!
Các công ty, doanh nghiệp kinh doanh luôn mong muốn thương hiệu, sản phẩm của mình chiếm lĩnh được thị trường. Để làm được vậy thì họ phải hiểu được các yếu tố ảnh hưởng đến quyết định mua hàng của người tiêu dùng tại thị trường đó. Vì vậy, việc nắm được quy trình ra quyết định mua hàng của người tiêu dùng đồng nghĩa với việc doanh nghiệp hiểu các giai đoạn khách hàng trải qua để có thể đi đến quyết định cuối cùng là có nên mua sản phẩm hay không. Quyết định này dựa trên sự ảnh hưởng của nhiều yếu tố khác nhau, mỗi người khác nhau sẽ có những tác động khác nhau trên từng yếu tố. Đối với những nhân viên kinh doanh và marketing, sự hiểu biết về các yếu tố này cung cấp một cái nhìn sâu sắc hơn về tâm lý khách hàng và hành trình khách hàng, từ đó giúp doanh nghiệp xây dựng các chiến lược bán hàng, tiếp thị hiệu quả và tăng doanh thu bán hàng. Trong bối cảnh nền kinh tế phát triển như hiện nay, các sàn thương mại điện tử có vai trò quan trọng và được nhiều người dùng tin tưởng sử dung, bên cạnh việc giúp ích cho việc mua sắm, lựa chọn của khách hàng được thuận tiện, nhanh chóng và hiệu quả hơn thì cũng không kém phần cạnh tranh. Do đó, các doanh nghiệp cần hiểu rõ phân khúc khách hàng của mình, nắm bắt được quy trình ra quyết định của khách hàng từ đó đưa ra chiến dịch quảng cáo phù hợp, nhằm thu hút khách hàng và tăng doanh thu bán hàng. Để đánh giá được hiệu suất của chiến dịch quảng cáo có thật sự hiệu quả và có ảnh hưởng đến quyết định mua hàng của khách hàng hay không, tác giả đã lựa chọn đề tài “Phân tích các yếu tố ảnh hưởng đến quyết định mua hàng sau khi xem quảng cáo của khách hàng” nhằm mang lại một cái nhìn tổng quan, thực tế hơn về hiệu quả của các chiến dịch quảng cáo mà Amazon đang triển khai có tác động đến quyết định mua hàng của khách hàng như thế nào.
Phân tích và đánh giá các yếu tố ảnh hưởng đến quyết định mua hàng sau khi xem quảng cáo của khách hàng. Kết quả nghiên cứu sẽ cung cấp thông tin và hiểu biết sâu hơn về các yếu tố ảnh hưởng đến quyết định mua hàng sau khi xem quảng cáo của khách hàng, từ đó đưa ra các chiến lược marketing, quảng cáo phù hợp hơn nhằm thu hút khách hàng và cải thiện chỉ số ROI cho doanh nghiệp.
Đối tượng nghiên cứu: Các khách hàng có hành vi mua sắm, tiêu dùng trên sàn thương mại điện tử Amazon Phạm vi nghiên cứu: Bộ dữ liệu là chỉ số hiệu suất quảng cáo của Amazon cung cấp thông tin toàn diện về hiệu quả của các chiến dịch quảng cáo và quyết định mua hàng của khách hàng cho một khoảng thời gian tuần cụ thể.
Phương pháp dữ liệu định tính và phương pháp xử lý số liệu bằng thống kê toán học: Để nắm vững thông tin và số liệu liên quan đến quyết định mua hàng sau khi xem quảng cáo của khách hàng, tác giả sẽ tiến hành một quá trình phân tích số liệu bằng phương pháp thống kê toán học. Các thông số liên quan đến tần suất, phân bố, độ tương quan và độ tương tác giữa các biến sẽ được tính toán. Phần mềm R - một công cụ mạnh mẽ và phổ biến trong lĩnh vực thống kê và xử lý dữ liệu - sẽ hỗ trợ quá trình này. Việc sử dụng phần mềm R sẽ đảm bảo tính chính xác và đáng tin cậy trong việc phân tích số liệu.
Phần mở đầu
Chương 1. Tổng quan lý thuyết
Chương 2. Phương pháp nghiên cứu
Chương 3. Kết quả nghiên cứu
Chương 4. Kết luận
Quảng cáo là các hình thức giới thiệu hoặc tuyên truyền có thể trả phí hoặc không trả phí thông báo cho người dùng về sản phẩm, dịch vụ, sự kiện nổi bật của công ty,… nhằm thuyết phục người dùng, kích thích nhu cầu và xây dựng lòng trung thành của khách hàng. Đây là một trong những chiến lược Marketing nhằm tăng lượng tiêu thụ sản phẩm của doanh nghiệp. Nhận thấy rằng Quảng cáo xuất hiện cách đây hàng ngàn năm, có lẽ từ khi bắt đầu có thành thị và buôn bán thì cũng có quảng cáo. Mỹ là nước đi đầu trong hoạt động quảng cáo trên các sóng điện từ, không phải ngẫu nhiên mà người ta ví các chương trình quảng cáo của Mỹ là một giấc mơ về nền văn minh Mỹ, một giấc mơ có sức hút kỳ lạ đối với hàng triệu người trên thế giới. Quảng cáo gắn liền với sự phát triển của kinh tế thị trường và nền sản xuất hàng hóa, dịch vụ. Thực tiễn đã chứng minh khoa học và công nghệ phát triển đã kéo theo hoạt động quảng cáo ngày càng sôi động và phong phú hơn, quảng cáo xuất hiện nhiều nơi, được thể hiện bằng nhiều hình thức, truyền tài bằng nhiều phương tiện khác nhau…quảng cáo là hoạt động kinh tế nhưng đồng thời cũng là sự sáng tạo văn hóa và ảnh hưởng đến quyền lợi của người tiêu dùng chính vì vậy cần đặt ra vấn đề trung thực Chiến lược quảng cáo là một kế hoạch toàn diện mô tả cách một doanh nghiệp sẽ sử dụng quảng cáo để thuyết phục khách hàng mục tiêu mua hàng. Một số nội dung có thể đưa vào chiến lược quảng cáo như: Hướng dẫn sử dụng, chân dung khách hàng mục tiêu (lý tưởng), phương tiện quảng cáo sẽ sử dụng, ngân sách quảng cáo hay cách thức quảng cáo trên các phương tiện này.
Người tiêu dùng có những cách thức mua khác nhau đối với bất kỳ một sản phẩm nhất định nào. Thông thường khi mua sắm, người tiêu dùng thường trải qua năm giai đoạn: Nhận biết vấn đề, tìm kiếm thông tin, đánh giá các lựa chọn, quyết định mua và hành động mua, phản ứng sau khi mua. Trên thực tế không nhất thiết phải trải qua 5 giai đoạn quyết định mua của người tiêu dùng, nhất là trong những trường hợp mua những mặt hàng ít cần để tâm. Người tiêu dùng có thể bỏ qua hay đảo lại một số giai đoạn.
Quy trình ra quyết định mua hàng của người tiêu dùng bắt đầu từ khi người mua ý thức được vấn đề hay nhu cầu. Nhu cầu có thể bắt nguồn từ những tác nhân kích thích nội tại (như việc người ta đói, khát dẫn đến nhu cầu ăn uống) hay bên ngoài (như việc nhìn thấy một quảng cáo sản phẩm hay dẫn đến nhu cầu phải mua sản phẩm đó).
Khi người mua cảm thấy có sự khác biệt giữa tình trạng thực tế và tình trạng mong muốn đạt đến một ngưỡng nào đó, họ sẽ hình thành nên động cơ thôi thúc hành động hướng vào lớp đối tượng có thể thỏa mãn được mong muốn của mình.
Để tối ưu hóa thương hiệu của mình đến khách hàng, các doanh nghiệp cần tập trung vào việc giúp khách hàng tiềm năng nhận ra và xác định nhu cầu của họ thông qua việc thu thập thông tin người dùng, tạo nội dung xoay quanh nhu cầu của khách hàng và định vị nội dung đó ở nơi khách hàng tiềm năng có thể nhìn thấy như các trang mạng xã hội, các sàn thương mại điện tử,…
Người tiêu dùng có nhu cầu sẽ bắt đầu tìm kiếm thêm thông tin. Nhu cầu càng cấp bách, thông tin ban đầu càng ít, sản phẩm cần mua có giá trị lớn thì càng thôi thúc con người tìm kiếm thông tin.
Mối quan tâm then chốt của người làm Marketing là những nguồn thông tin chủ yếu mà người tiêu dùng tìm đến và ảnh hưởng tương đối của từng nguồn đó đến quyết định mua sắm tiếp sau.
Các nguồn thông tin của người tiêu dùng được chia thành bốn nhóm.
Nguồn thông tin cá nhân: Gia đình, bạn bè, hàng xóm, người quen.
Nguồn thông tin thương mại: Quảng cáo, nhân viên bán hàng, đại lý, bao bì, triển lãm.
Nguồn thông tin công cộng: Các phương tiện thông tin đại chúng, các tổ chức nghiên cứu người tiêu dùng.
Nguồn thông tin thực nghiệm: Sờ mó, nghiên cứu và sử dụng sản phẩm.
Nguồn thông tin nào có tác động mạnh tới người tiêu dùng còn tùy thuộc vào loại sản phẩm, đặc tính của khách hàng. Ví dụ về quá trình quyết định mua hàng tại bước 2: Người cẩn thận thường không tin vào quảng cáo, họ phải tìm kiếm thêm các thông tin khác từ các nguồn khác nhau, hay đối với quyết định mua sắm quan trọng như mua ô tô, nhà cửa, hay đi học nước ngoài, thì người ta thường muốn có càng nhiều thông tin càng tốt để tăng độ tin cậy của quyết định.
Người tiêu dùng nhận được nhiều thông tin nhất về sản phẩm từ những nguồn thông tin thương mại, tuy nhiên, những nguồn thông tin cá nhân lại là những nguồn tác động nhiều nhất tới người tiêu dùng. Mỗi nguồn thông tin cũng thực hiện các chức năng khác nhau ở một mức độ nào đó tác động đến quyết định mua sắm.
Trong quá trình quyết định mua hàng của khách hàng thì đây được đánh giá là bước quan trọng nhất. Từ các nhãn hiệu sản phẩm khác nhau đã biết qua giai đoạn tìm kiếm thông tin, khách hàng bắt đầu đánh giá để chọn ra nhãn hiệu, sản phẩm phù hợp với nhu cầu của mình.
Để hiểu rõ việc đánh giá của khách hàng như thế nào, doanh nghiệp cần quan tâm đến các vấn đề sau: Các thuộc tính của sản phẩm mà khách hàng quan tâm, mức độ quan trọng của các thuộc tính đối với khách hàng, niềm tin của khách hàng đối với các nhãn hiệu, độ hữu dụng của các thuộc tính.
Người tiêu dùng xem mỗi sản phẩm như một tập hợp các thuộc tính với những khả năng đem lại những ích lợi tìm kiếm và thỏa mãn nhu cầu khác nhau. Những tính chất mà người mua quan tâm thay đổi tùy theo loại sản phẩm (ví dụ ô tô xe máy quan tâm đến xe có chạy êm không, tiêu thụ xăng ít không…, máy ảnh quan tâm đến độ nét, tốc độ chụp…). Họ sẽ chú ý nhiều nhất đến những tính chất sẽ đem lại cho họ những ích lợi cần tìm kiếm.
Mức độ quan trọng của các thuộc tính khác nhau đối với các nhóm khách hàng khác nhau. Đôi khi, những thuộc tính nổi bật nhất có thể không phải là những thuộc tính quan trọng nhất, thuộc tính này có thể quan trọng với nhóm khách hàng này nhưng lại không quan trọng với nhóm khách hàng khác, một số thuộc tính có thể nổi bật lên là vì người tiêu dùng vừa mới xem một quảng cáo có nhắc tới chúng hơn là họ đã định vị được tầm quan trọng của thuộc tính đó đối với bản thân. Doanh nghiệp cần quan tâm nhiều hơn đến tầm quan trọng của các thuộc tính tồn tại trong sản phẩm để đáp ứng được nhu cầu của người tiêu dùng.
Niềm tin của khách hàng đối với các nhãn hiệu, sản phẩm cũng có ảnh hưởng lớn tới quyết định mua hàng của họ. Người tiêu dùng có khuynh hướng xây dựng cho mình một tập hợp những niềm tin vào các nhãn hiệu. Niềm tin vào nhãn hiệu của người tiêu dùng sẽ thay đổi theo kinh nghiệm của họ và tác động của nhận thức có chọn lọc, bóp méo có chọn lọc và ghi nhớ có chọn lọc. Khi một nhãn hiệu đã chiếm được niềm tin của khách hàng sẽ dễ được họ lựa chọn ở các lần mua tiếp theo. Nhãn hiệu là một tài sản vô hình của công ty, do vậy việc xây dựng một thương hiệu mạnh là cực kỳ quan trọng.
Mỗi thuộc tính của sản phẩm thông thường được người tiêu dùng gán cho một mức độ hữu dụng khác nhau. Khi quyết định mua một sản phẩm, khách hàng luôn có xu hướng chọn sản phẩm có tổng giá trị sử dụng từ các thuộc tính là lớn nhất.
Ở giai đoạn đánh giá, người tiêu dùng đã hình thành sở thích đối với những nhãn hiệu trong tập lựa chọn. Người tiêu dùng cũng có thể hình thành ý định mua nhãn hiệu ưa thích nhất. Tuy nhiên còn hai yếu tố nữa có thể xen vào giữa ý định mua và quyết định mua hàng.
– Yếu tố đầu tiên là thái độ của người khác (bạn bè, gia đình, đồng nghiệp…). Trước khi quyết định mua hàng, bao giờ người tiêu dùng cũng có xu hướng tham khảo ý kiến từ người thân, hoặc ý kiến những người xung quanh đánh giá về sản phẩm đó. Thái độ của người tiêu dùng có bị tác động bởi thái độ của người xung quanh hay không lại phụ thuộc vào hai đặc điểm: + Thứ nhất là mức độ mãnh liệt ở thái độ phản ứng của người xung quanh về sản phẩm truyền đạt đến người tiêu dùng. + Thứ hai là động cơ làm theo phản ứng của người khác. Thái độ của người khác càng mãnh liệt đồng thời người ta càng gần gũi với người tiêu dùng thì càng có khả năng người tiêu dùng điều chỉnh lại quyết định mua sắm của mình theo người đó. Tuy nhiên, ảnh hưởng của những người khác sẽ trở nên phức tạp khi có một vài người thân cận với người mua có ý kiến trái ngược nhau về sản phẩm người tiêu dùng lựa chọn.
– Yếu tố thứ hai là các yếu tố tình huống bất ngờ. Người tiêu dùng hình thành ý định mua hàng trên cơ sở những yếu tố như (thu nhập dự kiến của gia đình, giá dự kiến và ích lợi dự kiến của sản phẩm). Khi người tiêu dùng sắp sửa hành động thì những yếu tố tình huống bất ngờ có thể xuất hiện đột ngột và làm thay đổi ý định mua hàng, họ nhận thức được những rủi ro có thể gặp phải, không dám chắc về quyết định của mình dẫn đến băn khoăn lo lắng khi mua hàng, họ có thể sẽ hủy bỏ quyết định, hoặc thu thập thêm thông tin hoặc các yếu tố hỗ trợ tích cực để tăng độ tin tưởng vào quyết định của mình.
Vì vậy những sở thích và thậm chí cả những ý định mua hàng cũng không phải là những dấu hiệu hoàn toàn tin cậy báo trước hành vi mua của khách hàng.
Phản ứng sau mua là bước cuối cùng trong quá trình quyết định mua của người tiêu dùng. Sau khi mua xong, khách hàng sử dụng sản phẩm và có các đánh giá về sản phẩm mua được. Mức độ hài lòng của khách hàng sẽ tác động trực tiếp đến các quyết định mua vào lần sau.
Sự hài lòng hay không của khách hàng sau khi mua phụ thuộc vào mối tương quan giữa sự mong đợi của khách hàng trước khi mua và sự cảm nhận của họ sau khi mua và sử dụng sản phẩm. Khi khách hàng hài lòng, họ sẽ chia sẻ tâm trạng hưng phấn đó cho nhiều người khác. Như vậy, có thể nói khách hàng hài lòng là người quảng cáo miễn phí và hiệu quả nhất cho doanh nghiệp. Ngược lại khi họ không hài lòng, họ cũng sẽ “chia buồn” với nhiều người khác. Điều này làm cho công ty có nhiều nguy cơ mất đi khách hàng tiềm năng.
Doanh nghiệp cần chú trọng tới việc nghiên cứu các yếu tố ảnh hưởng quá trình quyết định mua hàng của người tiêu dùng, đồng thời cũng cần phải tìm hiểu tác động của việc ra quyết định hiện tại dẫn đến sự thay đổi hành vi trong tương lai như thế nào để có thể đề ra chính sách Marketing sao cho phù hợp nhất.
Dữ liệu nghiên cứu về hiệu suất của chiến dịch quảng cáo trên Amazon thông qua quyết định mua hàng sau khi xem quảng cáo của khách hàng bao gồm từ khóa tìm kiếm, tỷ lệ click, tỷ lệ thêm vào giỏ hàng và quyết định mua hàng. Nó cho phép các doanh nghiệp tối ưu hóa các chiến lược quảng cáo của họ và cải thiện ROI bằng cách phân tích các từ khóa tìm kiếm và sản phẩm phù hợp nhất, đồng thời đưa ra các quyết định dựa trên dữ liệu. Với dữ liệu chính xác và đáng tin cậy, các doanh nghiệp có thể theo dõi hiệu suất quảng cáo của mình và dẫn đầu đối thủ trên Amazon. Dữ liệu bao gồm thông tin của 800 khách hàng tại Amazon và được lấy từ Kaggle.
setwd("F:/")
data <- read.csv("data3.csv")
library(DT)
## Warning: package 'DT' was built under R version 4.3.1
DT::datatable(data)
Dữ liệu nghiên cứu gồm 983 quan sát với 14 biến bao gồm 15 với 6 biến định tính và 8 biến định lượng.
Income level: Mức thu nhập (Cao, Trung bình cao, Trung bình, Trung bình thấp, Thấp)
Age: nhóm tuổi
Search: Từ khóa tìm kiếm
Gender: Giới tính
Country: Quốc gia
Total click: tổng số lần nhấp xem quảng cáo
Purchase: quyết định mua hàng sau khi xem quảng cáo (1: Đồng ý mua, 0: Không đồng ý mua)
Time: Thời gian dành cho Internet
Search volume: số làn khách hàng sử dụng từ khóa tìm kiếm
Total imp: số lần quảng cáo được hiển thị cho khách hàng trong kết quả tìm kiếm
CLick rate: tỷ lệ nhấp xem quảng cáo
Total cart: tổng số lần thêm vào giỏ hàng
Add rate: tỷ lệ thêm vào giỏ hàng
Xét biến đáp ứng là biến nhị phân với hai thuộc tính: một gọi là “Thành công” và một gọi là “Thất bại”, chịu sự tác động của một tập hợp m biến \(X=(X_1,X_2,...,X_m)\) mà ta gọi là các biến giải thích. Biến đáp ứng được đại diện, hay lượng hóa bởi biến ngẫu nhiên có phân phối 0 – 1:
Y = 1 nếu đáp ứng là “Thành công” và 0 nếu đáp ứng là “Thất bại”
Mô hình logistic mô tả sự phụ thuộc của biến đáp ứng thông qua xác suất “Thành công” \(π(x)=P(Y=1|X=x)\) ứng với mức \(x=(x_1,x_2,...,x_m)\) của các biến giải thích phụ thuộc vào \(x=(x_1,x_2,...,x_m)\) dưới dạng:
\(log(\frac{π(x)}{(1−π(x))})=β_0+β_1.x_1+β_2.x_2+...+β_m.x_m\)
Trong đó các hằng số \(β_0,β_1,β_2,...,β_m\) được gọi là các hệ số hồi quy. Hệ số \(βj\) của biến \(x_j\) là lượng thay đổi của \(log(\frac{π(x)}{(1−π(x))})\), hay của \(log[Odds(x)]\) khi biến \(xj\) thay đổi 1 đơn vị, trong điều kiện các biến khác không thay đổi, \(j=1,2,…,m\)
Nếu \(β_j>0,π(x)\) đồng biến theo \(x_j\), khi các biến khác không thay đổi.
Nếu \(β_j<0,π(x)\) nghịch biến theo \(x_j\), khi các biến khác không thay đổi.
Nếu \(β_j=0,π(x)\) không phụ thuộc \(xj\)
Khi \(x_j\) tăng thêm 1 đơn vị, còn các biến khác không thay đổi thì tỷ lệ cược \(Odds(x)\) được nhân lên với \(e^(β_j)\) Mô ước lượng cho mô hình hồi quy Logistic là :
\(log(\frac{\hat{π}(x)}{(1−\hat{π}(x))})=\hat{β}_0+\hat{β}_1.x_1+\hat{β}_2.x_2+...+\hat{β}_m.x_m\)
Trong đó các hệ số \(\hat{β}_j\) ước lượng cho hồi quy \(β_j\) được tìm theo phương pháp hợp lý cực đại.
Giả sử biến đáp ứng nhị phân với hai giá trị mà ta gọi là “Thành công” và “Thất bại”, phụ thuộc vào m biến giải thích: \(X_1,X_2,...,X_m\). Ký hiệu:
\(X=(X_1,X_2,...,X_m)\)
Y = 1 nếu đáp ứng là “Thành công” và 0 nếu đáp ứng là “Thất bại” thì xác suất “Thành công” ứng với \(X_1=x_1,X_2=x_2,...,X_m=x_m\) là:
\(π(x)=π(x_1,x_2,...,x_m)=E(Y|X_1=x_1,X_2=x_2,...,X_m=x_m)\)
Mô hình Probit đa biến có dạng: \(π(x_1,x_2,...,x_m)=Φ(β_0+β_1x_1+β_2x_2+...+β_mx_m\)
hay: \(Probi(π(x_1,x_2,...,x_m))=β_0+β_1x_1+β_2x_2+...+β_mx_m\)
trong đó ϕ là hàm phân phối chuẩn chính tắc:
\(Φ(t)=\frac{1}{\sqrt{2π}}\int_t^\infty\mathrm{e}^{\frac{-1}{2}u^2}du\)
và Probit là phép lấy hàm ngược của Φ:
\(Probit(π(x_1,x_2,...,x_m))= Φ^{-1}(π(x_1,x_2,...,x_m))\)
Trong trường hợp tỷ lệ cược phụ thuộc vào các biến giải thích dưới dạng hàm lũy thừa:
\(Odds(x)=\frac{π(x)}{1−π(x)}=λ.x^{β_1}_1.x^{β_2}_2...x^{β_m}_m\)
Ta nhận được mô hình logistic có các biến dự báo ở dạng log, gọi là mô hình logistic dạng log-log
\(log(\frac{π(x)}{1−π(x)})=β_0+β_1.logx_1+β_2.logx_2+...+β_m.logx_m\)
AIC được đề xuất bởi Akaike Hirotugu, một nhà thống kê học người Nhật. AIC là một tiêu chí được sử dụng một cách phổ biến để đánh giá một mô hình hồi quy được ước lượng bởi phương pháp Maximum Likelihood. Một cách chung chung giá trị của AIC càng nhỏ thì mô hình càng tốt. AIC được tính bằng công thức sau:
\(AIC=-2ln(L) + 2k\)
Với \(L\) là giá trị cực đại của hàm likelihood function (hàm hợp lý) và \(k\) là tham số của mô hình.
Deviance cũng là một tiêu chí rất phổ biến được sử dụng để đánh giá một mô hình hồi quy được ước lượng bởi phương pháp hợp lý cực đại (ML). Một cách tổng quát, cũng giống như chỉ số AIC, giá trị của Deviance càng nhỏ thì mô hình càng tốt.
Là chỉ tiêu dùng để đánh giá mô hình hồi quy logistic, công thức tính chỉ số Brier Score như sau: \(B=\frac{1}{n}\sum_{t=1}^{n}(Y_t-\hat{\pi_t})^2\)
Trong đó \(\hat{\pi_t}\) là giá trị ước lượng của \(\pi(x_i)=E(Y|X=x_i)\) chỉ số brierscore thật chất là trung bình của tổng bình phương các độ lệch giữa giá trị của biến phụ thuộc Y và giá trị ước lượng của nó. Vì vậy chỉ số BrierScore càng nhỏ thì mô hình cho ước lượng càng chính xác, tức là càng phù hợp với dữ liệu quan sát.
Ma trận nhầm lẫn là yếu tố giúp so sánh giá trị thực tế và giá trị dự báo: Giá trị dự báo cho quan sát thực tế \(Y_t\) là \(\hat{Y_j}=@round(\hat{\pi_j})=1\) nếu \(\hat{\pi_j}>=0.5\) nếu \(\hat{\pi_j}<0.5\)
Nếu \(Y_j=1\) và \(\hat{Y_j}=1\), thì \(\hat{Y_j}=1\) được gọi là một dương tính thực,
Nếu \(Y_j=0\) và \(\hat{Y_j}=1\), thì \(\hat{Y_j}=1\) được gọi là một dương tính giả,
Nếu \(Y_j=1\) và \(\hat{Y_j}=0\), thì \(\hat{Y_j}=0\) được gọi là một âm tính giả,
Nếu \(Y_j=0\) và \(\hat{Y_j}=0\), thì \(\hat{Y_j}=0\) được gọi là một âm tính thực,
Nếu \(Y_j=\hat{Y_j}\), thì \(\hat{Y_j}\) được gọi là dự báo đúng hay chính xác, nếu \(Y_j=\hat{Y_j}\) thì \(\hat{Y_j}\) được gọi là dự báo sai hay không chính xác. Ký hiệu TN (True Negative) là số âm tính thực, FN (Fale Negative) là số âm tính giả, FP (Fale Positive) là số dương tính giả, TP (True Positive) là số dương tính thực, ta có: Ma trận: \(\begin{bmatrix} TN & FP \\ FN & TP \\ \end{bmatrix}\) được gọi là ma trận nhầm lẫn (Confusion Matrix) của mô hình. Trong ma trận nhầm lẫn người ta xét các chỉ số sau:
Độ chính xác toàn thể \(=\frac{TN+TP}{n}\) (tỷ lệ dự báo đúng trên toàn bộ mẫu)
Sai số toàn thể \(=\frac{FN+TP}{n}\) (tỷ lệ dự báo sai trên mẫu)
Độ nhạy (sensitivity) \(=\frac{TP}{FN+TP}\) (tỷ lệ dự báo đúng trên tổng số các thành công được quan sát). Độ nhạy càng lớn càng tốt.
Sai số âm tính giả (Fale negative error) \(=1-Độ nhạy=\frac{FN}{FN+TP}\)
Độ đặc biệt (Specificity) \(\frac{TP}{FN+TP}=\frac{ Số dương tính thực}{Tổng số quan sát có Y = 0}\) Độ đặc hiệu càng lớn càng tốt
Sai số dương tính giả \(1-Độ đặc hiệu = \frac{FP}{TN+FP}\)
Một mô hình tốt là mô hình có độ nhạy lớn và độ đặc hiệu lớn.
setwd("F:/")
data <- read.csv("data3.csv")
table(data$total.click)
##
## 20-30 30-40 40-50 50-60 60-70
## 40 24 17 15 6
## 70-80 80-90 90-100 Less than 10 More than 100
## 13 5 3 630 18
## Oct-20
## 144
table(data$total.click)/sum(table(data$total.click))
##
## 20-30 30-40 40-50 50-60 60-70
## 0.043715847 0.026229508 0.018579235 0.016393443 0.006557377
## 70-80 80-90 90-100 Less than 10 More than 100
## 0.014207650 0.005464481 0.003278689 0.688524590 0.019672131
## Oct-20
## 0.157377049
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.3.1
data |> ggplot(aes(x = total.click, y = after_stat(count))) + geom_bar(fill = 'lightblue') + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = 'count', color = 'black', vjust = - .5) + theme_classic() + labs(x = 'Click xem quảng cáo', y = 'Frequency')
Với biến định lượng “total.click” có thể thấy tỷ lệ nhấp xem quảng cáo
của khách hàng dưới 10 lần chiếm tỷ lệ cao nhất (68.85%), theo sau đó là
tỷ lệ nhấp xem quảng cáo từ 10-20 lần (15,73%) và thấp nhất là tỷ lệ
nhấp xem quảng cáo từ 90-100 lần (0,33%)
table(data$Purchase)
##
## 0 1
## 261 654
table(data$Purchase)/sum(table(data$Purchase))
##
## 0 1
## 0.2852459 0.7147541
library(ggplot2)
data |> ggplot(aes(x = Purchase, y = after_stat(count))) + geom_bar(fill = 'navy') + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = 'count', color = 'black', vjust = - .5) + theme_classic() + labs(x = 'Đồng ý mua hàng', y = 'Frequency')
Từ biểu đồ trên ta có thể thấy tỷ lệ người đồng ý mua hàng sau khi xem quảng cáo là 71%, trong khi đó tỷ lệ người không đồng ý mua hàng sau khi xem quảng cáo là 29%. Điều này cũng phản ánh mức độ hiệu quả của chiến dịch quảng cáo của Amazon.
table(data$Age)
##
## 20-30 30-40 40-50 50-60 Less than 20 More than 60
## 273 328 201 104 8 1
table(data$Age)/sum(table(data$Age))
##
## 20-30 30-40 40-50 50-60 Less than 20 More than 60
## 0.298360656 0.358469945 0.219672131 0.113661202 0.008743169 0.001092896
data |> ggplot(aes(x = Age, y = after_stat(count))) + geom_bar(fill = 'purple') + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = 'count', color = 'black', vjust = - .5) + theme_classic() + labs(x = 'Độ tuổi', y = '')
Dựa trên biểu đồ trên ta có thể thấy nhóm tuổi xem quảng cáo nhiều nhất
là 30-40 tuổi (35.85%) theo sau đó là nhóm tuổi 20-30 (29.84%) đây đều
là độ tuổi trẻ, có mức thu nhập ổn định và nhu cầu mua hàng, sử dụng sản
phẩm cũng nhiều hơn những nhóm tuổi khác, điều này cũng là 1 lợi thế cho
Amazon khi biết được nhóm khách hàng tiềm năng của mình.
table(data$Gender)
##
## Female Male
## 473 442
table(data$Gender)/sum(table(data$Gender))
##
## Female Male
## 0.5169399 0.4830601
ggplot(data = data) + geom_bar(mapping = aes(x = Gender, fill= Gender ))
Từ biểu đồ trên ta có thể thấy, tỷ lệ khách hàng là nam chiếm 48.31%, tỷ
lệ khách hàng là nữ chiếm 51.69%, điều này cũng ảnh hưởng đến nhu cầu
mua sắm và tỷ lệ mua hàng sau khi xem quảng cáo.
table(data$Income.level)
##
## High Low Middle
## 451 80 384
table(data$Income.level)/sum(table(data$Income.level))
##
## High Low Middle
## 0.49289617 0.08743169 0.41967213
data |> ggplot(aes(x = Income.level, y = after_stat(count))) + geom_bar(fill = 'brown') + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = 'count', color = 'black', vjust = - .5) + theme_classic() + labs(x = 'Mức thu nhập', y = '')
Có thể thấy, đối tượng khách hàng xem quảng cáo và mua hàng tại Amazon có mức thu nhập cao chiếm 49.29% trong khi lượng khách hàng có thu nhập thấp chỉ chiếm 8.74%.
table(data$Search)
##
## anxiety toys autism sensory toys bunmo store calm corner items
## 107 497 38 26
## fidget Gifts Others sensroy toys
## 58 14 14 5
## special needs toys stim toy stress toys stretchy toys
## 27 21 2 53
## Toys for kid
## 53
table(data$Search)/sum(table(data$Search))
##
## anxiety toys autism sensory toys bunmo store calm corner items
## 0.116939891 0.543169399 0.041530055 0.028415301
## fidget Gifts Others sensroy toys
## 0.063387978 0.015300546 0.015300546 0.005464481
## special needs toys stim toy stress toys stretchy toys
## 0.029508197 0.022950820 0.002185792 0.057923497
## Toys for kid
## 0.057923497
data |> ggplot(aes(x = Search, y = after_stat(count))) + geom_bar(fill = 'magenta') + geom_text(aes(label = scales::percent(after_stat(count/sum(count)))), stat = 'count', color = 'black', vjust = - .5) + theme_classic() + labs(x = 'Search query', y = '')
Từ biểu đồ có thể thấy, từ khóa được tìm kiếm nhiều nhất là “austism
sensory toys” chiếm 54.32% và các từ khóa “sensory toys” và stress toys”
được tìm kiếm ít nhất lần lượt với tỷ lệ 0.55% và 0.22%.
GD1 <- table(data$Gender, data$Purchase)
GD1
##
## 0 1
## Female 149 324
## Male 112 330
GD2 <- prop.table(GD1);GD2
##
## 0 1
## Female 0.1628415 0.3540984
## Male 0.1224044 0.3606557
addmargins(GD1)
##
## 0 1 Sum
## Female 149 324 473
## Male 112 330 442
## Sum 261 654 915
library(ggplot2)
gender <- data$Gender
purchase <- data$Purchase
ggplot(data, aes(purchase, fill = gender)) + geom_bar(position = 'dodge')
Thông qua bảng tần số, tần suất và biểu đồ của 2 biến đồng ý mua hàng
sau khi xem quảng cáo (purchase) và biến giới tính (Gender) có thể thấy
có 261 khách hàng không đồng ý mua hàng sau khi xem quảng cáo trong đó
có 149 khách hàng là nữ chiếm 16.28% tổng số khách hàng và có 112 khách
hàng là nam chiếm 12.24% tổng số khách hàng. Bên cạnh đó có 654 khách
hàng đồng ý mua hàng sau khi xem quảng cáo trong đó có 324 khách hàng là
nữ chiếm 35.41% tổng số khách hàng và có 330 khách hàng là nam chiếm
36.07% tổng số khách hàng. Qua biểu đồ có thể thấy số khách hàng đồng ý
mua hàng sau khi xem quảng cáo và số khách hàng không đồng ý mua hàng
sau khi xem quảng cáo đều có tỷ lệ nữ cao hơn nam.
library(epitools)
riskratio(GD1)
## $data
##
## 0 1 Total
## Female 149 324 473
## Male 112 330 442
## Total 261 654 915
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## Female 1.000000 NA NA
## Male 1.089953 1.004385 1.182811
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Female NA NA NA
## Male 0.03944387 0.04051131 0.03913801
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Theo kết quả trên cho thấy tỷ lệ rủi ro tương đối của khách hàng đồng ý mua hàng sau khi xem quảng cáo dựa theo giới tính là 1.089953, có nghĩa là tỷ lệ những khách hàng không đồng ý mua hàng sau khi xem quảng cáo là nữ gấp 1.089953 lần tỷ lệ những khách hàng đồng ý mua hàng sau khi xem quảng cáo là nam.
Khi thêm tham số rev = “c” thì sẽ thực hiện việc đổi chỗ 2 cột trong bảng ngẫu nhiên
riskratio(GD1, rev = "c")
## $data
##
## 1 0 Total
## Female 324 149 473
## Male 330 112 442
## Total 654 261 915
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## Female 1.0000000 NA NA
## Male 0.8043973 0.6533312 0.9903936
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## Female NA NA NA
## Male 0.03944387 0.04051131 0.03913801
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Theo kết quả trên cho thấy tỷ lệ rủi ro tương đối của khách hàng không đồng ý mua hàng sau khi xem quảng cáo dựa theo giới tính là 0.8043973 , có nghĩa là tỷ lệ những khách hàng không đồng ý mua hàng sau khi xem quảng cáo là nam bằng 80.44% tỷ lệ những khách hàng đồng ý mua hàng sau khi xem quảng cáo là nữ.
epitab(GD1, method = "oddsratio")
## $tab
##
## 0 p0 1 p1 oddsratio lower upper p.value
## Female 149 0.5708812 324 0.4954128 1.000000 NA NA NA
## Male 112 0.4291188 330 0.5045872 1.354993 1.014807 1.809217 0.04051131
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
Qua kết quả trên ta thấy tỷ lệ chênh (odd ratio) là 1.354993 có nghĩa là tỷ lệ những khách hàng không đồng ý mua hàng sau khi xem quảng cáo có giới tính là nam bằng 1.354993 tỷ lệ những khách hàng không đồng ý mua hàng sau khi xem quảng cáo có giới tính là nữ.
Khi thêm tham số rev = “c” thì sẽ thực hiện việc đổi chỗ 2 cột trong bảng ngẫu nhiên
epitab(GD1, method = 'riskratio', rev = 'c')
## $tab
##
## 1 p0 0 p1 riskratio lower upper p.value
## Female 324 0.6849894 149 0.3150106 1.0000000 NA NA NA
## Male 330 0.7466063 112 0.2533937 0.8043973 0.6533312 0.9903936 0.04051131
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
Qua kết quả trên ta thấy tỷ lệ chênh (odd ratio) của khách hàng đồng ý mua hàng sau khi xem quảng cáo dựa theo giới tính là 0.8043973, có nghĩa là tỷ lệ những khách hàng đồng ý mua hàng sau khi xem quảng cáo là nam bằng 80.44% tỷ lệ những khách hàng đồng ý mua hàng sau khi xem quảng cáo là nữ.
d2 <- table(data$Income.level, data$Purchase)
d2
##
## 0 1
## High 127 324
## Low 23 57
## Middle 111 273
d3 <- prop.table(d2);d3
##
## 0 1
## High 0.13879781 0.35409836
## Low 0.02513661 0.06229508
## Middle 0.12131148 0.29836066
addmargins(d2)
##
## 0 1 Sum
## High 127 324 451
## Low 23 57 80
## Middle 111 273 384
## Sum 261 654 915
library(ggplot2)
income.level <- data$Income.level
purchase <- data$Purchase
ggplot(data, aes(purchase, fill = income.level)) + geom_bar(position = 'dodge')
Thông qua bảng tần số, tần suất và biểu đồ của 2 biến đồng ý mua hàng
sau khi xem quảng cáo (purchase) và biến mức thu nhập (income.level) có
thể thấy phần lớn khách hàng không đồng ý mua hàng sau khi xem quảng cáo
có mức thu nhập từ trung bình đến trung bình cao, cụ thể có 111 khách
hàng có thu nhập trung bình không đồng ý mua hàng sau khi xem quảng cáo
chiếm tỷ lệ 12.13% tổng số khách hàng và có 127 khách hàng có thu nhập
cao không đồng ý mua hàng sau khi xem quảng cáo chiếm tỷ lệ 13.88% tổng
số khách hàng. Bên cạnh đó, số lượng lớn khách hàng đồng ý mua hàng sau
khi xem quảng cáo cũng nằm trong mức thu nhập từ trung bình đến cao. Cụ
thể có 273 khách hàng có thu nhập trung bình đồng ý mua hàng sau khi xem
quảng cáo, chiếm tỷ lệ 29.84% tổng số khách hàng và có 324 khách hàng có
thu nhập cao đồng ý mua hàng sau khi xem quảng cáo chiếm tỷ lệ 35.41%
tổng số khách hàng. Qua biểu đồ có thể thấy đối tượng khách hàng chiếm
phần lớn của Amazon có mức thu nhập trung bình đến cao.
library(epitools)
riskratio(d2)
## $data
##
## 0 1 Total
## High 127 324 451
## Low 23 57 80
## Middle 111 273 384
## Total 261 654 915
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## High 1.0000000 NA NA
## Low 0.9917824 0.8530264 1.153109
## Middle 0.9896074 0.9080043 1.078544
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## High NA NA NA
## Low 0.9042911 0.8936275 0.9139243
## Middle 0.8116739 0.8179618 0.8117385
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Theo kết quả trên cho thấy tỷ lệ rủi ro tương đối của khách hàng không đồng ý mua hàng sau khi xem quảng cáo dựa theo mức thu nhập cao là 0.9917824, có nghĩa là tỷ lệ những khách hàng có thu nhập thấp không đồng ý mua hàng sau khi xem quảng cáo bằng 0.9917824 lần tỷ lệ những khách hàng có thu nhập cao đồng ý mua hàng sau khi xem quảng cáo.
Khi thêm tham số rev = “c” thì sẽ thực hiện việc đổi chỗ 2 cột trong bảng ngẫu nhiên
riskratio(d2, rev = "c")
## $data
##
## 1 0 Total
## High 324 127 451
## Low 57 23 80
## Middle 273 111 384
## Total 654 261 915
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## High 1.000000 NA NA
## Low 1.020965 0.7015981 1.485706
## Middle 1.026513 0.8277158 1.273057
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## High NA NA NA
## Low 0.9042911 0.8936275 0.9139243
## Middle 0.8116739 0.8179618 0.8117385
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Theo kết quả trên cho thấy tỷ lệ rủi ro tương đối của khách hàng đồng ý mua hàng sau khi xem quảng cáo dựa theo mức thu nhập là 1.020965, có nghĩa là tỷ lệ những khách hàng có thu nhập thấp đồng ý mua hàng sau khi xem quảng cáo bằng 1.020965 tỷ lệ những khách hàng có thu nhập cao đồng ý mua hàng sau khi xem quảng cáo.
epitab(d2, method = "oddsratio")
## $tab
##
## 0 p0 1 p1 oddsratio lower upper p.value
## High 127 0.48659004 324 0.49541284 1.0000000 NA NA NA
## Low 23 0.08812261 57 0.08715596 0.9714171 0.5741588 1.643537 0.8936275
## Middle 111 0.42528736 273 0.41743119 0.9640474 0.7132544 1.303024 0.8179618
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
Qua kết quả trên ta thấy tỷ lệ chênh (odd ratio) là 0.5741 có nghĩa là tỷ lệ những khách hàng đồng ý và không đồng ý mua hàng sau khi xem quảng cáo có mức thu nhập cao nhiều hơn 57.41% tỷ lệ những khách hàng đồng ý và không đồng ý mua hàng sau khi xem quảng cáo có mức thu nhập thấp.
Khi thêm tham số rev = “c” thì sẽ thực hiện việc đổi chỗ 2 cột trong bảng ngẫu nhiên
epitab(d2, method = 'riskratio', rev = 'c')
## $tab
##
## 1 p0 0 p1 riskratio lower upper p.value
## High 324 0.7184035 127 0.2815965 1.000000 NA NA NA
## Low 57 0.7125000 23 0.2875000 1.020965 0.7015981 1.485706 0.8936275
## Middle 273 0.7109375 111 0.2890625 1.026513 0.8277158 1.273057 0.8179618
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
Qua kết quả trên ta thấy tỷ lệ chênh (odd ratio) là 0.7125 có nghĩa là tỷ lệ những khách hàng đồng ý và không đồng ý mua hàng sau khi xem quảng cáo có mức thu nhập thấp lớn hơn khoản 71.25% tỷ lệ những khách hàng đồng ý và không đồng ý mua hàng sau khi xem quảng cáo có mức thu nhập cao.
d4 <- table(data$Age, data$Purchase)
d4
##
## 0 1
## 20-30 66 207
## 30-40 106 222
## 40-50 52 149
## 50-60 37 67
## Less than 20 0 8
## More than 60 0 1
d5 <- prop.table(d4);d5
##
## 0 1
## 20-30 0.072131148 0.226229508
## 30-40 0.115846995 0.242622951
## 40-50 0.056830601 0.162841530
## 50-60 0.040437158 0.073224044
## Less than 20 0.000000000 0.008743169
## More than 60 0.000000000 0.001092896
addmargins(d4)
##
## 0 1 Sum
## 20-30 66 207 273
## 30-40 106 222 328
## 40-50 52 149 201
## 50-60 37 67 104
## Less than 20 0 8 8
## More than 60 0 1 1
## Sum 261 654 915
library(ggplot2)
age <- data$Age
purchase <- data$Purchase
ggplot(data, aes(purchase, fill = age)) + geom_bar(position = 'dodge')
Thông
qua bảng tần số, tần suất và biểu đồ của 2 biến đồng ý mua hàng sau khi
xem quảng cáo (purchase) và biến độ tuổi (age) có thể thấy phần lớn
khách hàng không đồng ý mua hàng sau khi xem quảng cáo có độ tuổi từ
20-40, cụ thể có 66 khách hàng có độ tuổi từ 20-30 tuổi không đồng ý mua
hàng sau khi xem quảng cáo chiếm tỷ lệ 7.21% tổng số khách hàng và có
106 khách hàng có độ tuổi từ 30-40 tuổi không đồng ý mua hàng sau khi
xem quảng cáo chiếm tỷ lệ 11.58% tổng số khách hàng. Bên cạnh đó, số
lượng lớn khách hàng đồng ý mua hàng sau khi xem quảng cáo cũng nằm
trong độ tuổi từ 20 đến 40 tuổi. Cụ thể có 207 khách hàng từ 20-30 tuổi
đồng ý mua hàng sau khi xem quảng cáo, chiếm tỷ lệ 22.62% tổng số khách
hàng và có 328 khách hàng từ 30-40 tuổi đồng ý mua hàng sau khi xem
quảng cáo chiếm tỷ lệ 24.26% tổng số khách hàng. Qua biểu đồ có thể thấy
đối tượng khách hàng chiếm phần lớn của Amazon nằm trong độ tuổi trẻ từ
20 đến 40 tuổi.
library(epitools)
riskratio(d4)
## 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
##
## 0 1 Total
## 20-30 66 207 273
## 30-40 106 222 328
## 40-50 52 149 201
## 50-60 37 67 104
## Less than 20 0 8 8
## More than 60 0 1 1
## Total 261 654 915
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## 20-30 1.0000000 NA NA
## 30-40 0.8926299 0.8073682 0.9868956
## 40-50 0.9776480 0.8796517 1.0865615
## 50-60 0.8496377 0.7256454 0.9948167
## Less than 20 1.3188406 1.2333964 1.4102039
## More than 60 1.3188406 1.2333964 1.4102039
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## 20-30 NA NA NA
## 30-40 0.02806243 0.02980327 0.0279037
## 40-50 0.67348026 0.74722979 0.6732276
## 50-60 0.02958031 0.02866465 0.0263950
## Less than 20 0.11383967 0.20473545 0.1118575
## More than 60 0.75912409 1.00000000 0.5725286
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
Theo kết quả trên cho thấy tỷ lệ rủi ro tương đối của khách hàng không đồng ý mua hàng sau khi xem quảng cáo dựa theo độ tuổi là 0.8926299, có nghĩa là tỷ lệ những khách hàng không đồng ý mua hàng sau khi xem quảng cáo có độ tuổi từ 20-30 bằng 0.8926299 lần tỷ lệ những khách hàng không đồng ý mua hàng sau khi xem quảng cáo có độ tuổi từ 30-40.
epitab(d4, 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
##
## 0 p0 1 p1 oddsratio lower upper
## 20-30 66 0.2528736 207 0.316513761 1.0000000 NA NA
## 30-40 106 0.4061303 222 0.339449541 0.6677605 0.4654249 0.9580581
## 40-50 52 0.1992337 149 0.227828746 0.9136009 0.6002661 1.3904944
## 50-60 37 0.1417625 67 0.102446483 0.5773600 0.3544954 0.9403353
## Less than 20 0 0.0000000 8 0.012232416 Inf NaN Inf
## More than 60 0 0.0000000 1 0.001529052 Inf NaN Inf
##
## p.value
## 20-30 NA
## 30-40 0.02980327
## 40-50 0.74722979
## 50-60 0.02866465
## Less than 20 0.20473545
## More than 60 1.00000000
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
Qua kết quả trên ta thấy tỷ lệ chênh (odd ratio) là 0.6677605 có nghĩa là tỷ lệ những khách hàng đồng ý và không đồng ý mua hàng sau khi xem quảng cáo có độ tuổi từ 20-30 bằng 66.77% tỷ lệ những khách hàng đồng ý và không đồng ý mua hàng sau khi xem quảng cáo có độ tuổi từ 30-40.
d6 <- table(data$Search, data$Purchase)
d6
##
## 0 1
## anxiety toys 37 70
## autism sensory toys 141 356
## bunmo store 15 23
## calm corner items 2 24
## fidget 16 42
## Gifts 6 8
## Others 2 12
## sensroy toys 4 1
## special needs toys 7 20
## stim toy 6 15
## stress toys 0 2
## stretchy toys 14 39
## Toys for kid 11 42
d7 <- prop.table(d6);d7
##
## 0 1
## anxiety toys 0.040437158 0.076502732
## autism sensory toys 0.154098361 0.389071038
## bunmo store 0.016393443 0.025136612
## calm corner items 0.002185792 0.026229508
## fidget 0.017486339 0.045901639
## Gifts 0.006557377 0.008743169
## Others 0.002185792 0.013114754
## sensroy toys 0.004371585 0.001092896
## special needs toys 0.007650273 0.021857923
## stim toy 0.006557377 0.016393443
## stress toys 0.000000000 0.002185792
## stretchy toys 0.015300546 0.042622951
## Toys for kid 0.012021858 0.045901639
addmargins(d6)
##
## 0 1 Sum
## anxiety toys 37 70 107
## autism sensory toys 141 356 497
## bunmo store 15 23 38
## calm corner items 2 24 26
## fidget 16 42 58
## Gifts 6 8 14
## Others 2 12 14
## sensroy toys 4 1 5
## special needs toys 7 20 27
## stim toy 6 15 21
## stress toys 0 2 2
## stretchy toys 14 39 53
## Toys for kid 11 42 53
## Sum 261 654 915
library(ggplot2)
search <- data$Search
purchase <- data$Purchase
ggplot(data, aes(purchase, fill = search)) + geom_bar(position = 'dodge')
Thông qua bảng tần số, tần suất và biểu đồ của 2 biến đồng ý mua hàng
sau khi xem quảng cáo (purchase) và biến từ khóa tìm kiếm (search) có
thể thấy từ khóa “autism sensory toys” được khách hàng tìm kiếm nhiều
nhất với 141 khách hàng không đồng ý mua hàng sau khi xem quảng cáo với
từ khóa tìm kiếm “autism sensory toys” chiếm tỷ lệ 15.41%. Bên cạnh đó,
số lượng khách hàng đồng ý mua hàng sau khi xem quảng cáo với từ khóa
tìm kiếm “autism sensory toys” chiếm tỷ lệ 38.91%.
library(epitools)
riskratio(d6)
## 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
##
## 0 1 Total
## anxiety toys 37 70 107
## autism sensory toys 141 356 497
## bunmo store 15 23 38
## calm corner items 2 24 26
## fidget 16 42 58
## Gifts 6 8 14
## Others 2 12 14
## sensroy toys 4 1 5
## special needs toys 7 20 27
## stim toy 6 15 21
## stress toys 0 2 2
## stretchy toys 14 39 53
## Toys for kid 11 42 53
## Total 261 654 915
##
## $measure
## risk ratio with 95% C.I.
## estimate lower upper
## anxiety toys 1.0000000 NA NA
## autism sensory toys 1.0949123 0.9438603 1.270138
## bunmo store 0.9251880 0.6913261 1.238161
## calm corner items 1.4109890 1.1822321 1.684009
## fidget 1.1068966 0.8970029 1.365904
## Gifts 0.8734694 0.5436877 1.403285
## Others 1.3102041 1.0159305 1.689717
## sensroy toys 0.3057143 0.0526782 1.774192
## special needs toys 1.1322751 0.8710835 1.471784
## stim toy 1.0918367 0.8059802 1.479078
## stress toys 1.5285714 1.3318626 1.754333
## stretchy toys 1.1247978 0.9098121 1.390584
## Toys for kid 1.2113208 0.9968843 1.471884
##
## $p.value
## two-sided
## midp.exact fisher.exact chi.square
## anxiety toys NA NA NA
## autism sensory toys 0.206247637 0.200927232 0.20127039
## bunmo store 0.592180462 0.694165144 0.58892558
## calm corner items 0.004740721 0.007280287 0.00690951
## fidget 0.366307889 0.387577168 0.35835748
## Gifts 0.552117385 0.562969101 0.54284071
## Others 0.132872357 0.222009985 0.12655816
## sensroy toys 0.064768733 0.059182619 0.03933053
## special needs toys 0.407404568 0.494023200 0.39221878
## stim toy 0.615393921 0.801037756 0.59406219
## stress toys 0.434250765 0.547400612 0.30620167
## stretchy toys 0.304503407 0.368267500 0.29691658
## Toys for kid 0.073623482 0.098539448 0.07248776
##
## $correction
## [1] FALSE
##
## attr(,"method")
## [1] "Unconditional MLE & normal approximation (Wald) CI"
epitab(d6, 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
##
## 0 p0 1 p1 oddsratio lower
## anxiety toys 37 0.141762452 70 0.107033639 1.0000000 NA
## autism sensory toys 141 0.540229885 356 0.544342508 1.3345491 0.85645283
## bunmo store 15 0.057471264 23 0.035168196 0.8104762 0.37798396
## calm corner items 2 0.007662835 24 0.036697248 6.3428571 1.42025480
## fidget 16 0.061302682 42 0.064220183 1.3875000 0.68888631
## Gifts 6 0.022988506 8 0.012232416 0.7047619 0.22743744
## Others 2 0.007662835 12 0.018348624 3.1714286 0.67376988
## sensroy toys 4 0.015325670 1 0.001529052 0.1321429 0.01424862
## special needs toys 7 0.026819923 20 0.030581040 1.5102041 0.58496492
## stim toy 6 0.022988506 15 0.022935780 1.3214286 0.47310460
## stress toys 0 0.000000000 2 0.003058104 Inf NaN
## stretchy toys 14 0.053639847 39 0.059633028 1.4724490 0.71022374
## Toys for kid 11 0.042145594 42 0.064220183 2.0181818 0.93052668
##
## upper p.value
## anxiety toys NA NA
## autism sensory toys 2.079532 0.200927232
## bunmo store 1.737829 0.694165144
## calm corner items 28.327197 0.007280287
## fidget 2.794592 0.387577168
## Gifts 2.183850 0.562969101
## Others 14.927885 0.222009985
## sensroy toys 1.225504 0.059182619
## special needs toys 3.898894 0.494023200
## stim toy 3.690882 0.801037756
## stress toys Inf 0.547400612
## stretchy toys 3.052708 0.368267500
## Toys for kid 4.377153 0.098539448
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
Qua kết quả trên ta thấy tỷ lệ chênh (odd ratio) là 1.3345491 có nghĩa là tỷ lệ những khách hàng đồng ý và không đồng ý mua hàng sau khi xem quảng cáo với từ khóa tìm kiếm “autism sensory toys” bằng 1.3345491 tỷ lệ những khách hàng đồng ý và không đồng ý mua hàng sau khi xem quảng cáo với từ khóa tìm kiếm là “anxiety toys”.
\(H_0\): Purchase và gender độc lập
\(H_1\): Purchase và gender không độc lập
setwd("F:/")
data <- read.csv("data3.csv")
chisq.test(GD1)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: GD1
## X-squared = 3.958, df = 1, p-value = 0.04665
Qua kết quả kiểm định cho thấy giá trị p-value = 0.04665 < 5% vì vậy chưa đủ cơ sở để bác bỏ \(H_0\), tức là việc khách hàng quyết định mua hàng sau khi xem quảng cáo (purchase) và giới tính (gender) có liên quan đến nhau.
\(H_0\): Purchase và income.level độc lập
\(H_1\): Purchase và income.level không độc lập
setwd("F:/")
data <- read.csv("data3.csv")
chisq.test(d2)
##
## Pearson's Chi-squared test
##
## data: d2
## X-squared = 0.05889, df = 2, p-value = 0.971
Qua kết quả kiểm định cho thấy giá trị p-value = 0.971 > 5% vì vậy có cơ sở để chấp nhận \(H_0\), tức là việc khách hàng quyết định mua hàng sau khi xem quảng cáo (purchase) và mức thu nhập (income.level) độc lập với nhau.
\(H_0\): Purchase và age độc lập
\(H_1\): Purchase và age không độc lập
setwd("F:/")
data <- read.csv("data3.csv")
chisq.test(d4)
## Warning in chisq.test(d4): Chi-squared approximation may be incorrect
##
## Pearson's Chi-squared test
##
## data: d4
## X-squared = 11.669, df = 5, p-value = 0.03961
Qua kết quả kiểm định cho thấy giá trị p-value = 0.03961 < 5% vì vậy chưa có cơ sở để bác bỏ \(H_0\), tức là việc khách hàng quyết định mua hàng sau khi xem quảng cáo (purchase) và độ tuổi (age) liên quan đến nhau.
setwd("F:/")
data <- read.csv("data3.csv")
chisq.test(d6)
## Warning in chisq.test(d6): Chi-squared approximation may be incorrect
##
## Pearson's Chi-squared test
##
## data: d6
## X-squared = 21.597, df = 12, p-value = 0.04229
Qua kết quả kiểm định cho thấy giá trị p-value = 0.04229 < 5% vì vậy chưa đủ cơ sở để bác bỏ \(H_0\), tức là việc khách hàng quyết định mua hàng sau khi xem quảng cáo (purchase) và từ khóa tìm kiếm (search) có liên quan đến nhau.
pm <- data[data$Gender == "Male",]
prop.test(length(pm$Gender), length(data$Gender), p = 0.5)
##
## 1-sample proportions test with continuity correction
##
## data: length(pm$Gender) out of length(data$Gender), null probability 0.5
## X-squared = 0.98361, df = 1, p-value = 0.3213
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.4502770 0.5159872
## sample estimates:
## p
## 0.4830601
Với khoảng tin cậy 95% ước lượng tỷ lệ khách hàng nam đồng ý mua hàng sau khi xem quảng cáo nằm trong khoảng từ 45.03% đến 51.6%. Dựa theo kết quả trên ta thấy giá trị p-value = 0.3213 > 0, chấp nhận giả thuyết H0. Do đó tỷ lệ khách hàng nam đồng ý mua hàng sau khi xem quảng cáo bằng 50% với khoảng tin cậy 95%
pf <- data[data$Gender == "Female",]
prop.test(length(pf$Gender), length(data$Gender), p = 0.50)
##
## 1-sample proportions test with continuity correction
##
## data: length(pf$Gender) out of length(data$Gender), null probability 0.5
## X-squared = 0.98361, df = 1, p-value = 0.3213
## alternative hypothesis: true p is not equal to 0.5
## 95 percent confidence interval:
## 0.4840128 0.5497230
## sample estimates:
## p
## 0.5169399
Với khoảng tin cậy 95% ước lượng tỷ lệ khách hàng nữ đồng ý mua hàng sau khi xem quảng cáo nằm trong khoảng từ 48.4% đến 54.97%. Dựa theo kết quả trên ta thấy giá trị p-value = 0.3213 > 0, chấp nhận giả thuyết H0. Do đó tỷ lệ khách hàng nữ đồng ý mua hàng sau khi xem quảng cáo bằng 50% với khoảng tin cậy 95%.
set.seed(1)
pmm <- data[data$Gender == "Male",]
pmm1 <- pm[pm$Purchase == "1",]
pff <- data[data$Gender == "Female",]
pff1 <- pf[pf$Purchase == "1",]
a <- c(nrow(pmm), nrow(pff))
b <- c(nrow(pmm1), nrow(pff1))
prop.test(b, a)
##
## 2-sample test for equality of proportions with continuity correction
##
## data: b out of a
## X-squared = 3.958, df = 1, p-value = 0.04665
## alternative hypothesis: two.sided
## 95 percent confidence interval:
## 0.001147654 0.122086158
## sample estimates:
## prop 1 prop 2
## 0.7466063 0.6849894
Giá trị pvalue = 0.04665 < 0, bác bỏ giả thuyết H0, do đó có sự chênh lệch giữa tỷ lệ khách hàng nam và nữ trong quyết định mua hàng sau khi xem quảng cáo. Với mức ý nghĩa 5%, sự chênh lệch giữa tỷ lệ khách hàng nam và nữ trong quyết định mua hàng sau khi xem quảng cáo nằm trong khoảng từ 0.001147 đến 0.122208.
#Chọn các biến số liên tục trong mô hình
continous_vars <- data[, sapply(data, is.numeric)]
#Tính ma trận tương quan
cor_matrix <- cor(continous_vars)
cor_matrix
## Time search.volume total.imp click.rate total.cart
## Time 1 NA NA NA NA
## search.volume NA 1.00000000 0.82003855 -0.06014436 -0.01986805
## total.imp NA 0.82003855 1.00000000 -0.11680551 -0.04211824
## click.rate NA -0.06014436 -0.11680551 1.00000000 0.04972353
## total.cart NA -0.01986805 -0.04211824 0.04972353 1.00000000
## add.rate NA -0.03305097 -0.03277374 0.04086763 -0.10600274
## Purchase NA -0.02387918 -0.01000373 0.02317921 -0.05579315
## add.rate Purchase
## Time NA NA
## search.volume -0.03305097 -0.02387918
## total.imp -0.03277374 -0.01000373
## click.rate 0.04086763 0.02317921
## total.cart -0.10600274 -0.05579315
## add.rate 1.00000000 0.18468694
## Purchase 0.18468694 1.00000000
set.seed(1)
model1 <- glm(data = data, formula = factor(data$Purchase) ~ data$Gender + data$Age + data$Search + data$Time + data$search.volume + data$click.rate + data$total.cart + data$total.imp + data$total.click + data$add.rate, family = binomial(link = "logit"))
levels(factor(data$Purchase))
## [1] "0" "1"
summary(model1)
##
## Call:
## glm(formula = factor(data$Purchase) ~ data$Gender + data$Age +
## data$Search + data$Time + data$search.volume + data$click.rate +
## data$total.cart + data$total.imp + data$total.click + data$add.rate,
## family = binomial(link = "logit"), data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 7.315e-01 5.980e-01 1.223 0.22124
## data$GenderMale 3.198e-01 1.586e-01 2.017 0.04375 *
## data$Age30-40 -3.781e-01 1.997e-01 -1.893 0.05839 .
## data$Age40-50 -1.191e-03 2.384e-01 -0.005 0.99601
## data$Age50-60 -5.235e-01 2.717e-01 -1.927 0.05403 .
## data$AgeLess than 20 1.419e+01 4.854e+02 0.029 0.97667
## data$AgeMore than 60 1.411e+01 1.455e+03 0.010 0.99226
## data$Searchautism sensory toys 2.648e-01 2.441e-01 1.085 0.27797
## data$Searchbunmo store -3.038e-01 4.239e-01 -0.717 0.47367
## data$Searchcalm corner items 1.856e+00 7.797e-01 2.380 0.01732 *
## data$Searchfidget 1.646e-01 3.829e-01 0.430 0.66736
## data$SearchGifts -2.541e-01 6.240e-01 -0.407 0.68389
## data$SearchOthers 8.379e-01 8.224e-01 1.019 0.30830
## data$Searchsensroy toys -2.656e+00 1.278e+00 -2.078 0.03770 *
## data$Searchspecial needs toys 5.039e-01 5.036e-01 1.001 0.31703
## data$Searchstim toy 1.655e-01 5.566e-01 0.297 0.76620
## data$Searchstress toys 1.464e+01 1.029e+03 0.014 0.98864
## data$Searchstretchy toys 2.787e-01 3.959e-01 0.704 0.48146
## data$SearchToys for kid 6.446e-01 4.175e-01 1.544 0.12264
## data$Time -3.477e-04 4.969e-03 -0.070 0.94421
## data$search.volume 5.288e-04 2.013e-03 0.263 0.79284
## data$click.rate 2.282e-03 2.817e-03 0.810 0.41787
## data$total.cart -1.350e-02 1.015e-02 -1.330 0.18346
## data$total.imp 1.472e-04 8.293e-05 1.775 0.07585 .
## data$total.click30-40 -1.680e+00 6.248e-01 -2.689 0.00717 **
## data$total.click40-50 -2.593e-01 8.218e-01 -0.316 0.75235
## data$total.click50-60 -1.298e+00 7.425e-01 -1.748 0.08047 .
## data$total.click60-70 -1.881e+00 1.003e+00 -1.875 0.06082 .
## data$total.click70-80 -1.590e+00 9.085e-01 -1.750 0.08009 .
## data$total.click80-90 -6.622e-01 1.292e+00 -0.512 0.60838
## data$total.click90-100 -2.460e+00 1.609e+00 -1.529 0.12628
## data$total.clickLess than 10 -1.537e-01 4.395e-01 -0.350 0.72658
## data$total.clickMore than 100 -2.070e+00 1.105e+00 -1.873 0.06100 .
## data$total.clickOct-20 -3.150e-01 4.592e-01 -0.686 0.49277
## data$add.rate 7.615e-02 1.913e-02 3.981 6.87e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1093.37 on 913 degrees of freedom
## Residual deviance: 981.17 on 879 degrees of freedom
## (1 observation deleted due to missingness)
## AIC: 1051.2
##
## Number of Fisher Scoring iterations: 14
Kiểm định sự phù hợp của mô hình
Giả thuyết:
\(H_0\): Mô hình không phù hợp
\(H_1\): Mô hình phù hợp
mh1test <- anova(model1, test = "Chisq")
#Lấy giá trị Prob (LR Statistic)
pvalue <- mh1test$Pr[2]
pvalue
## [1] 0.04088854
Qua kết quả kiểm định cho thấy giá trị pvalue = 0.0408 < 5% vì vậy bác bỏ giả thuyết H0 nên mô hình phù hợp với dữ liệu.
Hệ số tương quan giữa search.volume và total.imp là 0.8734 khá lớn nên search.volume không thực sự ảnh hưởng đến quyết định mua hàng sau khi xem quảng cáo của khách hàng nên loại biến này. Những biến Time, click.rate và total.cart không có ảnh hưởng đến biến phụ thuộc tại bất kỳ mức ý nghĩa nào nên loại những biến này.
set.seed(1)
model2 <- glm(data = data, formula = factor(data$Purchase) ~ data$Gender + data$Age + data$Search + data$total.imp + data$total.click + data$add.rate, family = binomial(link = "logit"))
levels(factor(data$Purchase))
## [1] "0" "1"
summary(model2)
##
## Call:
## glm(formula = factor(data$Purchase) ~ data$Gender + data$Age +
## data$Search + data$total.imp + data$total.click + data$add.rate,
## family = binomial(link = "logit"), data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 6.547e-01 4.774e-01 1.371 0.17028
## data$GenderMale 3.189e-01 1.577e-01 2.022 0.04314 *
## data$Age30-40 -3.550e-01 1.971e-01 -1.801 0.07163 .
## data$Age40-50 3.019e-02 2.296e-01 0.132 0.89536
## data$Age50-60 -5.311e-01 2.652e-01 -2.003 0.04519 *
## data$AgeLess than 20 1.428e+01 4.852e+02 0.029 0.97653
## data$AgeMore than 60 1.418e+01 1.455e+03 0.010 0.99223
## data$Searchautism sensory toys 2.834e-01 2.406e-01 1.178 0.23888
## data$Searchbunmo store -2.514e-01 4.187e-01 -0.601 0.54816
## data$Searchcalm corner items 1.836e+00 7.784e-01 2.359 0.01834 *
## data$Searchfidget 1.663e-01 3.810e-01 0.437 0.66241
## data$SearchGifts -2.338e-01 6.099e-01 -0.383 0.70152
## data$SearchOthers 8.538e-01 8.205e-01 1.041 0.29807
## data$Searchsensroy toys -2.599e+00 1.264e+00 -2.056 0.03981 *
## data$Searchspecial needs toys 5.236e-01 5.029e-01 1.041 0.29779
## data$Searchstim toy 1.621e-01 5.559e-01 0.292 0.77060
## data$Searchstress toys 1.470e+01 1.029e+03 0.014 0.98860
## data$Searchstretchy toys 2.775e-01 3.956e-01 0.702 0.48299
## data$SearchToys for kid 6.683e-01 4.151e-01 1.610 0.10737
## data$total.imp 1.472e-04 7.848e-05 1.876 0.06070 .
## data$total.click30-40 -1.652e+00 6.192e-01 -2.668 0.00764 **
## data$total.click40-50 -2.014e-01 8.080e-01 -0.249 0.80316
## data$total.click50-60 -1.264e+00 7.295e-01 -1.733 0.08316 .
## data$total.click60-70 -1.779e+00 9.838e-01 -1.809 0.07052 .
## data$total.click70-80 -1.469e+00 8.279e-01 -1.774 0.07611 .
## data$total.click80-90 -5.322e-01 1.252e+00 -0.425 0.67079
## data$total.click90-100 -2.413e+00 1.602e+00 -1.507 0.13193
## data$total.clickLess than 10 -1.579e-01 4.351e-01 -0.363 0.71661
## data$total.clickMore than 100 -1.877e+00 9.125e-01 -2.057 0.03971 *
## data$total.clickOct-20 -3.140e-01 4.571e-01 -0.687 0.49223
## data$add.rate 7.522e-02 1.877e-02 4.006 6.17e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1094.05 on 914 degrees of freedom
## Residual deviance: 984.07 on 884 degrees of freedom
## AIC: 1046.1
##
## Number of Fisher Scoring iterations: 14
Kiểm định sự phù hợp của mô hình Giả thuyết:
\(H_0\): Mô hình không phù hợp \(H_1\): Mô hình phù hợp
mh2test <- anova(model2, test = "Chisq")
#Lấy giá trị Prob (LR Statistic)
pvalue <- mh2test$Pr[2]
pvalue
## [1] 0.03884817
Qua kết quả kiểm định cho thấy giá trị pvalue = 0.0388 < 5% vì vậy bác bỏ giả thuyết H0 nên mô hình phù hợp với dữ liệu.
set.seed(1)
model3 <- glm(data = data, formula = factor(data$Purchase) ~ data$Gender + data$Age + data$Search + data$total.imp + data$total.click + data$add.rate, family = binomial(link = "probit"))
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
levels(factor(data$Purchase))
## [1] "0" "1"
summary(model3)
##
## Call:
## glm(formula = factor(data$Purchase) ~ data$Gender + data$Age +
## data$Search + data$total.imp + data$total.click + data$add.rate,
## family = binomial(link = "probit"), data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 4.039e-01 2.788e-01 1.449 0.14741
## data$GenderMale 1.942e-01 9.448e-02 2.056 0.03981 *
## data$Age30-40 -2.120e-01 1.178e-01 -1.799 0.07198 .
## data$Age40-50 1.238e-02 1.363e-01 0.091 0.92762
## data$Age50-60 -3.334e-01 1.604e-01 -2.079 0.03763 *
## data$AgeLess than 20 4.583e+00 1.233e+02 0.037 0.97033
## data$AgeMore than 60 4.366e+00 3.768e+02 0.012 0.99075
## data$Searchautism sensory toys 1.735e-01 1.464e-01 1.185 0.23582
## data$Searchbunmo store -1.489e-01 2.574e-01 -0.579 0.56285
## data$Searchcalm corner items 1.032e+00 3.998e-01 2.583 0.00980 **
## data$Searchfidget 1.134e-01 2.314e-01 0.490 0.62419
## data$SearchGifts -1.458e-01 3.780e-01 -0.386 0.69977
## data$SearchOthers 5.069e-01 4.649e-01 1.090 0.27556
## data$Searchsensroy toys -1.464e+00 6.879e-01 -2.128 0.03333 *
## data$Searchspecial needs toys 3.027e-01 2.991e-01 1.012 0.31150
## data$Searchstim toy 1.048e-01 3.368e-01 0.311 0.75571
## data$Searchstress toys 4.677e+00 2.664e+02 0.018 0.98599
## data$Searchstretchy toys 1.617e-01 2.378e-01 0.680 0.49642
## data$SearchToys for kid 3.941e-01 2.450e-01 1.608 0.10777
## data$total.imp 8.945e-05 4.543e-05 1.969 0.04898 *
## data$total.click30-40 -1.041e+00 3.669e-01 -2.838 0.00455 **
## data$total.click40-50 -8.762e-02 4.677e-01 -0.187 0.85138
## data$total.click50-60 -7.615e-01 4.384e-01 -1.737 0.08241 .
## data$total.click60-70 -1.090e+00 6.002e-01 -1.817 0.06926 .
## data$total.click70-80 -8.731e-01 4.947e-01 -1.765 0.07759 .
## data$total.click80-90 -2.977e-01 7.220e-01 -0.412 0.68010
## data$total.click90-100 -1.468e+00 9.862e-01 -1.489 0.13654
## data$total.clickLess than 10 -8.958e-02 2.520e-01 -0.356 0.72219
## data$total.clickMore than 100 -1.138e+00 5.464e-01 -2.083 0.03721 *
## data$total.clickOct-20 -1.872e-01 2.665e-01 -0.702 0.48240
## data$add.rate 4.130e-02 9.670e-03 4.271 1.95e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1094.05 on 914 degrees of freedom
## Residual deviance: 983.57 on 884 degrees of freedom
## AIC: 1045.6
##
## Number of Fisher Scoring iterations: 14
Kiểm định sự phù hợp của mô hình
Giả thuyết:
\(H_0\): Mô hình không phù hợp
\(H_1\): Mô hình phù hợp
mh3test <- anova(model3, test = "Chisq")
#Lấy giá trị Prob (LR Statistic)
pvalue <- mh3test$Pr[2]
pvalue
## [1] 0.03884817
Qua kết quả kiểm định cho thấy giá trị pvalue = 0.0388 < 5% vì vậy bác bỏ giả thuyết H0 nên mô hình phù hợp với dữ liệu.
set.seed(1)
model4 <- glm(data = data, formula = factor(data$Purchase) ~ data$Gender + data$Age + data$Search + data$total.imp + data$total.click + data$add.rate, family = binomial(link = "cloglog"))
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
levels(factor(data$Purchase))
## [1] "0" "1"
summary(model4)
##
## Call:
## glm(formula = factor(data$Purchase) ~ data$Gender + data$Age +
## data$Search + data$total.imp + data$total.click + data$add.rate,
## family = binomial(link = "cloglog"), data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 1.389e-02 2.589e-01 0.054 0.95721
## data$GenderMale 1.972e-01 9.134e-02 2.159 0.03088 *
## data$Age30-40 -2.016e-01 1.131e-01 -1.783 0.07459 .
## data$Age40-50 6.847e-03 1.282e-01 0.053 0.95742
## data$Age50-60 -3.426e-01 1.602e-01 -2.138 0.03250 *
## data$AgeLess than 20 2.542e+00 3.282e+01 0.077 0.93825
## data$AgeMore than 60 2.295e+00 1.072e+02 0.021 0.98292
## data$Searchautism sensory toys 1.836e-01 1.477e-01 1.243 0.21399
## data$Searchbunmo store -1.416e-01 2.711e-01 -0.522 0.60147
## data$Searchcalm corner items 9.071e-01 3.156e-01 2.875 0.00405 **
## data$Searchfidget 1.403e-01 2.300e-01 0.610 0.54187
## data$SearchGifts -1.283e-01 4.119e-01 -0.311 0.75550
## data$SearchOthers 4.785e-01 4.040e-01 1.184 0.23627
## data$Searchsensroy toys -1.857e+00 1.043e+00 -1.780 0.07503 .
## data$Searchspecial needs toys 2.700e-01 2.857e-01 0.945 0.34461
## data$Searchstim toy 1.337e-01 3.317e-01 0.403 0.68685
## data$Searchstress toys 2.573e+00 7.579e+01 0.034 0.97292
## data$Searchstretchy toys 1.616e-01 2.316e-01 0.698 0.48533
## data$SearchToys for kid 3.654e-01 2.307e-01 1.584 0.11320
## data$total.imp 1.016e-04 4.994e-05 2.035 0.04183 *
## data$total.click30-40 -1.147e+00 3.844e-01 -2.985 0.00283 **
## data$total.click40-50 -5.116e-02 4.173e-01 -0.123 0.90243
## data$total.click50-60 -7.749e-01 4.488e-01 -1.727 0.08422 .
## data$total.click60-70 -1.157e+00 6.637e-01 -1.743 0.08135 .
## data$total.click70-80 -8.631e-01 5.076e-01 -1.700 0.08905 .
## data$total.click80-90 -3.067e-01 6.433e-01 -0.477 0.63350
## data$total.click90-100 -1.620e+00 1.127e+00 -1.438 0.15043
## data$total.clickLess than 10 -5.339e-02 2.286e-01 -0.234 0.81531
## data$total.clickMore than 100 -1.287e+00 6.181e-01 -2.083 0.03728 *
## data$total.clickOct-20 -1.549e-01 2.425e-01 -0.639 0.52286
## data$add.rate 3.642e-02 7.826e-03 4.654 3.26e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1094.05 on 914 degrees of freedom
## Residual deviance: 981.65 on 884 degrees of freedom
## AIC: 1043.7
##
## Number of Fisher Scoring iterations: 13
Kiểm định sự phù hợp của mô hình
Giả thuyết:
\(H_0\): Mô hình không phù hợp
\(H_1\): Mô hình phù hợp
mh4test <- anova(model4, test = "Chisq")
#Lấy giá trị Prob (LR Statistic)
pvalue <- mh4test$Pr[2]
pvalue
## [1] 0.03884817
Qua kết quả kiểm định cho thấy giá trị pvalue = 0.0388 < 5% vì vậy bác bỏ giả thuyết H0 nên mô hình phù hợp với dữ liệu.
Để đánh giá các mô hình hồi quy trên ta sẽ sử dụng thêm những tiêu chí sau để lựa chọn mô hình phù hợp vì sau khi thực hiện kiểm định sự phù hợp của cả 3 mô hình: logit, probit và cloglog đều cho ra kết quả mô hình phù hợp với dữ liệu.
aic1 <- AIC(model2)
aic2 <- AIC(model3)
aic3 <- AIC(model4)
AIC <- cbind(aic1,aic2,aic3)
AIC
## aic1 aic2 aic3
## [1,] 1046.069 1045.571 1043.652
AIC(logit) = 1046.069
AIC(probit) = 1045.571
AIC(cloglog) = 1043.652
Mô hình cloglog có AIC nhỏ nhất nên ta chọn mô hình này.
de1 <- deviance(model2)
de2 <- deviance(model3)
de3 <- deviance(model4)
deviance <- cbind(de1,de2,de3)
deviance
## de1 de2 de3
## [1,] 984.0691 983.5708 981.652
Deviance(logit) = 984.0691
Deviance(probit) = 983.5708
Deviance(cloglog) = 981.652
Mô hình Cloglog có Deviance nhỏ nhất nên ta chọn mô hình này.
Trong 3 tiêu chí trên ta thấy các giá trị AIC, Deviance và BrierScore của mô hình cloglog là nhỏ nhất, tức là mô hình cloglog là mô hình phù hợp nhất trong cả 3 mô hình.
library(caret)
## Warning: package 'caret' was built under R version 4.3.1
## Loading required package: lattice
predictions <- predict(model2, newdata = model2$data, type = "response")
predicted_classes <- ifelse(predictions > 0.5, "1", "0")
predictions1<-factor(predicted_classes, levels = c("0","1"))
actual<- factor(model2$data$Purchase, labels = c("0","1"))
confusionMatrix(table(predictions1, actual))
## Confusion Matrix and Statistics
##
## actual
## predictions1 0 1
## 0 22 23
## 1 239 631
##
## Accuracy : 0.7137
## 95% CI : (0.6832, 0.7428)
## No Information Rate : 0.7148
## P-Value [Acc > NIR] : 0.5458
##
## Kappa : 0.0654
##
## Mcnemar's Test P-Value : <2e-16
##
## Sensitivity : 0.08429
## Specificity : 0.96483
## Pos Pred Value : 0.48889
## Neg Pred Value : 0.72529
## Prevalence : 0.28525
## Detection Rate : 0.02404
## Detection Prevalence : 0.04918
## Balanced Accuracy : 0.52456
##
## 'Positive' Class : 0
##
Mô hình logit có độc chính xác toàn thể là 71.37%, độ nhạy là 8.43% và độ hiệu quả là 96.48%.
predictions <- predict(model3, newdata = model3$data, type = "response")
predicted_classes <- ifelse(predictions > 0.5, "1", "0")
predictions1<-factor(predicted_classes, levels = c("0","1"))
actual<- factor(model3$data$Purchase, labels = c("0","1"))
confusionMatrix(table(predictions1, actual))
## Confusion Matrix and Statistics
##
## actual
## predictions1 0 1
## 0 23 23
## 1 238 631
##
## Accuracy : 0.7148
## 95% CI : (0.6843, 0.7438)
## No Information Rate : 0.7148
## P-Value [Acc > NIR] : 0.5167
##
## Kappa : 0.0704
##
## Mcnemar's Test P-Value : <2e-16
##
## Sensitivity : 0.08812
## Specificity : 0.96483
## Pos Pred Value : 0.50000
## Neg Pred Value : 0.72612
## Prevalence : 0.28525
## Detection Rate : 0.02514
## Detection Prevalence : 0.05027
## Balanced Accuracy : 0.52648
##
## 'Positive' Class : 0
##
Mô hình probit có độc chính xác toàn thể là 71.48%, độ nhạy là 8.81% và độ hiệu quả là 96.48%.
predictions <- predict(model4, newdata = model4$data, type = "response")
predicted_classes <- ifelse(predictions > 0.5, "1", "0")
predictions1<-factor(predicted_classes, levels = c("0","1"))
actual<- factor(model4$data$Purchase, labels = c("0","1"))
confusionMatrix(table(predictions1, actual))
## Confusion Matrix and Statistics
##
## actual
## predictions1 0 1
## 0 21 19
## 1 240 635
##
## Accuracy : 0.7169
## 95% CI : (0.6865, 0.7459)
## No Information Rate : 0.7148
## P-Value [Acc > NIR] : 0.4583
##
## Kappa : 0.0689
##
## Mcnemar's Test P-Value : <2e-16
##
## Sensitivity : 0.08046
## Specificity : 0.97095
## Pos Pred Value : 0.52500
## Neg Pred Value : 0.72571
## Prevalence : 0.28525
## Detection Rate : 0.02295
## Detection Prevalence : 0.04372
## Balanced Accuracy : 0.52570
##
## 'Positive' Class : 0
##
Mô hình logit có độc chính xác toàn thể là 71.69%, độ nhạy là 8.05% và độ hiệu quả là 97.095%.
Dựa vào kết quả trên có thể thấy mô hình probit có độ nhạy cao nhất và mô hình cloglog có độ chính xác toàn thể và độ hiệu quả là cao nhất trong cả 3 mô hình, vì vậy mô hình lựa chọn là mô hình cloglog.
Kết luận: Dựa vào 4 tiêu chuẩn ta thấy mô hình cloglog là mô hình được lựa chọn nhiều nhất do đó MH cloglog được lựa chọn để phân tích quyết định mua hàng sau khi xem quảng cáo của khách hàng.
summary(model4)
##
## Call:
## glm(formula = factor(data$Purchase) ~ data$Gender + data$Age +
## data$Search + data$total.imp + data$total.click + data$add.rate,
## family = binomial(link = "cloglog"), data = data)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 1.389e-02 2.589e-01 0.054 0.95721
## data$GenderMale 1.972e-01 9.134e-02 2.159 0.03088 *
## data$Age30-40 -2.016e-01 1.131e-01 -1.783 0.07459 .
## data$Age40-50 6.847e-03 1.282e-01 0.053 0.95742
## data$Age50-60 -3.426e-01 1.602e-01 -2.138 0.03250 *
## data$AgeLess than 20 2.542e+00 3.282e+01 0.077 0.93825
## data$AgeMore than 60 2.295e+00 1.072e+02 0.021 0.98292
## data$Searchautism sensory toys 1.836e-01 1.477e-01 1.243 0.21399
## data$Searchbunmo store -1.416e-01 2.711e-01 -0.522 0.60147
## data$Searchcalm corner items 9.071e-01 3.156e-01 2.875 0.00405 **
## data$Searchfidget 1.403e-01 2.300e-01 0.610 0.54187
## data$SearchGifts -1.283e-01 4.119e-01 -0.311 0.75550
## data$SearchOthers 4.785e-01 4.040e-01 1.184 0.23627
## data$Searchsensroy toys -1.857e+00 1.043e+00 -1.780 0.07503 .
## data$Searchspecial needs toys 2.700e-01 2.857e-01 0.945 0.34461
## data$Searchstim toy 1.337e-01 3.317e-01 0.403 0.68685
## data$Searchstress toys 2.573e+00 7.579e+01 0.034 0.97292
## data$Searchstretchy toys 1.616e-01 2.316e-01 0.698 0.48533
## data$SearchToys for kid 3.654e-01 2.307e-01 1.584 0.11320
## data$total.imp 1.016e-04 4.994e-05 2.035 0.04183 *
## data$total.click30-40 -1.147e+00 3.844e-01 -2.985 0.00283 **
## data$total.click40-50 -5.116e-02 4.173e-01 -0.123 0.90243
## data$total.click50-60 -7.749e-01 4.488e-01 -1.727 0.08422 .
## data$total.click60-70 -1.157e+00 6.637e-01 -1.743 0.08135 .
## data$total.click70-80 -8.631e-01 5.076e-01 -1.700 0.08905 .
## data$total.click80-90 -3.067e-01 6.433e-01 -0.477 0.63350
## data$total.click90-100 -1.620e+00 1.127e+00 -1.438 0.15043
## data$total.clickLess than 10 -5.339e-02 2.286e-01 -0.234 0.81531
## data$total.clickMore than 100 -1.287e+00 6.181e-01 -2.083 0.03728 *
## data$total.clickOct-20 -1.549e-01 2.425e-01 -0.639 0.52286
## data$add.rate 3.642e-02 7.826e-03 4.654 3.26e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1094.05 on 914 degrees of freedom
## Residual deviance: 981.65 on 884 degrees of freedom
## AIC: 1043.7
##
## Number of Fisher Scoring iterations: 13
Kết quả phân tích hồi quy Cloglog cho thấy, 30 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ó 12 biến độc lập có ý nghĩa thống kê bao gồm:
Giới tính nam (GenderMale)
Độ tuổi từ 30-40 (Age30-40)
Độ tuổi từ 50-60 (Age50-60)
Từ khóa tìm kiếm “calm corner items” (Searchcalm corner items)
Từ khóa tìm kiếm “sensroy toys” (Searchsensroy toys)
Số lần quảng cáo được hiển thị cho khách hàng trong kết quả tìm kiếm (total.imp)
số lần nhấp vào xem quảng cáo từ 30-40 lần (total.click30-40)
số lần nhấp vào xem quảng cáo từ 50-60 lần (total.click50-60)
số lần nhấp vào xem quảng cáo từ 60-70 lần (total.click60-70)
số lần nhấp vào xem quảng cáo từ 70-80 lần (total.click70-80)
số lần nhấp vào xem quảng cáo trên 100 lần (total.clickMore than 100)
Tỷ lệ thêm vào giỏ hàng (add.rate)
Với giả thuyết các yếu tố khác không đổi, ảnh hưởng của từng biến đến biến phụ thuộc (quyết định mua hàng sau khi xem quảng cáo) được giải thích như sau:
Biến giới tính trong mô hình có ý nghĩa thống kê đối với quyết định mua hàng sau khi xem quảng cáo của khách hàng, ở mức ý nghĩa 5% thì khách hàng nam sẽ có xác suất quyết định mua hàng cao hơn 54.92% so với khách hàng nữ.
Độ tuổi khác nhau của khách hàng sẽ có tác động khác nhau đến quyết định mua hàng sau khi xem quảng cáo. Cụ thể tại mức ý nghĩa 10%, khách hàng có độ tuổi từ 30-40 tuổi sẽ có quyết định mua hàng sau khi xem quảng cáo cao hơn 44.98% khách hàng trong độ tuổi 40-50. Bên cạnh đó, khách hàng có độ tuổi từ 50-60 thì xác suất quyết định mua hàng sau khi xem quảng cáo cao hơn 41.52% so với khách hàng trong độ tuổi 40-50.
Từ khóa tìm kiếm cũng có ảnh hưởng đến quyết định mua hàng sau khi xem quảng cáo của khách hàng, cụ thể tại mức ý nghĩa 1%, khách hàng tìm kiếm từ khóa “calm corner items” cao hơn 71.24% các từ khóa khác. Đồng thời, khách hàng tìm kiếm từ khóa “sensory toys” cũng có quyết định mua hàng sau khi xem quảng cáo cao hơn 13.5% với mức ý nghĩa 10%.
Bên cạnh đó, biến Số lần quảng cáo được hiển thị cho khách hàng trong kết quả tìm kiếm (total.imp) và tỷ lệ thêm vào giỏ hàng (add.cart) cũng có những tác động tích cực, cùng chiều đến quyết định mua hàng sau khi xem quảng cáo của khách hàng.
Số lần nhấp xem quảng cáo cũng có ảnh hưởng đáng kể đến quyết định mua hàng sau khi xem quảng cáo của khách hàng, số lần nhấp xem quảng cáo càng nhiều chứng tỏ khách hàng càng có nhu cầu tìm kiếm và mua sản phẩm. Cụ thể, số lần nhấp xem quảng cáo từ 50-60,60-70 và 70-80 có ý nghĩa thống kê tại mức ý nghĩa 10%, số lần nhấp xem quảng cáo nhiều hơn 100 lần có ý nghĩa thống kê tại mức ý nghĩa 5%,số lần nhấp xem quảng cáo từ 30-40 có ý nghĩa thống kê tại mức ý nghĩa 1%.
confint.default(model4)
## 2.5 % 97.5 %
## (Intercept) -4.935135e-01 5.212936e-01
## data$GenderMale 1.814961e-02 3.762111e-01
## data$Age30-40 -4.232377e-01 2.001376e-02
## data$Age40-50 -2.444824e-01 2.581767e-01
## data$Age50-60 -6.566377e-01 -2.855104e-02
## data$AgeLess than 20 -6.177844e+01 6.686336e+01
## data$AgeMore than 60 -2.078301e+02 2.124199e+02
## data$Searchautism sensory toys -1.059512e-01 4.730681e-01
## data$Searchbunmo store -6.729549e-01 3.897647e-01
## data$Searchcalm corner items 2.886094e-01 1.525571e+00
## data$Searchfidget -3.104316e-01 5.909682e-01
## data$SearchGifts -9.355037e-01 6.789932e-01
## data$SearchOthers -3.133428e-01 1.270295e+00
## data$Searchsensroy toys -3.900931e+00 1.874129e-01
## data$Searchspecial needs toys -2.899254e-01 8.299125e-01
## data$Searchstim toy -5.164299e-01 7.838872e-01
## data$Searchstress toys -1.459731e+02 1.511188e+02
## data$Searchstretchy toys -2.923552e-01 6.155849e-01
## data$SearchToys for kid -8.672156e-02 8.174313e-01
## data$total.imp 3.759391e-06 1.995108e-04
## data$total.click30-40 -1.900798e+00 -3.941482e-01
## data$total.click40-50 -8.691268e-01 7.667976e-01
## data$total.click50-60 -1.654489e+00 1.046675e-01
## data$total.click60-70 -2.457639e+00 1.440771e-01
## data$total.click70-80 -1.857900e+00 1.317309e-01
## data$total.click80-90 -1.567515e+00 9.540782e-01
## data$total.click90-100 -3.829056e+00 5.881649e-01
## data$total.clickLess than 10 -5.014115e-01 3.946251e-01
## data$total.clickMore than 100 -2.498818e+00 -7.587760e-02
## data$total.clickOct-20 -6.302181e-01 3.203403e-01
## data$add.rate 2.107974e-02 5.175573e-02
prediction <- predict(model4, newdata = model4$data, type = "response")
head(round(prediction,4),10)
## 1 2 3 4 5 6 7 8 9 10
## 0.5811 0.9999 0.6252 0.9648 0.6201 0.6181 0.9609 0.6267 0.5474 0.6236
Qua kết quả phân tích trên ta có thể thấy quyết định mua hàng sau khi xem quảng cáo của khách hàng chịu tác động bởi nhiều yếu tố như: giới tính, độ tuổi, từ khóa tìm kiếm, Số lần quảng cáo được hiển thị cho khách hàng trong kết quả tìm kiếm, số lần nhấp vào xem quảng cáo và tỷ lệ thêm vào giỏ hàng.
Do hạn chế về mặt thời gian cũng như khả năng về năng lực nghiên cứu nên tác giả chỉ thực hiện được với số mẫu hạn chế và đối tượng khảo sát chỉ mang tính chất đại diện, chưa mang tính chất khái quát
Phạm vi nghiên cứu của tác giả chỉ tập trung vào một số yếu tố ảnh hưởng đến quyết định mua hàng sau khi xem quảng cáo của khách hàng như độ tuổi, thu nhập, giới tính, từ khóa tìm kiếm, số lần nhấp xem quảng cáo, tỷ lệ thêm vào giỏ hàng… Do đó, các nghiên cứu tiếp theo có thể xem xét thêm các yếu tố về sở thích, ngành nghê, công việc, tình trạng hôn nhân của khách hàng để có thể đưa ra được kết quả khả quan và đầy đủ hơn nhằm cải thiện chiến dịch quảng cáo phù hợp với nhu cầu của khách hàng từ đó thúc đẩy doanh thu của công ty.