[ad_1]
Chào mừng bạn đến với loạt bài của tôi về AI nhân quả, nơi chúng ta sẽ khám phá sự tích hợp lý luận nhân quả vào các mô hình học máy. Mong đợi khám phá một số ứng dụng thực tế trên các bối cảnh kinh doanh khác nhau.
Trong bài viết trước chúng tôi đã đề cập tối ưu hóa hiệu quả can thiệp phi tuyến tính trong việc định giá và khuyến mãi. Lần này chúng tôi sẽ đề cập đến đo lường ảnh hưởng nhân quả nội tại của các chiến dịch tiếp thị của bạn.
Nếu bạn bỏ lỡ bài viết trước về tác dụng điều trị phi tuyến tính trong giá cả và khuyến mãi, hãy xem tại đây:
Trong bài viết này, tôi sẽ giúp bạn hiểu cách bạn có thể đo lường ảnh hưởng nhân quả nội tại của các chiến dịch tiếp thị của mình.
Các khía cạnh sau đây sẽ được đề cập:
- Những thách thức khi nói đến đo lường tiếp thị là gì?
- Ảnh hưởng nhân quả nội tại là gì và nó hoạt động như thế nào?
- Một nghiên cứu điển hình đã hoạt động bằng Python cho thấy cách chúng ta có thể sử dụng ảnh hưởng nhân quả nội tại để mang lại cho các chiến dịch tiếp thị sự tín nhiệm xứng đáng.
Sổ ghi chép đầy đủ có thể được tìm thấy ở đây:
Các loại chiến dịch tiếp thị khác nhau là gì?
Các tổ chức sử dụng tiếp thị để phát triển hoạt động kinh doanh của mình bằng cách thu hút khách hàng mới và giữ chân những khách hàng hiện có. Các chiến dịch tiếp thị thường được chia thành 3 loại chính:
- Thương hiệu
- Hiệu suất
- Giữ lại
Mỗi người đều có những thách thức riêng khi đo lường — Hiểu được những thách thức này là rất quan trọng.
Chiến dịch thương hiệu
Mục đích của chiến dịch thương hiệu là nâng cao nhận thức về thương hiệu của bạn ở đối tượng mới. Chúng thường được chạy trên TV và mạng xã hội, sau này thường ở dạng video. Họ thường không có lời kêu gọi hành động trực tiếp, ví dụ: “sản phẩm của chúng tôi sẽ tồn tại suốt đời”.
Thách thức với việc đo lường TV là hiển nhiên ngay lập tức — Chúng tôi không thể theo dõi xem ai đã xem quảng cáo TV! Nhưng chúng tôi cũng có những thách thức tương tự khi nói đến mạng xã hội – Nếu tôi xem video trên Fb rồi truy cập trang net một cách tự nhiên và mua sản phẩm vào ngày hôm sau thì rất khó có khả năng chúng tôi có thể gắn kết hai sự kiện này với nhau.
Ngoài ra còn có một thách thức thứ hai là hiệu ứng bị trì hoãn. Khi nâng cao nhận thức ở đối tượng mới, có thể mất vài ngày/tuần/tháng để họ cân nhắc mua sản phẩm của bạn.
Có một lập luận gây tranh cãi rằng các chiến dịch thương hiệu thực hiện tất cả công việc khó khăn – Tuy nhiên, khi nói đến đo lường tiếp thị, chúng thường bị đánh giá thấp vì một số thách thức mà chúng tôi đã nêu ở trên.
Chiến dịch hiệu suất
Nhìn chung, các chiến dịch hiệu suất nhằm vào khách hàng đang cân nhắc mua sản phẩm của bạn. Họ chạy trên các kênh tìm kiếm có trả tiền, mạng xã hội và liên kết. Họ thường có lời kêu gọi hành động, ví dụ: “nhấp ngay để được giảm giá 5% cho lần mua hàng đầu tiên của bạn”.
Khi nói đến các chiến dịch hiệu suất, người ta không thể hiểu ngay tại sao chúng lại khó đo lường. Rất có thể chúng tôi sẽ có thể liên kết sự kiện khách hàng nhấp vào chiến dịch hiệu suất và khách hàng đó mua hàng vào ngày hôm đó.
Nhưng liệu họ có nhấp vào nếu họ chưa quen với thương hiệu này không? Họ làm quen với thương hiệu này như thế nào? Nếu chúng tôi không cho họ xem chiến dịch, liệu họ có mua hàng tự nhiên không? Đây là những câu hỏi khó trả lời từ góc độ khoa học dữ liệu!
Chiến dịch giữ chân
Loại chiến dịch khác là giữ chân. Đây là hoạt động tiếp thị nhằm mục đích giữ chân khách hàng hiện tại. Chúng tôi thường có thể chạy thử nghiệm AB để đo lường các chiến dịch này.
Biểu đồ tiếp thị chuyển đổi
Người ta thường gọi các chiến dịch thương hiệu và hiệu suất là tiếp thị thu hút. Như tôi đã đề cập trước đó, việc đo lường các chiến dịch thương hiệu và hiệu suất là một thách thức – Chúng tôi thường đánh giá thấp các chiến dịch thương hiệu và đánh giá quá cao các chiến dịch hiệu suất.
Biểu đồ bên dưới là một ví dụ thúc đẩy (nhưng được đơn giản hóa) về cách hoạt động của tiếp thị chuyển đổi:
Làm thế nào chúng ta có thể (một cách công bằng) ước tính mỗi nút đóng góp bao nhiêu vào doanh thu? Đây là nơi mà ảnh hưởng nhân quả nội tại xuất hiện – Hãy cùng tìm hiểu xem nó là gì trong phần tiếp theo!
Khái niệm này đến từ đâu?
Khái niệm này ban đầu được đề xuất trong một bài báo vào năm 2020:
Nó được triển khai trong mô-đun GCM trong gói python Do Why:
Cá nhân tôi thấy khái niệm này ban đầu khá khó nắm bắt, vì vậy trong phần tiếp theo, hãy chia nhỏ nó ra từng bước.
Tóm tắt về đồ thị nhân quả
Trước khi cố gắng tìm hiểu ảnh hưởng nhân quả nội tại, điều quan trọng là phải hiểu rõ về biểu đồ nhân quả, mô hình nhân quả cấu trúc (SCM) và mô hình nhiễu phụ gia (ANM). Bài viết trước đó của tôi trong loạt bài này sẽ giúp bạn cập nhật nhanh hơn:
Xin nhắc lại, mỗi nút trong biểu đồ nhân quả có thể được xem là mục tiêu trong mô hình trong đó nút cha trực tiếp của nó được sử dụng làm đối tượng địa lý. Người ta thường sử dụng mô hình nhiễu phụ gia cho mỗi nút không phải gốc:
Ảnh hưởng nhân quả nội tại thực sự là gì?
Bây giờ chúng ta đã tóm tắt lại biểu đồ nhân quả, hãy bắt đầu hiểu ảnh hưởng nhân quả nội tại thực sự là gì…
Định nghĩa từ điển của nội tại là “thuộc về một cách tự nhiên”. Trong đầu tôi nghĩ đến một cái phễu và những thứ ở trên cùng của phễu đang thực hiện công việc nặng nhọc – Chúng tôi muốn gán cho chúng tác động nhân quả mà chúng xứng đáng có được.
Hãy lấy biểu đồ ví dụ bên dưới để giúp chúng ta bắt đầu tìm hiểu sâu hơn về ảnh hưởng nhân quả nội tại:
- A, B và C là các nút gốc.
- D là nút không phải gốc, chúng ta có thể lập mô hình bằng cách sử dụng nút cha trực tiếp (A, B, C) và thuật ngữ nhiễu.
- E là nút không phải gốc, tương tự như D, chúng ta có thể lập mô hình bằng cách sử dụng nút cha trực tiếp (A, B, C) và thuật ngữ nhiễu.
- F là nút mục tiêu của chúng tôi, chúng tôi có thể lập mô hình bằng cách sử dụng nút cha trực tiếp (D, E) và thuật ngữ nhiễu.
Hãy tập trung vào nút D. Nó kế thừa một số ảnh hưởng của nó lên nút F từ nút A, B và C. Phần nội tại của ảnh hưởng của nó đối với nút F xuất phát từ thuật ngữ nhiễu. Do đó, chúng tôi đang nói rằng thuật ngữ nhiễu của mỗi nút có thể được sử dụng để ước tính ảnh hưởng nhân quả nội tại lên nút mục tiêu. Điều đáng chú ý là các nút gốc chỉ được tạo thành từ tiếng ồn.
Trong trường hợp nghiên cứu này, chúng ta sẽ nghiên cứu sâu hơn về cách tính toán chính xác ảnh hưởng nhân quả nội tại.
Nó có thể giúp chúng tôi đo lường các chiến dịch tiếp thị của mình như thế nào?
Hy vọng rằng bạn đã có thể thấy mối liên hệ giữa ví dụ về tiếp thị chuyển đổi và ảnh hưởng nhân quả nội tại – Liệu ảnh hưởng nhân quả nội tại có thể giúp chúng ta ngừng đánh giá thấp các chiến dịch thương hiệu và ngừng đánh giá quá cao các chiến dịch hiệu suất không? Hãy cùng tìm hiểu trong nghiên cứu trường hợp!
Lý lịch
Sắp đến cuối năm và Giám đốc Tiếp thị đang phải chịu áp lực từ nhóm Tài chính để giải thích lý do tại sao cô ấy dự định chi nhiều như vậy cho hoạt động tiếp thị trong năm tới. Nhóm Tài chính sử dụng mô hình lượt nhấp cuối cùng trong đó doanh thu được tính cho nội dung cuối cùng mà khách hàng nhấp vào. Họ đặt câu hỏi tại sao họ thậm chí cần phải chi bất cứ thứ gì cho TV khi mọi người đều xem qua các kênh mạng xã hội hoặc tự nhiên!
Nhóm Khoa học dữ liệu có nhiệm vụ ước tính ảnh hưởng nhân quả nội tại của từng kênh tiếp thị.
Thiết lập đồ thị (DAG)
Chúng tôi bắt đầu bằng cách thiết lập DAG bằng kiến thức chuyên môn về miền, sử dụng lại ví dụ về chuyển đổi tiếp thị từ trước đó:
# Create node lookup for channels
node_lookup = {0: 'Demand',
1: 'TV spend',
2: 'Social spend',
3: 'Natural clicks',
4: 'Social clicks',
5: 'Income'
}total_nodes = len(node_lookup)
# Create adjacency matrix - that is the bottom for our graph
graph_actual = np.zeros((total_nodes, total_nodes))
# Create graph utilizing skilled area information
graph_actual(0, 3) = 1.0 # Demand -> Natural clicks
graph_actual(0, 4) = 1.0 # Demand -> Social clicks
graph_actual(1, 3) = 1.0 # Model spend -> Natural clicks
graph_actual(2, 3) = 1.0 # Social spend -> Natural clicks
graph_actual(1, 4) = 1.0 # Model spend -> Social clicks
graph_actual(2, 4) = 1.0 # Social spend -> Social clicks
graph_actual(3, 5) = 1.0 # Natural clicks -> Income
graph_actual(4, 5) = 1.0 # Social clicks -> Income
Về bản chất, mô hình lượt nhấp cuối cùng mà nhóm tài chính đang sử dụng chỉ sử dụng nguồn gốc trực tiếp của doanh thu để đo lường hoạt động tiếp thị.
Quá trình tạo dữ liệu
Chúng tôi tạo một số mẫu dữ liệu theo quy trình tạo dữ liệu của DAG:
- 3 nút gốc được tạo thành từ các thuật ngữ nhiễu; Nhu cầu, Chi tiêu thương hiệu và Chi tiêu xã hội.
- 2 nút không phải gốc, cả hai đều kế thừa ảnh hưởng từ 3 nút gốc cộng thêm một số thuật ngữ nhiễu; Nhấp chuột không phải trả tiền, Nhấp chuột xã hội.
- 1 nút mục tiêu, kế thừa ảnh hưởng từ 2 nút không phải gốc cộng với thuật ngữ nhiễu; Doanh thu
# Create dataframe with 1 column per code
df = pd.DataFrame(columns=node_lookup.values())# Setup information producing course of
df(node_lookup(0)) = np.random.regular(100000, 25000, measurement=(20000)) # Demand
df(node_lookup(1)) = np.random.regular(100000, 20000, measurement=(20000)) # Model spend
df(node_lookup(2)) = np.random.regular(100000, 25000, measurement=(20000)) # Social spend
df(node_lookup(3)) = 0.75 * df(node_lookup(0)) + 0.50 * df(node_lookup(1)) + 0.25 * df(node_lookup(2)) + np.random.regular(loc=0, scale=2000, measurement=20000) # Natural clicks
df(node_lookup(4)) = 0.30 * df(node_lookup(0)) + 0.50 * df(node_lookup(1)) + 0.70 * df(node_lookup(2)) + np.random.regular(100000, 25000, measurement=(20000)) # Social clicks
df(node_lookup(5)) = df(node_lookup(3)) + df(node_lookup(4)) + np.random.regular(loc=0, scale=2000, measurement=20000) # Income
Đào tạo SCM
Bây giờ chúng ta có thể huấn luyện SCM bằng mô-đun GCM từ gói Do Why của python. Chúng tôi thiết lập quy trình tạo dữ liệu với các mối quan hệ tuyến tính, do đó chúng tôi có thể sử dụng hồi quy sườn làm cơ chế nhân quả cho mỗi nút không phải gốc:
# Setup graph
graph = nx.from_numpy_array(graph_actual, create_using=nx.DiGraph)
graph = nx.relabel_nodes(graph, node_lookup)# Create SCM
causal_model = gcm.InvertibleStructuralCausalModel(graph)
causal_model.set_causal_mechanism('Demand', gcm.EmpiricalDistribution()) # Deamnd
causal_model.set_causal_mechanism('TV spend', gcm.EmpiricalDistribution()) # Model spend
causal_model.set_causal_mechanism('Social spend', gcm.EmpiricalDistribution()) # Social spend
causal_model.set_causal_mechanism('Natural clicks', gcm.AdditiveNoiseModel(gcm.ml.create_ridge_regressor())) # Natural clicks
causal_model.set_causal_mechanism('Social clicks', gcm.AdditiveNoiseModel(gcm.ml.create_ridge_regressor())) # Social clicks
causal_model.set_causal_mechanism('Income', gcm.AdditiveNoiseModel(gcm.ml.create_ridge_regressor())) # Income
gcm.match(causal_model, df)
Ảnh hưởng nhân quả nội tại
Chúng ta có thể dễ dàng tính toán ảnh hưởng nhân quả nội tại bằng mô-đun GCM. Chúng tôi làm như vậy và chuyển đổi các khoản đóng góp thành tỷ lệ phần trăm:
# calculate intrinsic causal affect
ici = gcm.intrinsic_causal_influence(causal_model, target_node='Income')def convert_to_percentage(value_dictionary):
total_absolute_sum = np.sum((abs(v) for v in value_dictionary.values()))
return {okay: spherical(abs(v) / total_absolute_sum * 100, 1) for okay, v in value_dictionary.gadgets()}
convert_to_percentage(ici)
Hãy hiển thị những điều này trên biểu đồ thanh:
# Convert dictionary to DataFrame
df = pd.DataFrame(checklist(ici.gadgets()), columns=('Node', 'Intrinsic Causal Affect'))# Create a bar plot
plt.determine(figsize=(10, 6))
sns.barplot(x='Node', y='Intrinsic Causal Affect', information=df)
# Rotate x labels for higher readability
plt.xticks(rotation=45)
plt.title('Bar Plot from Dictionary Information')
plt.present()
Kết quả của chúng tôi có trực quan không? Nếu bạn nhìn lại mã quy trình tạo dữ liệu, bạn sẽ thấy chúng đúng như vậy! Hãy chú ý đến những gì mỗi nút không phải gốc đang kế thừa và những tiếng ồn bổ sung nào đang được thêm vào.
Mô-đun ảnh hưởng nhân quả nội tại thực sự dễ sử dụng, nhưng nó không giúp chúng ta hiểu phương pháp đằng sau nó – Để kết thúc, hãy khám phá hoạt động bên trong của ảnh hưởng nhân quả nội tại!
Ảnh hưởng nhân quả nội tại – Nó hoạt động như thế nào?
Chúng tôi muốn ước tính số hạng nhiễu của mỗi nút đóng góp cho nút mục tiêu:
- Điều đáng ghi nhớ là các nút gốc chỉ được tạo thành từ một thuật ngữ nhiễu.
- Trong các nút không phải gốc, chúng tôi tách thuật ngữ nhiễu khỏi những gì được kế thừa từ nút cha.
- Chúng tôi cũng bao gồm thuật ngữ nhiễu từ nút mục tiêu – Điều này có thể được hiểu là sự đóng góp của các yếu tố gây nhiễu không được quan sát (mặc dù nó cũng có thể dẫn đến thông số kỹ thuật sai của mô hình).
- Sau đó, các thuật ngữ nhiễu được sử dụng để giải thích sự khác biệt trong nút mục tiêu – Đây có thể được xem như một mô hình với các thuật ngữ nhiễu là các tính năng và nút mục tiêu là kết quả.
- Mô hình được sử dụng để ước tính phân bố có điều kiện của nút mục tiêu cho các tập hợp con của các biến nhiễu.
- Shapley sau đó được sử dụng để ước tính sự đóng góp của từng thuật ngữ nhiễu – Nếu việc thay đổi thuật ngữ nhiễu ít tác động đến mục tiêu thì ảnh hưởng nhân quả nội tại sẽ rất nhỏ.
Hôm nay chúng tôi đã đề cập đến cách bạn có thể ước tính ảnh hưởng nhân quả nội tại của các chiến dịch tiếp thị của mình. Dưới đây là một số suy nghĩ kết thúc:
- Ảnh hưởng nhân quả nội tại là một khái niệm mạnh mẽ có thể được áp dụng cho nhiều trường hợp sử dụng khác nhau, không chỉ riêng hoạt động tiếp thị.
- Hiểu rõ hoạt động bên trong sẽ giúp bạn áp dụng hiệu quả hơn.
- Xác định DAG và ước tính chính xác biểu đồ là chìa khóa để có được ước tính ảnh hưởng nhân quả nội tại hợp lý.
- Trong ví dụ về mua lại hoạt động tiếp thị, bạn có thể muốn nghĩ đến việc thêm các hiệu ứng có độ trễ cho hoạt động tiếp thị thương hiệu.
[ad_2]
Source link