Báo cáo đẹp mà không ai hành động thì vô ích. Bài này xây một agent đọc dữ liệu chiến dịch → tìm insight → đề xuất hành động cụ thể, không chỉ liệt kê con số.
Kéo dữ liệu từ nhiều nguồn
Một chiến dịch chạy qua nhiều nền tảng: quảng cáo, GA, email, CRM. Agent cần tool đọc từng nguồn rồi hợp nhất theo campaign_id:
def gather(campaign_id):
return {
"ads": ads_api.metrics(campaign_id), # spend, impressions, clicks
"web": ga_api.sessions(campaign_id), # sessions, bounce, conv
"email": esp_api.stats(campaign_id), # open, ctr
"sales": crm_api.revenue(campaign_id) # đơn, doanh thu
}
Đừng để agent tự tính toán số học nặng
Model không đáng tin khi làm phép tính trên dữ liệu lớn. Nguyên tắc: code tính chỉ số, model diễn giải. Tính ROAS, CAC, CTR bằng code; đưa kết quả đã tính cho model để nó giải thích và đề xuất.
def kpis(d):
roas = d["sales"]["revenue"] / d["ads"]["spend"]
cac = d["ads"]["spend"] / max(d["sales"]["orders"],1)
ctr = d["ads"]["clicks"] / max(d["ads"]["impressions"],1)
return {"roas":round(roas,2),"cac":round(cac),"ctr":round(ctr,4)}
Khung diễn giải: SO-WHAT-NOW
Ép agent trả lời theo cấu trúc để insight luôn dẫn tới hành động:
- SO (Số liệu): điều gì đã xảy ra? "ROAS 2.1, giảm 30% so tuần trước."
- WHAT (Vì sao): giả thuyết nguyên nhân. "CTR ổn nhưng conversion rate rớt → nghi vấn landing page hoặc giá."
- NOW (Hành động): đề xuất cụ thể, đo được. "A/B test lại headline landing; kiểm tra tốc độ tải mobile."
prompt: "Với KPI sau {kpis} và mốc so sánh tuần trước {prev},
trả về JSON danh sách insight, mỗi item {so, what, now, confidence}.
Chỉ nêu điều dữ liệu chứng minh được; nếu không chắc, ghi confidence thấp."
Phát hiện bất thường (anomaly)
Cho agent so với ngưỡng/đường nền để cảnh báo sớm:
if ctr < baseline_ctr * 0.6: alert("CTR rớt bất thường")
if cac > target_cac * 1.3: alert("CAC vượt ngưỡng")
Ngưỡng nên do con người đặt; agent chỉ giám sát và giải thích. Một cảnh báo tốt phải kèm ngữ cảnh: không chỉ "CTR rớt" mà "CTR rớt 40% so với 4 tuần gần nhất, tập trung ở nhóm quảng cáo A" — như vậy người nhận biết ngay nên nhìn vào đâu.
Tránh bẫy tương quan giả
Dữ liệu marketing đầy tương quan giả. Doanh thu tăng cùng lúc bạn đăng nhiều hơn chưa chắc do đăng nhiều — có thể do mùa lễ, do đối thủ hết hàng, do một KOL vô tình nhắc tới bạn. Ép agent luôn nêu giả thuyết thay thế trước khi kết luận nhân quả, và gợi ý cách kiểm chứng (thường là một thử nghiệm A/B có kiểm soát). Model rất dễ đưa ra câu chuyện nhân quả nghe xuôi tai nhưng sai; nhiệm vụ của bạn là ràng buộc nó khiêm tốn với dữ liệu.
Các bước triển khai
- Liệt kê nguồn dữ liệu và viết tool đọc từng nguồn.
- Viết hàm
kpis()bằng code cho mọi chỉ số quan trọng. - Thiết lập baseline/target cho từng chỉ số.
- Ép model diễn giải theo SO-WHAT-NOW, kèm confidence.
- Thêm cảnh báo anomaly theo ngưỡng.
- Xuất báo cáo hành động (ưu tiên theo tác động), gửi cho người quyết định.
Checklist báo cáo hữu ích
- [ ] Chỉ số tính bằng code, không phải model tự tính
- [ ] Mỗi insight có đề xuất hành động cụ thể
- [ ] Có mốc so sánh (tuần trước, mục tiêu)
- [ ] Gắn confidence, không khẳng định điều chưa chắc
- [ ] Sắp xếp theo tác động, không dàn trải
- [ ] Không suy nhân quả từ tương quan đơn thuần
Sai lầm thường gặp
- Để model tính toán trên dữ liệu thô: sai số cộng dồn, ra kết luận lệch. Luôn tính bằng code.
- Báo cáo chỉ liệt kê số: thiếu "nên làm gì" khiến báo cáo vô dụng. Bắt buộc phần NOW.
- Nhầm tương quan với nhân quả: "đăng nhiều hơn nên doanh thu tăng" có thể do mùa vụ. Agent phải thận trọng.
- Không có baseline: không có mốc so sánh thì mọi con số vô nghĩa.
- Quá tự tin: model khẳng định chắc nịch điều dữ liệu không đủ chứng minh. Bắt buộc trường confidence.