分析脈絡
- 納入 Organic 觸點(CID 為 NULL → 'ORGANIC'),完整還原消費者旅程
- 100% 訂單覆蓋(以 all_orders 為基底)
- 使用 Adjusted Journey(_adj),確保 Last Touch CID = 訂單系統 CID
- User-ID 跨裝置 + Device 單裝置雙版本比較
dm_tableau.tableau_mta_order_424— 訂單層級 MTA 歸因表dw_analysis_record.kkday_order_cid_journey_action— 上游 CID Journey 表- 金額:
coupon_adj_order_profit(毛利)
MTA 40/20/40 Profit 計算方式
每筆訂單的毛利(coupon_adj_order_profit)依觸點位置完整分配 100%:
- 單觸點訂單:First Touch = 100%
- 雙觸點訂單:First Touch = 50%、Last Touch = 50%
- 三觸點以上:First Touch = 40%、Middle Touches = 20%(均分)、Last Touch = 40%
本版新增 ORGANIC 渠道:CID 為 NULL 的 action 觸點標記為 ORGANIC。無旅程訂單(4,289,027 筆 / $8,790,406)無法參與歸因。
Cid Journey 長度分佈與客單價關係
含 Organic 觸點後的訂單 CID 旅程觸點數分群(Adjusted Journey)
資料來源與計算方式
SELECT CASE
WHEN journey_length IS NULL OR journey_length = 0 THEN '0 (無旅程)'
WHEN journey_length = 1 THEN '1'
WHEN journey_length = 2 THEN '2'
WHEN journey_length = 3 THEN '3'
WHEN journey_length = 4 THEN '4'
WHEN journey_length = 5 THEN '5'
WHEN journey_length BETWEEN 6 AND 10 THEN '6-10'
WHEN journey_length BETWEEN 11 AND 20 THEN '11-20'
ELSE '21+'
END AS journey_group,
COUNT(*) AS orders,
ROUND(SUM(gross_profit), 2) AS total_profit
FROM `dm_tableau.tableau_mta_order_424`
GROUP BY 1
ORDER BY MIN(COALESCE(journey_length, 0))
-- AOV by length
SELECT COALESCE(journey_length, 0) AS jlen,
ROUND(AVG(gross_revenue), 2) AS avg_revenue,
ROUND(AVG(gross_profit), 2) AS avg_profit
FROM `dm_tableau.tableau_mta_order_424`
WHERE COALESCE(journey_length, 0) <= 15
GROUP BY 1
ORDER BY 1
| journey_group | orders | total_profit |
|---|---|---|
| 0 (無旅程) | 4289027 | 8790405.78 |
| 1 | 2941596 | 15847700.70 |
| 2 | 1204950 | 7928430.32 |
| 3 | 728950 | 5186135.36 |
| 4 | 483446 | 3558891.64 |
| 5 | 348524 | 2614669.90 |
| 6-10 | 831335 | 6273398.22 |
| 11-20 | 438066 | 3107828.88 |
| 21+ | 228505 | 1188760.42 |
渠道角色分析:誰在開門?誰在關門?
含 ORGANIC 渠道,比較各渠道在 First Touch(開啟認知)與 Last Touch(促成轉換)的訂單數差異
- ORGANIC First 1,037 → Last 840(-19.0%),偏向「開門」渠道。
- PAID CHANNEL First 2,783,053 → Last 2,284,129(-17.9%),偏向「開門」渠道。
- EARN CHANNEL First 2,728,381 → Last 3,155,756(+15.7%),偏向「收割」渠道。
- OWN CHANNEL First 1,692,901 → Last 1,764,647(+4.2%),偏向「收割」渠道。
資料來源與計算方式
SELECT channel,
SUM(first_cnt) AS first_touch_orders,
SUM(last_cnt) AS last_touch_orders
FROM (
SELECT first_touch_channel AS channel, COUNT(*) AS first_cnt, 0 AS last_cnt
FROM `dm_tableau.tableau_mta_order_424`
WHERE first_touch_channel IS NOT NULL
GROUP BY 1
UNION ALL
SELECT last_touch_channel, 0, COUNT(*)
FROM `dm_tableau.tableau_mta_order_424`
WHERE last_touch_channel IS NOT NULL
GROUP BY 1
)
GROUP BY 1
| channel | first_touch_orders | last_touch_orders |
|---|---|---|
| EARN CHANNEL | 2728381 | 3155756 |
| OWN CHANNEL | 1692901 | 1764647 |
| ORGANIC | 1037 | 840 |
| PAID CHANNEL | 2783053 | 2284129 |
Last-Click vs MTA:Channel 毛利重分配
含 ORGANIC 渠道。Last-Click 將 100% 毛利歸給末次觸點;MTA 40/20/40 完整分配。
| Channel | Last-Click | MTA First | MTA Middle | MTA Last | MTA Total | 差額 | % |
|---|---|---|---|---|---|---|---|
| EARN CHANNEL | $18,652,410 | $9,602,610 | $1,377,013 | $5,426,632 | $16,406,255 | $-2,246,155 | -12.0% |
| ORGANIC | $5,245 | $3,778 | $719 | $1,510 | $6,007 | +$763 | +14.5% |
| OWN CHANNEL | $10,775,117 | $6,419,259 | $1,295,686 | $3,180,993 | $10,895,938 | +$120,822 | +1.1% |
| PAID CHANNEL | $16,273,044 | $12,558,194 | $1,712,520 | $4,127,005 | $18,397,719 | +$2,124,675 | +13.1% |
| 無旅程訂單:4,289,027 筆 / Profit $8,790,406 | |||||||
- EARN CHANNEL 被高估 $-2,246,155(-12.0%)
- PAID CHANNEL 被低估 $2,124,675(+13.1%)
- OWN CHANNEL 被低估 $120,822(+1.1%)
- ORGANIC 被低估 $763(+14.5%)
差額加總 = $104(ROUND 誤差)
資料來源與計算方式
-- Last-Click by Channel
SELECT COALESCE(last_touch_channel, 'NO_JOURNEY') AS channel,
ROUND(SUM(gross_profit), 2) AS lc_profit,
COUNT(*) AS orders
FROM `dm_tableau.tableau_mta_order_424`
GROUP BY 1
-- MTA First by Channel
SELECT first_touch_channel AS channel,
ROUND(SUM(first_touch_attributed_profit), 2) AS mta_first
FROM `dm_tableau.tableau_mta_order_424`
WHERE first_touch_channel IS NOT NULL
GROUP BY 1
-- MTA Last by Channel
SELECT last_touch_channel AS channel,
ROUND(SUM(last_touch_attributed_profit), 2) AS mta_last
FROM `dm_tableau.tableau_mta_order_424`
WHERE last_touch_channel IS NOT NULL
GROUP BY 1
Main Cat 層級:Last-Click vs MTA 毛利差異
以 cid_main_cat 細分渠道(含 Unknown = ORGANIC 觸點)
| Main Cat | Last-Click | MTA First | MTA Middle | MTA Last | MTA Total | 差額 | % |
|---|---|---|---|---|---|---|---|
| Earn - Affiliate | $14,358,722 | $6,828,816 | $1,036,117 | $4,331,023 | $12,195,956 | $-2,162,766 | -15.1% |
| Paid - PF SEM | $9,925,676 | $7,603,980 | $912,792 | $2,393,333 | $10,910,106 | +$984,429 | +9.9% |
| Paid - PF Display | $4,465,509 | $3,657,425 | $521,216 | $1,145,701 | $5,324,342 | +$858,832 | +19.2% |
| Paid - Brand | $1,113,521 | $832,409 | $154,734 | $341,153 | $1,328,296 | +$214,775 | +19.3% |
| Earn - Referral | $3,515,248 | $2,194,440 | $272,572 | $904,951 | $3,371,963 | $-143,285 | -4.1% |
| Own - Content | $10,202,314 | $6,118,718 | $1,220,280 | $2,999,074 | $10,338,071 | +$135,757 | +1.3% |
| Earn - Influencer | $603,655 | $426,544 | $62,591 | $166,337 | $655,472 | +$51,817 | +8.6% |
| Paid - PF Display RT | $758,464 | $432,670 | $122,986 | $251,465 | $807,122 | +$48,658 | +6.4% |
| Paid - Partner | $8,315 | $30,496 | $646 | $-5,155 | $25,987 | +$17,672 | +212.5% |
| Own - SNS | $572,802 | $300,541 | $75,406 | $181,920 | $557,867 | $-14,935 | -2.6% |
| Earn - Official Website | $174,772 | $152,798 | $5,732 | $24,317 | $182,847 | +$8,075 | +4.6% |
| Unknown | $4,722 | $3,449 | $622 | $1,308 | $5,380 | +$658 | +13.9% |
| Paid - PF Others | $1,105 | $857 | $127 | $325 | $1,309 | +$204 | +18.5% |
| Paid - Partner Enterprise | $466 | $369 | $20 | $186 | $575 | +$109 | +23.3% |
| Own - Organic | $523 | $329 | $96 | $202 | $627 | +$105 | +20.0% |
- Earn - Affiliate:差額 $-2,162,766(-15.1%)
- Paid - PF SEM:差額 $984,429(+9.9%)
- Paid - PF Display:差額 $858,832(+19.2%)
- Paid - Brand:差額 $214,775(+19.3%)
- Earn - Referral:差額 $-143,285(-4.1%)
資料來源與計算方式
-- LC by Main Cat
SELECT COALESCE(last_touch_main_cat, 'Unknown') AS main_cat,
ROUND(SUM(gross_profit), 2) AS lc_profit
FROM `dm_tableau.tableau_mta_order_424`
WHERE last_touch_channel IS NOT NULL
GROUP BY 1
-- MTA First by Main Cat
SELECT COALESCE(first_touch_main_cat, 'Unknown') AS main_cat,
ROUND(SUM(first_touch_attributed_profit), 2) AS mta_first
FROM `dm_tableau.tableau_mta_order_424`
WHERE first_touch_channel IS NOT NULL
GROUP BY 1
-- MTA Last by Main Cat
SELECT COALESCE(last_touch_main_cat, 'Unknown') AS main_cat,
ROUND(SUM(last_touch_attributed_profit), 2) AS mta_last
FROM `dm_tableau.tableau_mta_order_424`
WHERE last_touch_channel IS NOT NULL
GROUP BY 1
CID Campaign 影響力落差 Top 20
以 CID (Site Name) 層級比較 Last-Click vs MTA 毛利差異(篩選:訂單數 >= 100)
| CID | Site Name | Channel | Orders | LC Profit | MTA Profit | 差額 | % |
|---|---|---|---|---|---|---|---|
| 3789 | SHOPBACKTW | EARN | 393,649 | $2,698,370 | $1,842,996 | $-855,374 | -31.7% |
| 15925 | Global_Google PMAX | PAID | 603,052 | $4,306,208 | $5,136,801 | +$830,593 | +19.3% |
| 2636 | Global_Google Ads | PAID | 633,634 | $4,560,853 | $5,129,483 | +$568,630 | +12.5% |
| 3345 | shopbackHK | EARN | 111,934 | $1,239,128 | $825,410 | $-413,717 | -33.4% |
| 5954 | LINE Travel | EARN | 174,931 | $827,480 | $600,147 | $-227,333 | -27.5% |
| 13730 | PayMe | EARN | 52,857 | $496,468 | $273,441 | $-223,028 | -44.9% |
| 5311 | HKMO_推播 | PAID | 154,625 | $1,110,986 | $1,325,254 | +$214,268 | +19.3% |
| 6832 | HSBC | EARN | 18,566 | $305,490 | $169,069 | $-136,421 | -44.7% |
| 5193 | Global_Google DSA | PAID | 116,237 | $813,928 | $949,712 | +$135,784 | +16.7% |
| 4904 | Product_App Sharing Function | EARN | 316,992 | $2,593,232 | $2,459,895 | $-133,336 | -5.1% |
| 7393 | TW 推播 | OWN | 419,566 | $2,450,696 | $2,543,656 | +$92,960 | +3.8% |
| 11768 | Product_App Sharing Function T | EARN | 64,883 | $620,387 | $528,041 | $-92,346 | -14.9% |
| 19661 | 卡優新聞網 | EARN | 15,726 | $226,102 | $135,561 | $-90,541 | -40.0% |
| 10470 | System EDM | OWN | 262,496 | $1,370,235 | $1,279,709 | $-90,526 | -6.6% |
| 11472 | Global_Google TTD Ads | PAID | 58,206 | $315,815 | $391,420 | +$75,605 | +23.9% |
| 18463 | TW_Google regional DSA | PAID | 55,455 | $401,976 | $476,932 | +$74,957 | +18.6% |
| 5296 | V妞的旅行 | EARN | 19,661 | $217,864 | $144,206 | $-73,658 | -33.8% |
| 5262 | 台新銀行 | EARN | 19,604 | $189,858 | $116,662 | $-73,197 | -38.6% |
| 2003 | KKday Blog | OWN | 162,357 | $1,167,071 | $1,227,231 | +$60,160 | +5.2% |
| 6304 | Involve Asia | EARN | 33,486 | $184,702 | $239,591 | +$54,889 | +29.7% |
資料來源與計算方式
-- LC by CID
SELECT COALESCE(last_touch_cid, 'ORGANIC') AS cid,
MAX(COALESCE(last_touch_site_name, 'ORGANIC')) AS site_name,
MAX(COALESCE(SUBSTR(last_touch_channel, 1, 4), 'ORGA')) AS ch,
ROUND(SUM(gross_profit), 2) AS lc_profit,
COUNT(*) AS orders
FROM `dm_tableau.tableau_mta_order_424`
WHERE last_touch_channel IS NOT NULL
GROUP BY 1
-- MTA First by CID
SELECT COALESCE(first_touch_cid, 'ORGANIC') AS cid,
ROUND(SUM(first_touch_attributed_profit), 2) AS mta_first
FROM `dm_tableau.tableau_mta_order_424`
WHERE first_touch_channel IS NOT NULL
GROUP BY 1
細分渠道 — First Touch vs Last Touch 歸因營收
以 cid_main_cat 層級比較各渠道在不同觸點位置的歸因營收(40/20/40 模型)
資料來源與計算方式
SELECT main_cat,
ROUND(SUM(mta_first_rev), 2) AS first_rev,
ROUND(SUM(mta_last_rev), 2) AS last_rev
FROM (
SELECT COALESCE(first_touch_main_cat, 'Unknown') AS main_cat,
first_touch_attributed_revenue AS mta_first_rev, 0 AS mta_last_rev
FROM `dm_tableau.tableau_mta_order_424`
WHERE first_touch_channel IS NOT NULL
UNION ALL
SELECT COALESCE(last_touch_main_cat, 'Unknown'),
0, last_touch_attributed_revenue
FROM `dm_tableau.tableau_mta_order_424`
WHERE last_touch_channel IS NOT NULL
)
GROUP BY 1
ORDER BY first_rev DESC
| main_cat | first_rev | last_rev |
|---|---|---|
| Earn - Affiliate | 83255370.47 | 50051635.22 |
| Paid - PF SEM | 75859214.03 | 23832375.34 |
| Own - Content | 62131709.68 | 31392905.42 |
| Paid - PF Display | 37664208.66 | 11851619.71 |
| Earn - Referral | 19476303.50 | 8159437.91 |
| Paid - Brand | 9903847.51 | 4180196.45 |
| Earn - Influencer | 5018162.08 | 2144252.46 |
| Paid - PF Display RT | 4124763.35 | 2358788.49 |
| Earn - Official Website | 3146367.83 | 512479.96 |
| Own - SNS | 2991097.41 | 1784945.07 |
First → Last 渠道流向矩陣
2+ 觸點訂單的跨渠道轉換路徑(含 ORGANIC;行 = First Touch,列 = Last Touch)
- EARN CHANNEL → EARN CHANNEL:854,017 筆 / $5.5M profit
- PAID CHANNEL → PAID CHANNEL:818,235 筆 / $6.3M profit
- PAID CHANNEL → EARN CHANNEL:590,720 筆 / $4.9M profit
- OWN CHANNEL → OWN CHANNEL:571,457 筆 / $3.3M profit
- PAID CHANNEL → OWN CHANNEL:380,171 筆 / $2.7M profit
資料來源與計算方式
SELECT first_touch_channel AS first_ch,
last_touch_channel AS last_ch,
COUNT(*) AS orders,
ROUND(SUM(gross_profit), 2) AS profit
FROM `dm_tableau.tableau_mta_order_424`
WHERE journey_length >= 2
AND first_touch_channel IS NOT NULL
AND last_touch_channel IS NOT NULL
GROUP BY 1, 2
| first_ch | last_ch | orders | profit |
|---|---|---|---|
| PAID CHANNEL | EARN CHANNEL | 590720 | 4899544.81 |
| PAID CHANNEL | OWN CHANNEL | 380171 | 2655737.80 |
| EARN CHANNEL | PAID CHANNEL | 249966 | 1778095.32 |
| OWN CHANNEL | PAID CHANNEL | 221980 | 1564183.76 |
| ORGANIC | EARN CHANNEL | 297 | 2323.67 |
| OWN CHANNEL | ORGANIC | 134 | 652.31 |
| EARN CHANNEL | ORGANIC | 168 | 1452.15 |
| ORGANIC | OWN CHANNEL | 181 | 1254.12 |
| PAID CHANNEL | PAID CHANNEL | 818235 | 6269982.58 |
| PAID CHANNEL | ORGANIC | 186 | 970.94 |
Middle Touch 助攻分析:誰在旅程中推了一把?
三觸點以上訂單的中間觸點(20% 歸因),按 Channel 和 CID 拆解
| CID | Site Name | Channel | Assist Orders | Middle Profit |
|---|---|---|---|---|
| 15925 | Global_Google PMAX | 2,020,819 | $500,090 | |
| 2636 | Global_Google Ads | 1,503,241 | $392,306 | |
| 7393 | TW 推播 | 1,851,124 | $275,391 | |
| 7725 | Global_Google Brand | 1,255,002 | $221,427 | |
| 4904 | Product_App Sharing Function | 654,904 | $179,625 | |
| 10470 | System EDM | 841,640 | $160,599 | |
| 5311 | HKMO_推播 | 946,613 | $154,461 | |
| 2003 | KKday Blog | 657,351 | $146,680 | |
| 3553 | HKMO_homepagebanner | 1,641,081 | $123,568 | |
| 3789 | SHOPBACKTW | 735,299 | $122,563 | |
| 9582 | Retargeting Product View | 425,604 | $107,267 | |
| 5193 | Global_Google DSA | 372,755 | $106,440 | |
| 4190 | Global_Facebook DAT | 430,657 | $82,228 | |
| 5109 | ChineseAN | 304,682 | $70,802 | |
| 18463 | TW_Google regional DSA | 270,494 | $59,045 |
資料來源與計算方式
WITH base AS (
SELECT order_oid, gross_profit,
user_journey_detail_adj AS journey,
ARRAY_LENGTH(user_journey_detail_adj) AS jlen
FROM `dw_analysis_record.kkday_order_cid_journey_action`
WHERE ARRAY_LENGTH(user_journey_detail_adj) >= 3
),
cid_info AS (
SELECT CAST(cid AS STRING) AS cid, cid_main_cat
FROM `dm_tableau.tableau_party_affiliate`
),
middle AS (
SELECT t.channel, t.cid, t.site_name, ci.cid_main_cat,
ROUND(b.gross_profit * 0.2 / (b.jlen - 2), 4) AS attr_profit
FROM base b, UNNEST(b.journey) AS t WITH OFFSET AS pos
LEFT JOIN cid_info ci ON t.cid = ci.cid
WHERE pos > 0 AND pos < b.jlen - 1
)
SELECT channel, cid, MAX(site_name) AS site_name,
MAX(COALESCE(cid_main_cat, 'Unknown')) AS main_cat,
COUNT(*) AS assist_orders,
ROUND(SUM(attr_profit), 2) AS middle_profit
FROM middle
GROUP BY 1, 2
ORDER BY middle_profit DESC
結論與策略建議
核心發現(含 Organic 觸點後的洞察)
- ORGANIC 是最被低估的渠道 $763(+14.5%)
- EARN CHANNEL 高估幅度 -12.0%
- PAID CHANNEL 被低估 +13.1%
- OWN CHANNEL 被高估 +1.1%
- Middle Touch 助攻總額 $4,385,937
後續 Action Items
- 1. 重新認識 Organic 的價值:ORGANIC 在 MTA 下是最被忽視的「種草」渠道。
- 2. ShopBack 增量性測試:Affiliate 被高估,ShopBack 為最大受益者,建議進行 incrementality test。
- 3. 重新評估 Google Ads 全旅程價值:含 Middle Assist 後,SEM/PMAX/DSA 的真實貢獻超越 Last-Click。
- 4. 建立雙軌報表:在現有 ROI Dashboard 旁新增 MTA 視角。
Device Journey 長度分佈與客單價關係
基於單裝置 Cookie(device_journey_detail_adj),含 Organic 觸點
資料來源與計算方式
SELECT CASE
WHEN COALESCE(ARRAY_LENGTH(device_journey_detail_adj), 0) = 0 THEN '0 (無旅程)'
WHEN ARRAY_LENGTH(device_journey_detail_adj) = 1 THEN '1'
WHEN ARRAY_LENGTH(device_journey_detail_adj) = 2 THEN '2'
WHEN ARRAY_LENGTH(device_journey_detail_adj) = 3 THEN '3'
WHEN ARRAY_LENGTH(device_journey_detail_adj) = 4 THEN '4'
WHEN ARRAY_LENGTH(device_journey_detail_adj) = 5 THEN '5'
WHEN ARRAY_LENGTH(device_journey_detail_adj) BETWEEN 6 AND 10 THEN '6-10'
WHEN ARRAY_LENGTH(device_journey_detail_adj) BETWEEN 11 AND 20 THEN '11-20'
ELSE '21+'
END AS journey_group,
COUNT(*) AS orders,
ROUND(SUM(gross_profit), 2) AS total_profit
FROM `dw_analysis_record.kkday_order_cid_journey_action`
GROUP BY 1
ORDER BY MIN(COALESCE(ARRAY_LENGTH(device_journey_detail_adj), 0))
-- Device AOV
SELECT COALESCE(ARRAY_LENGTH(device_journey_detail_adj), 0) AS jlen,
ROUND(AVG(gross_revenue), 2) AS avg_revenue,
ROUND(AVG(gross_profit), 2) AS avg_profit
FROM `dw_analysis_record.kkday_order_cid_journey_action`
WHERE COALESCE(ARRAY_LENGTH(device_journey_detail_adj), 0) <= 15
GROUP BY 1
ORDER BY 1
| journey_group | orders | total_profit |
|---|---|---|
| 0 (無旅程) | 4713706 | 11507074.49 |
| 1 | 3479845 | 19330278.31 |
| 2 | 1235153 | 8318609.50 |
| 3 | 677953 | 4898463.42 |
| 4 | 401115 | 3054187.74 |
| 5 | 263193 | 2019220.95 |
| 6-10 | 505001 | 3901408.12 |
| 11-20 | 173600 | 1224045.98 |
| 21+ | 44836 | 242956.11 |
渠道角色分析:誰在開門?誰在關門?
Device 層級各渠道在 First Touch / Last Touch 的訂單數差異
資料來源與計算方式
WITH base AS (
SELECT device_journey_detail_adj[OFFSET(0)].channel AS first_ch,
device_journey_detail_adj[OFFSET(ARRAY_LENGTH(device_journey_detail_adj) - 1)].channel AS last_ch
FROM `dw_analysis_record.kkday_order_cid_journey_action`
WHERE ARRAY_LENGTH(device_journey_detail_adj) > 0
)
SELECT channel, SUM(fc) AS first_touch_orders, SUM(lc) AS last_touch_orders
FROM (
SELECT first_ch AS channel, COUNT(*) AS fc, 0 AS lc FROM base GROUP BY 1
UNION ALL
SELECT last_ch, 0, COUNT(*) FROM base GROUP BY 1
)
GROUP BY 1
| channel | first_touch_orders | last_touch_orders |
|---|---|---|
| OWN CHANNEL | 1643718 | 1656044 |
| PAID CHANNEL | 2505609 | 2102858 |
| ORGANIC | 1047 | 800 |
| EARN CHANNEL | 2630322 | 3020994 |
Last-Click vs MTA:Channel 毛利重分配
Device Journey 的 40/20/40 歸因 vs Last-Click
| Channel | Last-Click | MTA First | MTA Middle | MTA Last | MTA Total | 差額 | % |
|---|---|---|---|---|---|---|---|
| ORGANIC | $5,245 | $4,064 | $588 | $3,263 | $7,914 | +$2,670 | +50.9% |
| OWN CHANNEL | $10,775,117 | $6,909,702 | $907,030 | $6,849,842 | $14,666,574 | +$3,891,457 | +36.1% |
| EARN CHANNEL | $18,652,410 | $10,354,455 | $968,716 | $11,942,952 | $23,266,122 | +$4,613,712 | +24.7% |
| PAID CHANNEL | $16,273,044 | $12,357,544 | $1,191,723 | $10,829,707 | $24,378,974 | +$8,105,930 | +49.8% |
| 無旅程訂單:4,289,027 筆 / Profit $8,790,406 | |||||||
資料來源與計算方式
-- Device MTA (comprehensive UNNEST)
WITH cid_info AS (
SELECT CAST(cid AS STRING) AS cid, cid_main_cat
FROM `dm_tableau.tableau_party_affiliate`
),
base AS (
SELECT order_oid, gross_profit,
device_journey_detai
-- ... (完整 SQL 見資料來源)
Main Cat 層級:Last-Click vs MTA 毛利差異
Device Journey 的 cid_main_cat 層級歸因比較
| Main Cat | Last-Click | MTA First | MTA Middle | MTA Last | MTA Total | 差額 | % |
|---|---|---|---|---|---|---|---|
| Paid - PF SEM | $9,925,676 | $7,398,156 | $577,596 | $6,697,181 | $14,672,933 | +$4,747,257 | +47.8% |
| Own - Content | $10,202,314 | $6,556,075 | $851,385 | $6,490,534 | $13,897,994 | +$3,695,679 | +36.2% |
| Earn - Affiliate | $14,358,722 | $7,519,256 | $721,556 | $9,005,178 | $17,245,990 | +$2,887,268 | +20.1% |
| Paid - PF Display | $4,465,509 | $3,615,091 | $390,799 | $2,984,210 | $6,990,100 | +$2,524,590 | +56.5% |
| Earn - Referral | $3,515,248 | $2,263,342 | $202,481 | $2,400,049 | $4,865,873 | +$1,350,625 | +38.4% |
| Paid - Brand | $1,113,521 | $853,068 | $125,418 | $687,802 | $1,666,288 | +$552,767 | +49.6% |
| Earn - Influencer | $603,655 | $426,729 | $40,681 | $397,708 | $865,118 | +$261,463 | +43.3% |
| Paid - PF Display RT | $758,464 | $459,903 | $99,516 | $439,659 | $999,078 | +$240,614 | +31.7% |
| Own - SNS | $572,802 | $353,627 | $55,645 | $359,308 | $768,581 | +$195,778 | +34.2% |
| Earn - Official Website | $174,772 | $145,114 | $3,997 | $140,009 | $289,120 | +$114,348 | +65.4% |
| Paid - Partner | $8,315 | $30,137 | $-1,712 | $19,777 | $48,201 | +$39,887 | +479.7% |
| Unknown | $4,722 | $3,745 | $515 | $3,025 | $7,285 | +$2,563 | +54.3% |
| Paid - PF Others | $1,105 | $943 | $98 | $792 | $1,832 | +$727 | +65.8% |
| Own - Organic | $523 | $319 | $73 | $238 | $630 | +$107 | +20.4% |
| Paid - Partner Enterprise | $466 | $259 | $10 | $294 | $562 | +$96 | +20.6% |
資料來源與計算方式
-- (same Device MTA UNNEST query, grouped by main_cat)
CID Campaign 影響力落差 Top 20
Device Journey 的 CID 層級 Last-Click vs MTA 毛利差異
| CID | Site Name | Channel | Orders | LC Profit | MTA Profit | 差額 | % |
|---|---|---|---|---|---|---|---|
| 15925 | Global_Google PMAX | PAID | 603,052 | $4,306,208 | $6,742,548 | +$2,436,340 | +56.6% |
| 2636 | Global_Google Ads | PAID | 633,634 | $4,560,853 | $6,946,232 | +$2,385,379 | +52.3% |
| 4904 | Product_App Sharing Function | EARN | 316,992 | $2,593,232 | $3,637,851 | +$1,044,619 | +40.3% |
| 7393 | TW 推播 | OWN | 419,566 | $2,450,696 | $3,465,259 | +$1,014,563 | +41.4% |
| 7725 | Global_Google Brand | PAID | 299,381 | $2,316,989 | $3,117,596 | +$800,607 | +34.6% |
| 5311 | HKMO_推播 | PAID | 154,625 | $1,110,986 | $1,662,134 | +$551,148 | +49.6% |
| 2003 | KKday Blog | OWN | 162,357 | $1,167,071 | $1,577,372 | +$410,301 | +35.2% |
| 5193 | Global_Google DSA | PAID | 116,237 | $813,928 | $1,208,604 | +$394,676 | +48.5% |
| 10470 | System EDM | OWN | 262,496 | $1,370,235 | $1,755,504 | +$385,270 | +28.1% |
| 13345 | blog Out bound計測用(リライト・新記事) | OWN | 74,786 | $562,382 | $831,614 | +$269,232 | +47.9% |
| 2756 | Global_Yahoo Ads | PAID | 53,178 | $485,148 | $752,975 | +$267,827 | +55.2% |
| 5109 | ChineseAN | EARN | 97,615 | $621,860 | $872,752 | +$250,891 | +40.3% |
| 9582 | Retargeting Product View | OWN | 86,033 | $710,015 | $931,308 | +$221,293 | +31.2% |
| 11472 | Global_Google TTD Ads | PAID | 58,206 | $315,815 | $525,580 | +$209,765 | +66.4% |
| 18463 | TW_Google regional DSA | PAID | 55,455 | $401,976 | $587,114 | +$185,139 | +46.1% |
| 3789 | SHOPBACKTW | EARN | 393,649 | $2,698,370 | $2,880,925 | +$182,555 | +6.8% |
| 11798 | Google Things to do | EARN | 76,816 | $325,433 | $503,244 | +$177,811 | +54.6% |
| 4190 | Global_Facebook DAT | PAID | 61,681 | $529,881 | $699,910 | +$170,029 | +32.1% |
| 11132 | MKT KR_Naver Shopping | PAID | 53,530 | $265,147 | $417,168 | +$152,021 | +57.3% |
| 10264 | Impact | EARN | 37,953 | $319,964 | $464,964 | +$145,000 | +45.3% |
First → Last 渠道流向矩陣
Device Journey 中 2+ 觸點訂單的跨渠道轉換路徑
資料來源與計算方式
WITH base AS (
SELECT gross_profit,
device_journey_detail_adj[OFFSET(0)].channel AS first_ch,
device_journey_detail_adj[OFFSET(ARRAY_LENGTH(device_journey_detail_adj) - 1)].channel AS last_ch
FROM `dw_analysis_record.kkday_order_cid_journey_action`
WHERE ARRAY_LENGTH(device_journey_detail_adj) >= 2
)
SELECT first_ch, last_ch, COUNT(*) AS orders, ROUND(SUM(gross_profit), 2) AS profit
FROM base
GROUP BY 1, 2
Raw Match Status(_adj 補齊前的一致性)
raw user_journey 的 Last Touch CID 與訂單系統 affiliate_cid 的比對(_adj 前)
| 比對結果 | 訂單數 | 佔比 | 意涵 |
|---|---|---|---|
| 一致 | 6,118,502 | 53.2% | Journey Last CID = 訂單 CID |
| 兩邊皆無 CID | 4,289,028 | 37.3% | Journey 最後為 ORGANIC,訂單無 CID |
| 僅 Journey 有 CID | 727,229 | 6.3% | Journey 有 CID,訂單無 CID |
| 僅訂單系統有 CID | 199,759 | 1.7% | Journey 最後為 ORGANIC,但訂單有 CID(_adj 補齊) |
| 歸因不同渠道 | 159,884 | 1.4% | Journey 有 CID 但與訂單不同(_adj 補齊) |
資料來源與計算方式
SELECT CASE user_match_status
WHEN 'exact_match' THEN '一致'
WHEN 'both_null' THEN '兩邊皆無 CID'
WHEN 'order_only' THEN '僅訂單系統有 CID'
WHEN 'journey_differs' THEN '歸因不同渠道'
WHEN 'journey_only' THEN '僅 Journey 有 CID'
ELSE user_match_status
END AS status_label,
COUNT(*) AS orders
FROM `dw_analysis_record.kkday_order_cid_journey_action`
GROUP BY 1
ORDER BY orders DESC
| status_label | orders |
|---|---|
| 一致 | 6118502 |
| 兩邊皆無 CID | 4289028 |
| 僅 Journey 有 CID | 727229 |
| 僅訂單系統有 CID | 199759 |
| 歸因不同渠道 | 159884 |
跨裝置行為分析
各平台的旅程特性差異(僅含有 Journey 的訂單)
資料來源與計算方式
SELECT action_platform,
ROUND(AVG(COALESCE(ARRAY_LENGTH(user_journey_detail_adj), 0)), 2) AS avg_journey_len,
ROUND(100.0 * COUNTIF(ARRAY_LENGTH(user_journey_detail_adj) >= 2
AND (SELECT COUNT(DISTINCT t.channel) FROM UNNEST(user_journey_detail_adj) t) > 1)
/ NULLIF(COUNTIF(ARRAY_LENGTH(user_journey_detail_adj) >= 1), 0), 1) AS cross_channel_pct
FROM `dw_analysis_record.kkday_order_cid_journey_action`
WHERE action_platform IS NOT NULL
GROUP BY 1
ORDER BY avg_journey_len DESC
| action_platform | avg_journey_len | cross_channel_pct |
|---|---|---|
| ANDROID | 8.00 | 58.8 |
| WEB | 7.72 | 50.0 |
| IOS | 4.30 | 47.8 |
| MWEB | 2.01 | 20.0 |
日趨勢:Journey 覆蓋率與跨渠道佔比
追蹤 MTA 數據品質的穩定性
資料來源與計算方式
SELECT CAST(order_create_date_tw AS DATE) AS dt,
ROUND(100.0 * COUNTIF(ARRAY_LENGTH(user_journey_detail_adj) >= 1) / COUNT(*), 1) AS coverage_pct,
ROUND(100.0 * COUNTIF(ARRAY_LENGTH(user_journey_detail_adj) >= 2
AND (SELECT COUNT(DISTINCT t.channel) FROM UNNEST(user_journey_detail_adj) t) > 1)
/ NULLIF(COUNTIF(ARRAY_LENGTH(user_journey_detail_adj) >= 1), 0), 1) AS cross_ch_pct
FROM `dw_analysis_record.kkday_order_cid_journey_action`
GROUP BY 1
ORDER BY 1
分析方法說明
本報告使用 40/20/40 Position-Based Attribution 模型。
- 資料範圍:2025-01-01 ~ 2026-03-07
- MTA 歸因:1 觸點 = First 100%;2 觸點 = 各 50%;3+ 觸點 = First 40% + Middle 20% + Last 40%。
- Last-Click 歸因:gross_profit 100% 歸屬 last touch channel。
- ORGANIC 渠道:action 中 CID 為 NULL 的行為標記為 ORGANIC。
- 無旅程訂單:4,289,027 筆(37.3%)無 action 匹配,不參與歸因。
- 金額欄位:coupon_adj_order_profit(毛利)。