🧭
Workflow tách & đánh giá STD_Niche
Từ historical STD_Scale → TEST → audit → OFF hoặc GRADUATE
North-star KPI
Một đợt tách thành công khi tổng spend của cùng nhóm sản phẩm tăng, đồng thời ROAS tổng vẫn đạt BE. Không chấm đẹp/xấu theo từng campaign riêng nếu tổng item vẫn tốt.
ROAS tổng = Σ conversion value của nhóm sản phẩm trên mọi campaign ÷ Σ spend của nhóm sản phẩm trên mọi campaign
1Chọn nhóm sản phẩm
Buyer avatar rõ, listing tree sạch, vẫn eligible trong Scale.
›2Dựng baseline
30–60d historical từng item trong STD_Scale.
›3TEST
Niche priority 1, Scale 0. Ép sample có kiểm soát.
›4Audit
Khi hết learning; dùng matured data và số kỳ vọng từ Scale.
›5Quyết định
FAIL → OFF/về Scale. PASS → priority 0.
›6Nuôi & lọc liên tục
Thêm SP mới; SP đủ data mà xấu → trả Scale.
📡 Trạng thái engine sống
Đang tải dữ liệu automation…
| Phase | Engine | Số sống |
|---|---|---|
| Đang tải… | ||
22 campaign đang ở trạng thái nào?
| Campaign | Priority | Bid status | State | Ngày chín | Verdict | Spend / ROAS |
|---|
⚙️ Automation map — phase nào đã có cron?
Đọc nhanh: cả 6 phase đã có engine. Phase 1 và 6 còn PARTIAL; Phase 5 chỉ tự tạo đề xuất, không tự mutation. Mọi giờ dưới đây là giờ Việt Nam.
| Phase | Trạng thái | Cron sống | Đang làm gì | Còn thiếu |
|---|---|---|---|---|
| 1 · Chọn nhóm sản phẩm | PARTIAL | 16:20 dailyniche_autofeed.py LIVE16:30 daily cl1_autofeed.py LIVE | Auto-add cho 22/23 niche: 19 title-curated + Couple/Memorial/Pet. | Buyer-avatar classifier chưa live trên VPS1; sổ phân camp chung chưa enforce. Niche mới phải đăng ký config rồi đi lại từ bước 1. |
| 2 · Số kỳ vọng từ Scale | AUTO | 16:45 dailybaseline.py | Tự snapshot Scale 60d matured, tính CPA/ROAS và số kỳ vọng từng SP/campaign. | 304/1.735 SP hiện có lịch sử; SP thiếu lịch sử dùng TEST/BE-CPA. |
| 3 · TEST priority 1 | AUTO | 16:05 guard 16:45 lifecycle | Tự đọc Learning status/API, ngày bắt đầu TEST và reset clock khi priority/tROAS/budget đổi. | Hiện 22/22 camp đang TEST; chưa đủ 7 ngày matured sau mốc 24/7. |
| 4 · Audit | AUTO | 16:45 dailyaudit.py | Tự bỏ D-0…D-3, so actual với số kỳ vọng; có hero/seasonality và campaign→AG→item. | Verdict chỉ ra khi đủ ≥7 ngày matured; hiện 22 camp INSUFFICIENT là đúng gate. |
| 5 · OFF / Graduate | PROPOSAL ONLY | 16:45 dailyproposals.py | Tự tạo PASS/FAIL/BORDERLINE + before/after + rollback. | OFF/priority không tự chạy: vẫn cần approve rồi validate-only → LIVE → verify. |
| 6 · Nuôi & lọc dài hạn | PARTIAL | 16:05 guard 16:20/16:30 autofeed 16:45 item review | SP mới được add; engine tự tìm loser matured và tạo đề xuất trả Scale. | Buyer-avatar classifier chưa live trong feeder; actual exclude vẫn theo guard/approve và có log. |
Hạ tầng panel refresh mỗi giờ phút :08. Automation map kiểm theo crontab VPS1 ngày 28/7/2026. PARTIAL ≠ phase đã tự động xong. Đổi cron phải cập nhật map này.
① Trước khi tách — Điều kiện trước khi tách
- Định nghĩa đúng buyer avatar, không dùng recipient keyword làm owner.
- Sổ 1 SP → 1 camp: 1 SP chỉ có 1 primary Niche hoặc REVIEW; feeder phải kiểm registry chung trước khi add.
- Snapshot item IDs, product type, title, current Scale metrics.
- Verify mọi item vẫn eligible trong
STD_Scaleđể có đường rollback. - Loại feed-disapproved, duplicate và item đang bị campaign khác ownership cưỡng bức.
- Không đổi feed, tROAS và priority cùng lúc.
- Niche mới: quay lại bước 1 và đi đủ vòng này từ đầu. Anniversary là ca đầu tiên.
Không có đường về Scale thì chưa được launch Niche.
② Số kỳ vọng từ lịch sử Scale
Tính riêng từng item rồi cộng thành campaign giả lập trong quá khứ:
Expected purchases = Σ(post spendᵢ ÷ historical CPAᵢ)
Expected value = Σ(post spendᵢ × historical ROASᵢ)
Expected spend = Σ(historical spend/dayᵢ × active daysᵢ)
Expected value = Σ(post spendᵢ × historical ROASᵢ)
Expected spend = Σ(historical spend/dayᵢ × active daysᵢ)
- Proven: baseline item riêng.
- Low-data: gộp niche × product type × ROAS tier.
- New/no-history: chấm theo TEST/BE-CPA, không trộn migration.
Scale guard: historical ROAS chỉ là baseline chính khi post spend/day ≤1,5× mức cũ. Vượt mức đó, chấm phần incremental theo BE-ROAS. Nếu qua promo/mùa vụ, đối chiếu thêm nhóm sản phẩm tương đồng còn ở Scale.
③ TEST mode — Priority 1 là công cụ lấy mẫu
| Trạng thái | Đọc số | Hành động |
|---|---|---|
| LEARNING | Chưa dùng current-day; bỏ D-0…D-2 | Giữ Niche=1, Scale=0 |
| Có spend, ít order | <7 orders: ROAS nhiễu | Tiếp tục tới expected time-to-data |
| 0 order, đốt tiền | ≥2× BE-CPA (sàn $50) | Demote item/AG về Scale; hard stop 3× |
| Không lấy được spend | Check eligibility/tree/tROAS | Không gọi là learned; gộp hoặc trả Scale |
④ Trigger audit — “hết Bid strategy learning”
Hết learning là trigger audit, không tự động đồng nghĩa đủ dữ liệu.
Gate cấp campaign vì priority là campaign-level; drill-down AG/item trước khi quyết định:
- Ưu tiên 14 ngày matured, bỏ 3 ngày conversion lag.
- Không chờ vô hạn: audit khi rời Learning hoặc chạm 21 ngày/ngưỡng spend đã đặt; budget/tROAS đổi thì reset clock.
- 30–50 conversions campaign là tín hiệu bidding đủ tin.
- AG/item có ≥7–10 orders và ROAS xấu lặp 14d được xử riêng.
- So đúng nhóm sản phẩm item trước/sau; cộng tất cả Niche + residual Scale.
- Hero guard: item >30% spend phải có verdict riêng; report thêm kết quả nhóm sản phẩm khi bỏ top item.
⑤ Bảng quyết định — OFF hay GRADUATE
| Data | Spend sau tách | ROAS tổng | Quyết định |
|---|---|---|---|
| Chưa đủ thật | Bất kỳ | Chưa tin | Giữ TEST hoặc về 0 nếu sample quá nhỏ; không cưỡng bức vô hạn |
| Đủ | Tăng | ≥ BE | PASS → ON, Niche 1→0; re-check 7–14d |
| Đủ | Không tăng | ≥ BE | Về 0; segmentation chưa tạo incremental scale |
| Đủ | Tăng | < BE | FAIL → OFF/return Scale hoặc trả loser nhóm sản phẩm |
| Đủ | Giảm | < BE | FAIL rõ → OFF Niche |
| Camp tốt | — | AG/item xấu | Giữ winner; exclude loser khỏi Niche |
| Camp xấu | — | Có winner | Tách winner; không kill theo average |
Tình huống: Một SP nằm ở nhiều Niche
Dad+Mom overlap không tự động là lỗi. Chấm tổng item:
- Spend tổng tăng + ROAS tổng đạt BE → GOOD.
- Một camp xấu nhưng camp khác bù, tổng vẫn tốt → không sửa chỉ để bảng đẹp.
- Tổng xấu → chọn một owner hoặc trả Scale.
- Sau graduate, các Niche liên quan nên cùng priority 0.
Khi cần quay lại / test lại
- FAIL: OFF Niche hoặc remove loser listing groups.
- Verify Scale nhận lại impressions/spend trong 24–48h.
- Sau GRADUATE: re-check 7–14d matured; giữ 0, trả 1 nếu starvation nhưng hypothesis vẫn tốt, hoặc OFF nếu segmentation vô ích.
- Re-test chỉ khi có hypothesis mới: nhóm sản phẩm, buyer mapping, tROAS hoặc feed.
- Không relaunch nguyên cấu hình cũ chỉ để “học lại”.
- Mọi OFF/priority change cần Hoá approve + validate-only + mutation log.
⑥ Vận hành liên tục sau Graduate
Graduate không phải làm xong. Campaign đã tốt vẫn phải nuôi SP mới và lọc SP xấu mỗi ngày.
| Việc lặp lại | Cách xử |
|---|---|
| SP mới được thêm vào Niche | Coi là một TEST nhỏ: theo dõi từ ngày add, không lấy average camp để che nó. |
| SP đã đủ 7–10 đơn, ROAS < BE lặp lại 14d | Exclude khỏi Niche, trả về Scale; không cần OFF cả campaign. |
| SP 0 đơn, spend ≥2× BE-CPA | Trả về Scale; hard stop ở 3× BE-CPA. |
| Campaign/item mix thay đổi lớn | Chạy lại audit tổng spend + ROAS tổng; cập nhật baseline của nhóm SP hiện tại. |
Checklist audit bắt buộc
| □ Nhóm sản phẩm item snapshot cố định | □ Scale historical 30–60d | □ Exclude 3 ngày lag |
| □ Actual all-campaign aggregate | □ Expected purchase/value | □ Campaign + AG + item drill-down |
| □ Scale rollback eligibility | □ Ownership registry sạch | □ Hero >30% đã tách verdict |
| □ Seasonality/control check | □ Change-event sạch | □ Exit + post-grad check ghi trước |