{"$schema":"https://schema.org/Dataset","id":"dataglass-marketplace-benchmarks-th","version":"2026.08.25","name":"Marketplace Benchmarks — Thailand","nameTh":"ค่าอ้างอิงจากการวัดจริงบนมาร์เก็ตเพลสไทย","description":"Aggregated first-party measurements of Thai marketplace behaviour: what a Shopee ad click costs by hour of day, when buyers actually order by product category, how much ad-attributed conversion arrives delayed, and the platform mechanics that make those numbers read wrongly. Observational, aggregate-only, and published under CC BY 4.0.","descriptionTh":"ผลการวัดจริงแบบรวมกลุ่มจากพฤติกรรมบนมาร์เก็ตเพลสไทย: คลิกโฆษณา Shopee ราคาเท่าไรในแต่ละชั่วโมงของวัน ผู้ซื้อสั่งซื้อจริงตอนไหนในแต่ละหมวดสินค้า มีคอนเวอร์ชันที่ระบบ attribution บันทึกช้าแค่ไหน และกลไกของแพลตฟอร์มที่ทำให้ตัวเลขเหล่านี้ถูกอ่านผิด ทั้งหมดเป็นการสังเกต ไม่ใช่การทดลอง เผยแพร่แบบรวมกลุ่มภายใต้สัญญาอนุญาต CC BY 4.0","license":{"id":"CC-BY-4.0","name":"Creative Commons Attribution 4.0 International","url":"https://creativecommons.org/licenses/by/4.0/","attribution":"DataGlass Marketplace Benchmarks (Thailand), v2026.08.25, DataGlass Labs, https://www.dataglasslabs.com/research/marketplace-benchmarks, CC BY 4.0"},"creator":{"name":"DataGlass Labs","url":"https://www.dataglasslabs.com/","contact":"teams@dataglasslabs.com"},"documentation":"https://www.dataglasslabs.com/research/marketplace-benchmarks","endpoint":"https://www.dataglasslabs.com/api/marketplace-benchmarks.json","market":"TH","currency":"THB","temporalCoverage":"2025-06-04/2026-08-18","lastVerified":"2026-07-26","disclosure":{"observationalOnly":true,"note":"Every figure in this dataset is an observational measurement of marketplace behaviour. Nothing here is the measured effect of an intervention, a counterfactual replay, or a modelled gain. No causal claim is made or implied by any figure.","noteTh":"ทุกตัวเลขในชุดข้อมูลนี้เป็นการวัดเชิงสังเกตของพฤติกรรมบนมาร์เก็ตเพลส ไม่มีตัวเลขใดเป็นผลที่วัดได้จากการแทรกแซง การจำลองย้อนกลับ หรือผลตอบแทนจากแบบจำลอง และไม่มีตัวเลขใดที่อ้างหรือบ่งชี้ความสัมพันธ์เชิงเหตุผล","aggregateOnly":true,"minimumShopsPerCell":8,"deniedCellNote":"Any bucket backed by fewer than 8 distinct shops is suppressed rather than published. Panel sizes are published as bands rather than exact counts.","deniedCellNoteTh":"บัคเก็ตใดที่มีร้านค้ารองรับน้อยกว่า 8 ร้าน จะถูกระงับแทนการเผยแพร่ ขนาดของพาเนลเผยแพร่เป็นช่วง ไม่ใช่จำนวนที่แน่นอน"},"coverage":{"panels":9,"tables":8,"findings":8,"mechanics":8,"suppressed":10,"figures":273},"platforms":[{"id":"shopee-th","name":"Shopee","market":"TH","currency":"THB"},{"id":"tiktok-shop-th","name":"TikTok Shop","market":"TH","currency":"THB"},{"id":"lazada-th","name":"Lazada","market":"TH","currency":"THB"}],"panels":[{"id":"shopee-intraday","label":{"en":"Shopee intraday ad panel","th":"พาเนลโฆษณา Shopee รายชั่วโมง"},"platform":"shopee-th","window":{"en":"1 Dec 2025 – 16 Aug 2026","th":"1 ธ.ค. 2025 – 16 ส.ค. 2026"},"windowIso":"2025-12-01/2026-08-16","grain":{"en":"shop × hour of day, shop-local clock","th":"ร้านค้า × ชั่วโมงของวัน ตามเวลาท้องถิ่นของร้าน"},"shopBand":"80+","observations":{"en":"442,496 shop-hours carrying THB 63.4M of ad spend.","th":"442,496 ชั่วโมง-ร้านค้า รวมค่าโฆษณา 63.4 ล้านบาท"},"eligibility":{"en":"At least 60 days of hourly ad rows, 200 clicks and 100 attributed orders in the window; then at least 5 attributed orders and 50 clicks in every one of the six day-windows.","th":"ต้องมีข้อมูลโฆษณารายชั่วโมงอย่างน้อย 60 วัน คลิกอย่างน้อย 200 ครั้ง และออเดอร์ที่ระบบ attribution บันทึกอย่างน้อย 100 รายการในช่วงเวลานี้ จากนั้นต้องมีออเดอร์อย่างน้อย 5 รายการและคลิกอย่างน้อย 50 ครั้งในทุกช่วงเวลาทั้งหกช่วง"},"exclusions":[{"en":"Campaign days (platform double-dates) are excluded from every pooled window table, because they invert the ranking — 88.3% of campaign-day spend falls on a Tuesday or a Saturday, so an all-days table imports both the inversion and a weekday skew.","th":"วันแคมเปญ (double-date ของแพลตฟอร์ม) ถูกตัดออกจากทุกตารางที่รวมช่วงเวลา เพราะทำให้ลำดับกลับด้าน ค่าโฆษณาในวันแคมเปญ 88.3% ตกอยู่ในวันอังคารหรือวันเสาร์ ตารางที่รวมทุกวันจึงดึงทั้งการกลับด้านและความเอนเอียงของวันในสัปดาห์เข้ามาด้วย"},{"en":"An earlier 20-shop panel of the largest advertisers is excluded outright. It was measured to differ from the rest of the fleet on three of four tested properties (median best-to-worst spread 1.41× against 2.14×, Mann-Whitney p = 0.0093), so nothing computed on it is published here.","th":"พาเนลเดิม 20 ร้านค้าที่ยิงแอดมากที่สุดถูกตัดออกทั้งหมด เพราะวัดได้ว่าต่างจากร้านค้าที่เหลือใน 3 จาก 4 คุณสมบัติที่ทดสอบ (ค่ามัธยฐานของช่วงห่างดีสุด-แย่สุด 1.41 เท่า เทียบกับ 2.14 เท่า, Mann-Whitney p = 0.0093) ตัวเลขที่คำนวณจากพาเนลนั้นจึงไม่ถูกเผยแพร่ที่นี่"}],"measuredOn":"2026-08-17"},{"id":"shopee-click-economics","label":{"en":"Shopee per-click and per-impression economics","th":"เศรษฐศาสตร์ต่อคลิกและต่ออิมเพรสชันของ Shopee"},"platform":"shopee-th","window":{"en":"1 Feb 2026 – 16 Aug 2026","th":"1 ก.พ. 2026 – 16 ส.ค. 2026"},"windowIso":"2026-02-01/2026-08-16","grain":{"en":"campaign × day-window, matched to the advertised product","th":"แคมเปญ × ช่วงเวลาของวัน จับคู่กับสินค้าที่ยิงแอด"},"shopBand":"80+","observations":{"en":"9.11M of 9.21M clicks matched to a product (98.9%), across 333.9M impressions.","th":"จับคู่คลิกกับสินค้าได้ 9.11 ล้านจาก 9.21 ล้านคลิก (98.9%) จากอิมเพรสชันรวม 333.9 ล้านครั้ง"},"eligibility":{"en":"Single-product ads only. The ads fact does not carry the item id in its primary key, so a multi-item campaign dumps all of its clicks onto one arbitrary item; the filter is mandatory, not cosmetic.","th":"เฉพาะโฆษณาแบบสินค้าเดียว เพราะตารางข้อมูลโฆษณาไม่ได้เก็บ item id ไว้ใน primary key แคมเปญหลายสินค้าจึงเทคลิกทั้งหมดลงบนสินค้าใดสินค้าหนึ่งแบบสุ่ม ตัวกรองนี้จำเป็น ไม่ใช่แค่ความเรียบร้อย"},"exclusions":[{"en":"Margin is each campaign’s own advertised product’s realised margin, averaged over the window, and is verified to exclude ad cost — so it can be subtracted against CPC without double-counting.","th":"ค่ามาร์จิ้นใช้ค่ามาร์จิ้นจริงของสินค้าที่แคมเปญนั้นยิงแอดเอง เฉลี่ยตลอดช่วงเวลา และตรวจสอบแล้วว่าไม่ได้หักค่าโฆษณาไว้ จึงนำไปหักกับ CPC ได้โดยไม่นับซ้ำ"}],"measuredOn":"2026-08-18"},{"id":"shopee-order-clock","label":{"en":"Shopee order-book clock by product category","th":"นาฬิกาคำสั่งซื้อ Shopee แยกตามหมวดสินค้า"},"platform":"shopee-th","window":{"en":"Full Shopee order history held for the panel as at 17 Aug 2026","th":"ประวัติคำสั่งซื้อ Shopee ทั้งหมดที่พาเนลมี ณ วันที่ 17 ส.ค. 2026"},"grain":{"en":"order line × shop-local order hour","th":"รายการสินค้าในออเดอร์ × ชั่วโมงที่สั่งซื้อตามเวลาท้องถิ่นของร้าน"},"shopBand":"150+","observations":{"en":"4.7M order lines across 29 L1 categories. This panel is the whole order book, not only the shops that advertise.","th":"รายการสินค้าในออเดอร์ 4.7 ล้านรายการ ครอบคลุม 29 หมวดหลัก พาเนลนี้คือคำสั่งซื้อทั้งหมด ไม่ใช่เฉพาะร้านที่ยิงแอด"},"eligibility":{"en":"Categories below 20,000 order lines are dropped, then categories below the minimum cell size of 8 distinct shops are suppressed.","th":"ตัดหมวดที่มีรายการสินค้าต่ำกว่า 20,000 รายการออก จากนั้นระงับหมวดที่มีร้านค้าน้อยกว่าเกณฑ์ขั้นต่ำ 8 ร้าน"},"exclusions":[{"en":"Category labels come from a fuzzy match against the declared commission-rate tree, not from the platform category API. Mislabelling attenuates every result toward zero, so the structure reported here is a lower bound.","th":"ป้ายหมวดหมู่มาจากการจับคู่แบบใกล้เคียงกับตารางอัตราค่าธรรมเนียมที่ประกาศไว้ ไม่ได้มาจาก API หมวดหมู่ของแพลตฟอร์ม การติดป้ายผิดจะทำให้ผลลัพธ์ทุกตัวถูกดึงเข้าหาศูนย์ โครงสร้างที่รายงานไว้จึงเป็นค่าต่ำสุดที่เป็นไปได้"},{"en":"The price-per-unit column is withheld: 318,259 bundle and free-gift lines carry a zero unit price on 100% of rows, with exposure ranging 0.02%–18.0% by category, so every category average would be understated by an unequal amount.","th":"ไม่เผยแพร่คอลัมน์ราคาต่อหน่วย เพราะรายการ bundle และของแถม 318,259 รายการมีราคาต่อหน่วยเป็นศูนย์ครบ 100% ของแถว และสัดส่วนต่างกันไป 0.02%–18.0% ในแต่ละหมวด ค่าเฉลี่ยของทุกหมวดจึงต่ำกว่าจริงในระดับที่ไม่เท่ากัน"}],"measuredOn":"2026-08-17"},{"id":"shopee-campaign-days","label":{"en":"Shopee campaign-day panel","th":"พาเนลวันแคมเปญของ Shopee"},"platform":"shopee-th","window":{"en":"9 platform double-dates against 250 ordinary days, 1 Dec 2025 – 16 Aug 2026","th":"วัน double-date ของแพลตฟอร์ม 9 วัน เทียบกับวันปกติ 250 วัน ช่วง 1 ธ.ค. 2025 – 16 ส.ค. 2026"},"windowIso":"2025-12-01/2026-08-16","grain":{"en":"shop × day-window × day type","th":"ร้านค้า × ช่วงเวลาของวัน × ประเภทวัน"},"shopBand":"70+","observations":{"en":"Shops estimable on both day types form the paired panel; the attribution comparison runs on the 50+ shops that also have an attribution-free order series for both day types.","th":"ร้านค้าที่ประเมินได้ทั้งสองประเภทวันคือพาเนลแบบจับคู่ ส่วนการเปรียบเทียบ attribution ใช้ร้านค้า 50+ ร้านที่มีชุดข้อมูลคำสั่งซื้อแบบไม่พึ่ง attribution ครบทั้งสองประเภทวันด้วย"},"eligibility":{"en":"A shop must have an estimable cost per attributed order in the window on both campaign days and ordinary days.","th":"ร้านค้าต้องมีต้นทุนต่อออเดอร์ที่ระบบ attribution บันทึกซึ่งประเมินได้ ทั้งในวันแคมเปญและวันปกติ"},"exclusions":[{"en":"The finding rests on six mid-tier February–August double-dates. 9.9 and 11.11 fall outside the window entirely, 12.12 carries only 0.34% of campaign-day spend, and 1 January is not a campaign day at all (it ranks 173rd of 259 days by spend). It therefore speaks to ordinary double-dates and not to platform mega-days, paydays or flash sales.","th":"ผลนี้ตั้งอยู่บน double-date ระดับกลาง 6 วันในช่วงกุมภาพันธ์ถึงสิงหาคม วันที่ 9.9 และ 11.11 อยู่นอกช่วงข้อมูล 12.12 มีค่าโฆษณาเพียง 0.34% ของค่าโฆษณาวันแคมเปญทั้งหมด และ 1 มกราคมไม่ใช่วันแคมเปญเลย (อยู่อันดับ 173 จาก 259 วันเมื่อเรียงตามค่าโฆษณา) ผลนี้จึงพูดถึง double-date ทั่วไปเท่านั้น ไม่ได้พูดถึงวันเมกาเซล วันเงินเดือนออก หรือ flash sale"}],"measuredOn":"2026-08-17"},{"id":"shopee-dark-spell","label":{"en":"Shopee dark-spell panel (delayed conversion)","th":"พาเนลช่วงมืดของ Shopee (คอนเวอร์ชันที่มาช้า)"},"platform":"shopee-th","window":{"en":"1 Dec 2025 – 16 Aug 2026","th":"1 ธ.ค. 2025 – 16 ส.ค. 2026"},"windowIso":"2025-12-01/2026-08-16","grain":{"en":"campaign × hour, restricted to hours with no ad activity at all","th":"แคมเปญ × ชั่วโมง เฉพาะชั่วโมงที่ไม่มีกิจกรรมโฆษณาเลย"},"shopBand":"70+","observations":{"en":"1,078 campaigns and 3.62M dark campaign-hours. A dark hour is one with zero clicks, zero impressions and zero spend, observed rather than inferred: 98.09% of campaign-days carry exactly 24 rows, and the density is the platform’s own.","th":"แคมเปญ 1,078 แคมเปญ และชั่วโมงมืด 3.62 ล้านชั่วโมง ชั่วโมงมืดคือชั่วโมงที่มีคลิก อิมเพรสชัน และค่าโฆษณาเป็นศูนย์ทั้งหมด ซึ่งสังเกตได้จริงไม่ใช่การอนุมาน เพราะ 98.09% ของวัน-แคมเปญมีข้อมูลครบ 24 แถวพอดี และความครบถ้วนนี้มาจากแพลตฟอร์มเอง"},"eligibility":{"en":"Campaigns that go dark and recorded at least one attributed order during a dark hour.","th":"แคมเปญที่เข้าสู่ช่วงมืด และมีออเดอร์ที่ระบบ attribution บันทึกไว้อย่างน้อยหนึ่งรายการในชั่วโมงมืด"},"exclusions":[{"en":"The exposure denominator is the eligible click pool over the preceding 168 hours, not elapsed panel-hours. An earlier pass used panel-hours and produced a smeared survival curve rather than a delay kernel; every per-panel-hour figure is superseded.","th":"ตัวหารของ exposure คือคลังคลิกที่มีสิทธิ์ในช่วง 168 ชั่วโมงก่อนหน้า ไม่ใช่จำนวนชั่วโมงที่ผ่านไป การคำนวณรอบก่อนใช้จำนวนชั่วโมงและได้เส้นการอยู่รอดที่เบลอ ไม่ใช่ delay kernel ตัวเลขที่คิดต่อชั่วโมงทั้งหมดจึงถูกแทนที่แล้ว"}],"measuredOn":"2026-08-18"},{"id":"shopee-config","label":{"en":"Shopee ad configuration and platform mechanics","th":"การตั้งค่าโฆษณาและกลไกแพลตฟอร์มของ Shopee"},"platform":"shopee-th","window":{"en":"Live platform reads, 7 Jul 2026 – 25 Aug 2026","th":"อ่านค่าจากแพลตฟอร์มจริง 7 ก.ค. 2026 – 25 ส.ค. 2026"},"grain":{"en":"campaign settings, shop toggles and ads reporting rows","th":"การตั้งค่าแคมเปญ สวิตช์ระดับร้านค้า และแถวข้อมูลรายงานโฆษณา"},"shopBand":"60+","observations":{"en":"THB 42.9M of campaign spend for the configuration mix; 180,695 attributed-GMV rows for the hour-crediting check; shop-level toggles read on 60+ shops.","th":"ค่าโฆษณาแคมเปญ 42.9 ล้านบาทสำหรับสัดส่วนการตั้งค่า, 180,695 แถวของ GMV ที่ระบบ attribution บันทึกสำหรับการตรวจสอบการให้เครดิตรายชั่วโมง และอ่านสวิตช์ระดับร้านค้าจากร้านค้า 60+ ร้าน"},"eligibility":{"en":"Every shop in the intraday panel, plus the shops whose account-state toggles are ingested.","th":"ทุกร้านค้าในพาเนลรายชั่วโมง รวมกับร้านค้าที่มีการดึงค่าสวิตช์สถานะบัญชีเข้ามา"},"exclusions":[{"en":"These are properties of the platform, not benchmarks of seller performance. They are published because they change how every other number on this page must be read.","th":"ทั้งหมดนี้เป็นคุณสมบัติของแพลตฟอร์ม ไม่ใช่ค่าอ้างอิงผลงานของผู้ขาย เผยแพร่ไว้เพราะมันเปลี่ยนวิธีอ่านตัวเลขอื่นทุกตัวบนหน้านี้"}],"measuredOn":"2026-08-25"},{"id":"shopee-margin","label":{"en":"Shopee margin panel","th":"พาเนลค่ามาร์จิ้นของ Shopee"},"platform":"shopee-th","window":{"en":"Trailing 180 days to 18 Aug 2026","th":"ย้อนหลัง 180 วันถึง 18 ส.ค. 2026"},"grain":{"en":"order line, product model, and shop","th":"รายการสินค้าในออเดอร์, โมเดลสินค้า และร้านค้า"},"shopBand":"150+","observations":{"en":"2.03M order lines carrying THB 1bn+ of GMV for the hourly contribution-margin cut; 115,634 product-model rows for realised margin; 150+ shops at 92.9% COGS coverage for the net figure.","th":"รายการสินค้าในออเดอร์ 2.03 ล้านรายการ คิดเป็น GMV กว่า 1 พันล้านบาท สำหรับการตัดค่ามาร์จิ้นรายชั่วโมง, 115,634 แถวของโมเดลสินค้าสำหรับค่ามาร์จิ้นจริง และร้านค้า 150+ ร้านที่มีข้อมูล COGS ครบ 92.9% สำหรับตัวเลขสุทธิ"},"eligibility":{"en":"Order lines with a cost basis. Shops whose COGS is largely inferred rather than entered are the reason the coverage figure is published beside the margin.","th":"เฉพาะรายการที่มีฐานต้นทุน ร้านค้าที่ COGS ส่วนใหญ่มาจากการอนุมานแทนที่จะกรอกเองคือเหตุผลที่ต้องเผยแพร่ตัวเลขความครบถ้วนควบคู่กับค่ามาร์จิ้น"},"exclusions":[{"en":"The three margin figures sit at three different grains (order line, product model, shop) and are not a strict arithmetic chain. They are published together because the ~11pp gap between the product-model figure and the shop net figure is the ad cost the former leaves out, and the two reconcile on that reading.","th":"ตัวเลขค่ามาร์จิ้นทั้งสามอยู่คนละระดับกัน (รายการสินค้า, โมเดลสินค้า, ร้านค้า) และไม่ใช่ห่วงโซ่การคำนวณที่ต่อกันตรง ๆ ที่เผยแพร่รวมกันเพราะช่องว่างราว 11 จุดเปอร์เซ็นต์ระหว่างตัวเลขระดับโมเดลสินค้ากับตัวเลขสุทธิระดับร้านคือค่าโฆษณาที่ตัวแรกไม่ได้หักไว้ และทั้งสองสอดคล้องกันเมื่ออ่านแบบนี้"}],"measuredOn":"2026-08-18"},{"id":"shopee-bundle-flag","label":{"en":"Shopee bundle-deal flag audit","th":"การตรวจสอบแฟล็ก bundle deal ของ Shopee"},"platform":"shopee-th","window":{"en":"Historical bundle deals held for the panel as at 26 Jul 2026","th":"ดีลแบบ bundle ในอดีตที่พาเนลมี ณ วันที่ 26 ก.ค. 2026"},"grain":{"en":"order line × promotion tag","th":"รายการสินค้าในออเดอร์ × แท็กโปรโมชัน"},"shopBand":"60+","observations":{"en":"Orders that meet a live deal’s qualification threshold, compared against the orders the platform actually tags as having redeemed it.","th":"ออเดอร์ที่เข้าเงื่อนไขของดีลที่เปิดอยู่ เทียบกับออเดอร์ที่แพลตฟอร์มติดแท็กว่าใช้สิทธิ์ดีลนั้นจริง"},"eligibility":{"en":"Shops with at least one historical bundle deal whose qualification threshold can be evaluated from the order lines.","th":"ร้านค้าที่มีดีลแบบ bundle ในอดีตอย่างน้อยหนึ่งดีล ซึ่งประเมินเงื่อนไขการเข้าร่วมได้จากรายการสินค้าในออเดอร์"},"exclusions":[{"en":"Only the tagging rate is published. The qualification lift measured beside it is a before-and-during comparison with no control group, so it is suppressed under the no-causal-claims rule.","th":"เผยแพร่เฉพาะอัตราการติดแท็กเท่านั้น ส่วนตัวเลขการเพิ่มขึ้นของการเข้าเงื่อนไขที่วัดควบคู่กันเป็นการเทียบก่อนกับระหว่างโดยไม่มีกลุ่มควบคุม จึงถูกระงับตามกฎห้ามอ้างเหตุเป็นผล"}],"measuredOn":"2026-07-26"},{"id":"tiktok-hourly-audit","label":{"en":"TikTok Shop hourly ad-reporting audit","th":"การตรวจสอบรายงานโฆษณารายชั่วโมงของ TikTok Shop"},"platform":"tiktok-shop-th","window":{"en":"4 Jun 2025 – 17 Aug 2026","th":"4 มิ.ย. 2025 – 17 ส.ค. 2026"},"windowIso":"2025-06-04/2026-08-17","grain":{"en":"advertiser × campaign × hour","th":"ผู้ลงโฆษณา × แคมเปญ × ชั่วโมง"},"shopBand":"40+","observations":{"en":"1,669,959 hourly rows carrying THB 45.4M of expense, reconciled against the same accounts’ daily reporting.","th":"ข้อมูลรายชั่วโมง 1,669,959 แถว รวมค่าใช้จ่าย 45.4 ล้านบาท กระทบยอดกับรายงานรายวันของบัญชีเดียวกัน"},"eligibility":{"en":"Every TikTok Shop advertiser account connected to the panel.","th":"บัญชีผู้ลงโฆษณา TikTok Shop ทุกบัญชีที่เชื่อมต่อกับพาเนล"},"exclusions":[{"en":"This panel produced no benchmarks. It is published as a negative result: the hour dimension of the source is unusable, and any intraday TikTok figure computed from it — including several we computed ourselves — is an artefact.","th":"พาเนลนี้ไม่ได้ให้ค่าอ้างอิงใด ๆ แต่เผยแพร่ในฐานะผลลัพธ์เชิงลบ มิติชั่วโมงของแหล่งข้อมูลใช้ไม่ได้ ตัวเลขรายชั่วโมงของ TikTok ที่คำนวณจากแหล่งนี้ รวมถึงหลายตัวที่เราคำนวณเอง เป็นสิ่งที่เกิดจากความผิดพลาดของข้อมูล"}],"measuredOn":"2026-08-17"}],"tables":[{"id":"intraday-window-clock","panelId":"shopee-intraday","label":{"en":"What a Shopee ad click costs by time of day","th":"คลิกโฆษณา Shopee ราคาเท่าไรในแต่ละช่วงเวลาของวัน"},"summary":{"en":"Ordinary days only. The first six columns are spend-weighted across the panel; the last three are equal-weighted, one vote per shop, with each window indexed to that shop’s own daily mean.","th":"เฉพาะวันปกติ หกคอลัมน์แรกถ่วงน้ำหนักด้วยค่าโฆษณาทั่วทั้งพาเนล สามคอลัมน์สุดท้ายให้น้ำหนักเท่ากันหนึ่งเสียงต่อหนึ่งร้าน โดยแต่ละช่วงเวลาเทียบกับค่าเฉลี่ยรายวันของร้านนั้นเอง"},"columns":[{"id":"window","label":{"en":"Window","th":"ช่วงเวลา"},"format":"text"},{"id":"spendShare","label":{"en":"Share of ad spend","th":"สัดส่วนค่าโฆษณา"},"format":"percent"},{"id":"clickShare","label":{"en":"Share of clicks","th":"สัดส่วนคลิก"},"format":"percent"},{"id":"cpc","label":{"en":"CPC","th":"CPC"},"format":"thb"},{"id":"cvr","label":{"en":"CVR","th":"CVR"},"format":"percent"},{"id":"costPerOrder","label":{"en":"Cost per attributed order","th":"ต้นทุนต่อออเดอร์ที่ attribution บันทึก"},"format":"thb"},{"id":"roas","label":{"en":"ROAS","th":"ROAS"},"format":"ratio"},{"id":"relCost","label":{"en":"Relative cost per order","th":"ต้นทุนต่อออเดอร์เชิงเปรียบเทียบ"},"format":"index"},{"id":"bestShare","label":{"en":"Best window for","th":"เป็นช่วงดีที่สุดของ"},"format":"percent"},{"id":"worstShare","label":{"en":"Worst window for","th":"เป็นช่วงแย่ที่สุดของ"},"format":"percent"}],"rows":[{"id":"w00-01","highlight":true,"cells":[{"text":{"en":"00–01 midnight","th":"00–01 เที่ยงคืน"}},{"value":14.3},{"value":9.6},{"value":5.25},{"value":7.18},{"value":73},{"value":8.8},{"value":1.29},{"value":15.1},{"value":51.2}]},{"id":"w02-07","highlight":false,"cells":[{"text":{"en":"02–07 early morning","th":"02–07 เช้ามืด"}},{"value":13.2},{"value":13.4},{"value":3.47},{"value":5.64},{"value":61},{"value":7.9},{"value":1.18},{"value":1.2},{"value":24.4}]},{"id":"w08-11","highlight":false,"cells":[{"text":{"en":"08–11 morning","th":"08–11 ช่วงเช้า"}},{"value":20.7},{"value":20.7},{"value":3.5},{"value":7.46},{"value":47},{"value":10.6},{"value":0.92},{"value":12.8},{"value":1.2}]},{"id":"w12-16","highlight":false,"cells":[{"text":{"en":"12–16 afternoon","th":"12–16 ช่วงบ่าย"}},{"value":23.4},{"value":24.1},{"value":3.39},{"value":7.48},{"value":45},{"value":11.4},{"value":0.86},{"value":11.6},{"value":2.3}]},{"id":"w17-19","highlight":false,"cells":[{"text":{"en":"17–19 early evening","th":"17–19 หัวค่ำ"}},{"value":11.5},{"value":12.1},{"value":3.31},{"value":6.84},{"value":48},{"value":10.4},{"value":0.91},{"value":7},{"value":20.9}]},{"id":"w20-23","highlight":true,"cells":[{"text":{"en":"20–23 late evening","th":"20–23 ค่ำ"}},{"value":16.9},{"value":20.2},{"value":2.93},{"value":7},{"value":42},{"value":11.9},{"value":0.8},{"value":52.3},{"value":0}]}],"caveats":[{"en":"The 0.0% in the bottom-right cell is a rounded count, not a proof. Block-bootstrapping days within shops puts the number of shops whose worst window is 20–23 at a mean of 2 with a 95% interval of [0, 5], against a day-multinomial null that expects 25. Quote it as “essentially no shop”, not as an exact zero.","th":"ค่า 0.0% ในช่องขวาล่างคือจำนวนที่ปัดแล้ว ไม่ใช่ข้อพิสูจน์ การทำ block bootstrap ตามวันภายในแต่ละร้านให้จำนวนร้านที่ช่วง 20–23 แย่ที่สุดเฉลี่ย 2 ร้าน ช่วงความเชื่อมั่น 95% คือ [0, 5] เทียบกับสมมติฐานว่างแบบ multinomial รายวันที่คาดไว้ 25 ร้าน ให้อ้างว่า \"แทบไม่มีร้านไหนเลย\" ไม่ใช่ศูนย์พอดี"},{"en":"The ordering survives every filter tried — none, ≥20 orders, ≥100 clicks, ≥50 orders and 200 clicks, ≥100 orders and 500 clicks: 20–23 is the worst window for no shop under all six.","th":"ลำดับนี้ยืนอยู่ได้กับทุกตัวกรองที่ทดสอบ ทั้งไม่กรองเลย, ≥20 ออเดอร์, ≥100 คลิก, ≥50 ออเดอร์และ 200 คลิก, ≥100 ออเดอร์และ 500 คลิก ทั้งหกกรณีให้ผลว่าช่วง 20–23 ไม่ใช่ช่วงแย่ที่สุดของร้านใดเลย"},{"en":"ROAS here is Shopee’s broad attribution basis, which is multi-touch and cannot be de-duplicated, so every ROAS figure is an upper bound. CPC is spend divided by clicks and carries no attribution term, so it is invariant to the choice of basis.","th":"ROAS ในตารางนี้ใช้ฐาน broad attribution ของ Shopee ซึ่งเป็นแบบหลายจุดสัมผัสและตัดซ้ำไม่ได้ ตัวเลข ROAS ทุกตัวจึงเป็นค่าสูงสุดที่เป็นไปได้ ส่วน CPC คือค่าโฆษณาหารด้วยคลิก ไม่มีเทอมของ attribution จึงไม่เปลี่ยนไม่ว่าจะเลือกฐานใด"}]},{"id":"intraday-hour-bands","panelId":"shopee-intraday","label":{"en":"The clock at hour granularity","th":"นาฬิกาเดียวกันในระดับรายชั่วโมง"},"summary":{"en":"Each shop’s hourly cost per attributed order indexed to its own daily mean, then aggregated equal-weighted. Hours that are not separable at the panel’s precision are published as a band rather than split into invented per-hour figures.","th":"นำต้นทุนต่อออเดอร์รายชั่วโมงของแต่ละร้านมาเทียบกับค่าเฉลี่ยรายวันของร้านนั้นเอง แล้วรวมแบบให้น้ำหนักเท่ากัน ชั่วโมงที่แยกจากกันไม่ได้ด้วยความละเอียดของพาเนลจะเผยแพร่เป็นกลุ่ม แทนที่จะแตกเป็นตัวเลขรายชั่วโมงที่กุขึ้นมา"},"columns":[{"id":"hours","label":{"en":"Hour of day","th":"ชั่วโมงของวัน"},"format":"text"},{"id":"relCost","label":{"en":"Relative cost per order","th":"ต้นทุนต่อออเดอร์เชิงเปรียบเทียบ"},"format":"index"},{"id":"spendShare","label":{"en":"Share of fleet ad spend","th":"สัดส่วนค่าโฆษณารวมของพาเนล"},"format":"percent"}],"rows":[{"id":"h21","highlight":true,"cells":[{"text":{"en":"21","th":"21"}},{"value":0.76},{"value":4.5}]},{"id":"h20","highlight":true,"cells":[{"text":{"en":"20","th":"20"}},{"value":0.76},{"value":4.5}]},{"id":"h23","highlight":true,"cells":[{"text":{"en":"23","th":"23"}},{"value":0.76},{"value":3.5}]},{"id":"h22","highlight":true,"cells":[{"text":{"en":"22","th":"22"}},{"value":0.77},{"value":4.2}]},{"id":"h12","cells":[{"text":{"en":"12","th":"12"}},{"value":0.81},{"value":5.6}]},{"id":"h15","cells":[{"text":{"en":"15","th":"15"}},{"value":0.84},{"value":4.4}]},{"id":"h19","cells":[{"text":{"en":"19","th":"19"}},{"value":0.85},{"value":3.9}]},{"id":"h-mid","cells":[{"text":{"en":"8–11, 13–14, 16–18","th":"8–11, 13–14, 16–18"}},{"value":0.86,"max":0.94},{"value":42.7}]},{"id":"h7","cells":[{"text":{"en":"7","th":"7"}},{"value":1.03},{"value":4}]},{"id":"h-night","cells":[{"text":{"en":"1–6","th":"1–6"}},{"value":1.16,"max":1.27},{"value":13.3}]},{"id":"h0","highlight":true,"cells":[{"text":{"en":"0","th":"0"}},{"value":1.46},{"value":9.5}]}],"caveats":[{"en":"Hour 0 is the single dearest hour of the day and absorbs 9.5% of all ad spend on the panel — more than any hour except 10 and 12.","th":"ชั่วโมง 0 คือชั่วโมงที่แพงที่สุดของวัน และดูดค่าโฆษณาไป 9.5% ของทั้งพาเนล มากกว่าทุกชั่วโมงยกเว้นชั่วโมง 10 และ 12"}]},{"id":"window-click-economics","panelId":"shopee-click-economics","label":{"en":"Per-click economics by time of day","th":"เศรษฐศาสตร์ต่อคลิกในแต่ละช่วงเวลาของวัน"},"summary":{"en":"Profit per click = margin × basket value × conversion rate − CPC, using each campaign’s own advertised product’s margin. POAS is profit divided by ad spend and is the budget-constrained reading.","th":"กำไรต่อคลิก = ค่ามาร์จิ้น × มูลค่าตะกร้า × อัตราคอนเวอร์ชัน − CPC โดยใช้ค่ามาร์จิ้นของสินค้าที่แคมเปญนั้นยิงแอดเอง ส่วน POAS คือกำไรหารด้วยค่าโฆษณา ซึ่งเป็นมุมมองสำหรับกรณีงบจำกัด"},"columns":[{"id":"window","label":{"en":"Window","th":"ช่วงเวลา"},"format":"text"},{"id":"clicks","label":{"en":"Clicks","th":"คลิก"},"format":"millions"},{"id":"cr","label":{"en":"Conversion rate","th":"อัตราคอนเวอร์ชัน"},"format":"percent"},{"id":"cpc","label":{"en":"CPC","th":"CPC"},"format":"thb"},{"id":"basket","label":{"en":"Basket value","th":"มูลค่าตะกร้า"},"format":"thb"},{"id":"margin","label":{"en":"Margin","th":"ค่ามาร์จิ้น"},"format":"percent"},{"id":"profitPerClick","label":{"en":"Profit per click","th":"กำไรต่อคลิก"},"format":"thb"},{"id":"poas","label":{"en":"POAS","th":"POAS"},"format":"ratio"}],"rows":[{"id":"w00-01","highlight":true,"cells":[{"text":{"en":"00–01 midnight","th":"00–01 เที่ยงคืน"}},{"value":0.835},{"value":10.4},{"value":6.75},{"value":649},{"value":29.3},{"value":13.01},{"value":2.93}]},{"id":"w02-07","highlight":false,"cells":[{"text":{"en":"02–07 early morning","th":"02–07 เช้ามืด"}},{"value":1.11},{"value":8.46},{"value":4.45},{"value":456},{"value":26},{"value":5.59},{"value":2.25}]},{"id":"w08-11","highlight":false,"cells":[{"text":{"en":"08–11 morning","th":"08–11 ช่วงเช้า"}},{"value":1.85},{"value":10.41},{"value":4.18},{"value":462},{"value":26.7},{"value":8.65},{"value":3.07}]},{"id":"w12-16","highlight":false,"cells":[{"text":{"en":"12–16 afternoon","th":"12–16 ช่วงบ่าย"}},{"value":2.28},{"value":9.95},{"value":3.96},{"value":487},{"value":27.9},{"value":9.57},{"value":3.42}]},{"id":"w17-19","highlight":false,"cells":[{"text":{"en":"17–19 early evening","th":"17–19 หัวค่ำ"}},{"value":1.16},{"value":9.04},{"value":3.93},{"value":469},{"value":27.4},{"value":7.71},{"value":2.96}]},{"id":"w20-23","highlight":true,"cells":[{"text":{"en":"20–23 late evening","th":"20–23 ค่ำ"}},{"value":1.87},{"value":9.42},{"value":3.36},{"value":468},{"value":27.7},{"value":8.84},{"value":3.63}]}],"caveats":[{"en":"The ranking splits by metric. POAS favours 20–23 at 3.63; profit per click favours 00–01 at THB 13.01, whose POAS is fifth of six. Under a fixed ad budget — the ordinary case — the evening wins; midnight wins only if you are unconstrained.","th":"ลำดับต่างกันตามตัวชี้วัด POAS ให้ช่วง 20–23 ชนะที่ 3.63 ส่วนกำไรต่อคลิกให้ช่วง 00–01 ชนะที่ 13.01 บาท ซึ่ง POAS ของมันอยู่อันดับ 5 จาก 6 ถ้างบโฆษณาจำกัดซึ่งเป็นกรณีปกติ ช่วงค่ำชนะ ส่วนเที่ยงคืนชนะเฉพาะตอนที่งบไม่จำกัด"},{"en":"No window is loss-making: the worst still returns THB 2.25 of profit per THB 1 of ad spend on this basis.","th":"ไม่มีช่วงเวลาใดขาดทุน ช่วงที่แย่ที่สุดยังให้กำไร 2.25 บาทต่อค่าโฆษณา 1 บาทบนฐานการคำนวณนี้"},{"en":"These are averages, not marginals. A POAS of 3.63 at 20–23 does not mean the next baht spent there returns 3.63. Nothing in this dataset prices a marginal baht.","th":"ตัวเลขเหล่านี้เป็นค่าเฉลี่ย ไม่ใช่ค่าส่วนเพิ่ม POAS 3.63 ในช่วง 20–23 ไม่ได้แปลว่าเงินบาทถัดไปที่ใส่เข้าไปจะได้คืน 3.63 ไม่มีอะไรในชุดข้อมูลนี้ที่ตีราคาเงินบาทส่วนเพิ่ม"},{"en":"The conversion side rests on broad attribution and the over-crediting is worst exactly at midnight, the platform’s checkout peak. The THB 13.01 cell is the least trustworthy number in the table.","th":"ฝั่งคอนเวอร์ชันตั้งอยู่บน broad attribution และการให้เครดิตเกินจริงรุนแรงที่สุดตอนเที่ยงคืนพอดี ซึ่งเป็นช่วงที่แพลตฟอร์มดันการเช็คเอาต์ ช่อง 13.01 บาทจึงเป็นตัวเลขที่น่าเชื่อถือน้อยที่สุดในตาราง"}]},{"id":"window-impression-economics","panelId":"shopee-click-economics","label":{"en":"Per-impression economics by time of day","th":"เศรษฐศาสตร์ต่ออิมเพรสชันในแต่ละช่วงเวลาของวัน"},"summary":{"en":"What the auction actually allocates is impressions, not clicks. Changing basis moves exactly one pair of ranks — morning and late evening swap third and fourth, because morning’s CTR is slightly higher.","th":"สิ่งที่การประมูลจัดสรรจริงคืออิมเพรสชัน ไม่ใช่คลิก การเปลี่ยนฐานทำให้อันดับสลับกันเพียงคู่เดียว คือช่วงเช้ากับช่วงค่ำสลับอันดับ 3 กับ 4 เพราะ CTR ของช่วงเช้าสูงกว่าเล็กน้อย"},"columns":[{"id":"window","label":{"en":"Window","th":"ช่วงเวลา"},"format":"text"},{"id":"impressions","label":{"en":"Impressions","th":"อิมเพรสชัน"},"format":"millions"},{"id":"ctr","label":{"en":"CTR","th":"CTR"},"format":"percent"},{"id":"cpm","label":{"en":"CPM","th":"CPM"},"format":"thb"},{"id":"profitPerMille","label":{"en":"Profit per 1,000 impressions","th":"กำไรต่อ 1,000 อิมเพรสชัน"},"format":"thb"}],"rows":[{"id":"w00-01","highlight":true,"cells":[{"text":{"en":"00–01 midnight","th":"00–01 เที่ยงคืน"}},{"value":28.1},{"value":2.97},{"value":200.15},{"value":386.08}]},{"id":"w02-07","highlight":false,"cells":[{"text":{"en":"02–07 early morning","th":"02–07 เช้ามืด"}},{"value":39.3},{"value":2.83},{"value":125.99},{"value":158.07}]},{"id":"w08-11","highlight":false,"cells":[{"text":{"en":"08–11 morning","th":"08–11 ช่วงเช้า"}},{"value":66.4},{"value":2.78},{"value":116.33},{"value":240.42}]},{"id":"w12-16","highlight":false,"cells":[{"text":{"en":"12–16 afternoon","th":"12–16 ช่วงบ่าย"}},{"value":85},{"value":2.68},{"value":105.95},{"value":256.21}]},{"id":"w17-19","highlight":false,"cells":[{"text":{"en":"17–19 early evening","th":"17–19 หัวค่ำ"}},{"value":44.5},{"value":2.61},{"value":102.6},{"value":201.52}]},{"id":"w20-23","highlight":true,"cells":[{"text":{"en":"20–23 late evening","th":"20–23 ค่ำ"}},{"value":70.6},{"value":2.65},{"value":89.16},{"value":234.57}]}],"caveats":[{"en":"One counter-intuitive cell: 02–07 has the second-highest CTR of the day and the worst economics of any window. People do click at night; those clicks are simply worth less and cost more than the 20–23 ones.","th":"มีช่องหนึ่งที่ขัดกับสัญชาตญาณ ช่วง 02–07 มี CTR สูงเป็นอันดับสองของวัน แต่เศรษฐศาสตร์แย่ที่สุดในบรรดาทุกช่วง คนคลิกตอนกลางคืนจริง แต่คลิกเหล่านั้นมีมูลค่าน้อยกว่าและแพงกว่าคลิกในช่วง 20–23"}]},{"id":"window-input-spreads","panelId":"shopee-click-economics","label":{"en":"What actually varies across the day","th":"อะไรที่เปลี่ยนแปลงจริงในแต่ละช่วงของวัน"},"summary":{"en":"Ratio of the largest to the smallest window value for each input. The two price variables move roughly twice as much as anything behavioural.","th":"อัตราส่วนระหว่างค่าสูงสุดกับค่าต่ำสุดของแต่ละตัวแปรในหกช่วงเวลา ตัวแปรด้านราคาสองตัวขยับมากกว่าตัวแปรด้านพฤติกรรมประมาณสองเท่า"},"columns":[{"id":"input","label":{"en":"Input","th":"ตัวแปร"},"format":"text"},{"id":"spread","label":{"en":"Max ÷ min across the six windows","th":"ค่าสูงสุด ÷ ค่าต่ำสุด ในหกช่วงเวลา"},"format":"ratio"},{"id":"kind","label":{"en":"Kind","th":"ประเภท"},"format":"text"}],"rows":[{"id":"cpm","highlight":true,"cells":[{"text":{"en":"CPM","th":"CPM"}},{"value":2.24},{"text":{"en":"auction price","th":"ราคาประมูล"}}]},{"id":"cpc","highlight":true,"cells":[{"text":{"en":"CPC","th":"CPC"}},{"value":2.01},{"text":{"en":"auction price","th":"ราคาประมูล"}}]},{"id":"basket","cells":[{"text":{"en":"Basket value","th":"มูลค่าตะกร้า"}},{"value":1.42},{"text":{"en":"buyer behaviour","th":"พฤติกรรมผู้ซื้อ"}}]},{"id":"cr","cells":[{"text":{"en":"Conversion rate","th":"อัตราคอนเวอร์ชัน"}},{"value":1.23},{"text":{"en":"buyer behaviour","th":"พฤติกรรมผู้ซื้อ"}}]},{"id":"ctr","cells":[{"text":{"en":"CTR","th":"CTR"}},{"value":1.14},{"text":{"en":"buyer behaviour","th":"พฤติกรรมผู้ซื้อ"}}]},{"id":"margin","cells":[{"text":{"en":"Margin","th":"ค่ามาร์จิ้น"}},{"value":1.13},{"text":{"en":"product mix","th":"ส่วนผสมสินค้า"}}]}],"caveats":[{"en":"Buyers click at roughly the same rate all day (2.6–3.0%) and buy products of roughly the same margin. What changes by 2.2× is what the platform charges to reach them. On this panel the intraday variation is an auction-price phenomenon, not a consumer one.","th":"ผู้ซื้อคลิกในอัตราใกล้เคียงกันตลอดทั้งวัน (2.6–3.0%) และซื้อสินค้าที่ค่ามาร์จิ้นใกล้เคียงกัน สิ่งที่เปลี่ยนไป 2.2 เท่าคือราคาที่แพลตฟอร์มเรียกเก็บเพื่อเข้าถึงพวกเขา บนพาเนลนี้ ความต่างระหว่างชั่วโมงเป็นเรื่องราคาประมูล ไม่ใช่เรื่องพฤติกรรมผู้บริโภค"},{"en":"Margin being close to constant has a practical consequence: a shop-average margin and a per-product margin give the same window ranking, so product mix is not the lever here.","th":"การที่ค่ามาร์จิ้นเกือบคงที่มีผลในทางปฏิบัติอย่างหนึ่ง คือใช้ค่ามาร์จิ้นเฉลี่ยของร้านหรือค่ามาร์จิ้นรายสินค้าก็ให้ลำดับช่วงเวลาเหมือนกัน ส่วนผสมสินค้าจึงไม่ใช่ตัวแปรที่ใช้ปรับได้ในเรื่องนี้"}]},{"id":"consumer-order-clock","panelId":"shopee-order-clock","label":{"en":"When buyers actually order, by product category","th":"ผู้ซื้อสั่งซื้อจริงตอนไหน แยกตามหมวดสินค้า"},"summary":{"en":"The order book, not the ad account — this table has nothing to do with advertising. Shares are of that category’s own order lines by shop-local order hour.","th":"ตารางนี้มาจากคำสั่งซื้อจริง ไม่ใช่บัญชีโฆษณา และไม่เกี่ยวกับการยิงแอดเลย สัดส่วนคิดจากรายการสินค้าในออเดอร์ของหมวดนั้นเอง ตามชั่วโมงที่สั่งซื้อในเวลาท้องถิ่นของร้าน"},"columns":[{"id":"category","label":{"en":"Category","th":"หมวดสินค้า"},"format":"text"},{"id":"shops","label":{"en":"Shops","th":"ร้านค้า"},"format":"text"},{"id":"lines","label":{"en":"Order lines","th":"รายการในออเดอร์"},"format":"count"},{"id":"unitsPerLine","label":{"en":"Units per line","th":"จำนวนชิ้นต่อรายการ"},"format":"ratio"},{"id":"peakHour","label":{"en":"Peak hour","th":"ชั่วโมงพีค"},"format":"text"},{"id":"peakStability","label":{"en":"Peak reproduces","th":"ชั่วโมงพีคเกิดซ้ำ"},"format":"index"},{"id":"share0916","label":{"en":"09–16 share","th":"สัดส่วน 09–16"},"format":"percent"},{"id":"share2023","label":{"en":"20–23 share","th":"สัดส่วน 20–23"},"format":"percent"},{"id":"share0001","label":{"en":"00–01 share","th":"สัดส่วน 00–01"},"format":"percent"},{"id":"weekendShare","label":{"en":"Weekend share","th":"สัดส่วนวันหยุดสุดสัปดาห์"},"format":"percent"}],"rows":[{"id":"food-beverages","highlight":false,"cells":[{"text":{"en":"Food & Beverages","th":"อาหารและเครื่องดื่ม"}},{"text":{"en":"30+","th":"30+"}},{"value":1745513},{"value":1.3},{"text":{"en":"12:00","th":"12:00"}},{},{"value":43.1},{"value":21.9},{"value":8},{"value":29.8}]},{"id":"home-living","highlight":false,"cells":[{"text":{"en":"Home & Living","th":"บ้านและไลฟ์สไตล์"}},{"text":{"en":"80+","th":"80+"}},{"value":749428},{"value":1.66},{"text":{"en":"12:00","th":"12:00"}},{},{"value":47.2},{"value":18.3},{"value":6.3},{"value":27.8}]},{"id":"beauty","highlight":true,"cells":[{"text":{"en":"Beauty","th":"ความงาม"}},{"text":{"en":"30+","th":"30+"}},{"value":362994},{"value":1.08},{"text":{"en":"00:00","th":"00:00"}},{"value":0.99},{"value":39.4},{"value":22.1},{"value":12.1},{"value":29.1}]},{"id":"sports-outdoors","highlight":false,"cells":[{"text":{"en":"Sports & Outdoors","th":"กีฬาและกิจกรรมกลางแจ้ง"}},{"text":{"en":"30+","th":"30+"}},{"value":305564},{"value":1.53},{"text":{"en":"12:00","th":"12:00"}},{},{"value":45.1},{"value":20.9},{"value":8.5},{"value":27.4}]},{"id":"health","highlight":false,"cells":[{"text":{"en":"Health","th":"สุขภาพ"}},{"text":{"en":"20+","th":"20+"}},{"value":295007},{"value":1.11},{"text":{"en":"12:00","th":"12:00"}},{},{"value":43},{"value":18.7},{"value":9.3},{"value":33.2}]},{"id":"home-appliances","highlight":false,"cells":[{"text":{"en":"Home Appliances","th":"เครื่องใช้ไฟฟ้าในบ้าน"}},{"text":{"en":"30+","th":"30+"}},{"value":244274},{"value":1.19},{"text":{"en":"12:00","th":"12:00"}},{},{"value":47.2},{"value":17.5},{"value":5.2},{"value":28.6}]},{"id":"men-clothes","highlight":true,"cells":[{"text":{"en":"Men Clothes","th":"เสื้อผ้าผู้ชาย"}},{"text":{"en":"10+","th":"10+"}},{"value":178910},{"value":1.08},{"text":{"en":"00:00","th":"00:00"}},{"value":0.94},{"value":40.5},{"value":22.4},{"value":12},{"value":31.9}]},{"id":"men-shoes","highlight":false,"cells":[{"text":{"en":"Men Shoes","th":"รองเท้าผู้ชาย"}},{"text":{"en":"20+","th":"20+"}},{"value":101420},{"value":1.04},{"text":{"en":"12:00","th":"12:00"}},{},{"value":43.1},{"value":20.6},{"value":7.8},{"value":28.6}]},{"id":"pets","highlight":true,"cells":[{"text":{"en":"Pets","th":"สัตว์เลี้ยง"}},{"text":{"en":"10+","th":"10+"}},{"value":100153},{"value":1.28},{"text":{"en":"00:00","th":"00:00"}},{"value":0.62},{"value":39.8},{"value":22.2},{"value":10.7},{"value":33}]},{"id":"mobile-gadgets","highlight":true,"cells":[{"text":{"en":"Mobile & Gadgets","th":"มือถือและแกดเจ็ต"}},{"text":{"en":"10+","th":"10+"}},{"value":87715},{"value":1.04},{"text":{"en":"00:00","th":"00:00"}},{"value":0.71},{"value":42.7},{"value":22},{"value":11.1},{"value":26.8}]},{"id":"travel-luggage","highlight":true,"cells":[{"text":{"en":"Travel & Luggage","th":"กระเป๋าเดินทาง"}},{"text":{"en":"10+","th":"10+"}},{"value":83235},{"value":1.03},{"text":{"en":"00:00","th":"00:00"}},{"value":0.68},{"value":39.6},{"value":25},{"value":11.3},{"value":34.8}]},{"id":"hobbies-collections","highlight":false,"cells":[{"text":{"en":"Hobbies & Collections","th":"งานอดิเรกและของสะสม"}},{"text":{"en":"10+","th":"10+"}},{"value":54912},{"value":1.56},{"text":{"en":"12:00","th":"12:00"}},{},{"value":46.8},{"value":21.6},{"value":5.7},{"value":30.3}]},{"id":"cameras-drones","highlight":true,"cells":[{"text":{"en":"Cameras & Drones","th":"กล้องและโดรน"}},{"text":{"en":"10+","th":"10+"}},{"value":51544},{"value":1.05},{"text":{"en":"00:00","th":"00:00"}},{"value":0.9},{"value":43.1},{"value":21.4},{"value":11.3},{"value":26.1}]},{"id":"automobiles","highlight":false,"cells":[{"text":{"en":"Automobiles","th":"ยานยนต์"}},{"text":{"en":"8+","th":"8+"}},{"value":38774},{"value":1.89},{"text":{"en":"12:00","th":"12:00"}},{},{"value":45.1},{"value":17.2},{"value":5.9},{"value":29.4}]},{"id":"stationery","highlight":false,"cells":[{"text":{"en":"Stationery","th":"เครื่องเขียน"}},{"text":{"en":"20+","th":"20+"}},{"value":36275},{"value":3.24},{"text":{"en":"12:00","th":"12:00"}},{},{"value":49.3},{"value":17.4},{"value":8.2},{"value":26.6}]},{"id":"computers-accessories","highlight":false,"cells":[{"text":{"en":"Computers & Accessories","th":"คอมพิวเตอร์และอุปกรณ์เสริม"}},{"text":{"en":"10+","th":"10+"}},{"value":32167},{"value":1.08},{"text":{"en":"12:00","th":"12:00"}},{},{"value":50.6},{"value":17},{"value":9.2},{"value":29.8}]},{"id":"women-shoes","highlight":false,"cells":[{"text":{"en":"Women Shoes","th":"รองเท้าผู้หญิง"}},{"text":{"en":"10+","th":"10+"}},{"value":27328},{"value":1.14},{"text":{"en":"12:00","th":"12:00"}},{},{"value":43.5},{"value":20.8},{"value":7.8},{"value":29.4}]},{"id":"spare-parts","highlight":false,"cells":[{"text":{"en":"Spare Parts & Accessories","th":"อะไหล่และอุปกรณ์เสริม"}},{"text":{"en":"20+","th":"20+"}},{"value":20658},{"value":1.75},{"text":{"en":"11:00","th":"11:00"}},{},{"value":51.3},{"value":16.9},{"value":5.6},{"value":28.8}]}],"caveats":[{"en":"Read the two families as point estimates, not as an established taxonomy. Under a shop-cluster bootstrap only one of the midnight-peaking categories reproduces its peak hour at 0.95 or better; two are borderline and three are close to coin-flips. The “peak reproduces” column carries that probability, and is blank where it was not computed.","th":"ให้อ่านสองกลุ่มนี้เป็นค่าประมาณ ไม่ใช่การจัดหมวดที่ยืนยันแล้ว เมื่อทำ bootstrap แบบจัดกลุ่มตามร้าน มีเพียงหมวดเดียวในกลุ่มที่พีคตอนเที่ยงคืนที่ชั่วโมงพีคเกิดซ้ำที่ระดับ 0.95 ขึ้นไป อีกสองหมวดก้ำกึ่ง และอีกสามหมวดใกล้เคียงการโยนเหรียญ คอลัมน์ \"ชั่วโมงพีคเกิดซ้ำ\" คือความน่าจะเป็นนั้น และเว้นว่างไว้ในหมวดที่ไม่ได้คำนวณ"},{"en":"What does survive the same bootstrap is the evening gradient: the 20–23 share spans 16.9% to 25.0% across categories, a spread of 8.0 percentage points that exceeds the widest shop-clustered confidence interval of ±4.66.","th":"สิ่งที่ผ่าน bootstrap เดียวกันมาได้คือความชันของช่วงค่ำ สัดส่วนช่วง 20–23 กระจายตั้งแต่ 16.9% ถึง 25.0% ระหว่างหมวด เป็นช่วงกว้าง 8.0 จุดเปอร์เซ็นต์ ซึ่งกว้างกว่าช่วงความเชื่อมั่นแบบจัดกลุ่มตามร้านที่กว้างที่สุดคือ ±4.66"},{"en":"A category’s buyers peaking at midnight does not make midnight a good hour to advertise in. Cost per click is set by every advertiser competing in that hour, not by that category’s own buyers — and the first principal component of the shop × hour CPC matrix explains 60.8% of its variance, i.e. the hourly price is substantially a common factor.","th":"การที่ผู้ซื้อของหมวดหนึ่งพีคตอนเที่ยงคืนไม่ได้ทำให้เที่ยงคืนเป็นชั่วโมงที่ควรยิงแอด ราคาต่อคลิกถูกกำหนดโดยผู้ลงโฆษณาทุกรายที่แข่งกันในชั่วโมงนั้น ไม่ใช่โดยผู้ซื้อของหมวดนั้นเอง และองค์ประกอบหลักตัวแรกของเมทริกซ์ CPC แบบร้านค้า × ชั่วโมง อธิบายความแปรปรวนได้ 60.8% แปลว่าราคารายชั่วโมงส่วนใหญ่เป็นปัจจัยร่วม"}]},{"id":"campaign-day-inversion","panelId":"shopee-campaign-days","label":{"en":"Campaign days invert the clock","th":"วันแคมเปญทำให้นาฬิกากลับด้าน"},"summary":{"en":"Paired per shop across the panel: the same shops measured on platform double-dates and on ordinary days.","th":"จับคู่รายร้านทั่วทั้งพาเนล คือร้านเดียวกันที่วัดทั้งในวัน double-date ของแพลตฟอร์มและในวันปกติ"},"columns":[{"id":"metric","label":{"en":"Measure","th":"สิ่งที่วัด"},"format":"text"},{"id":"campaign","label":{"en":"Campaign days","th":"วันแคมเปญ"},"format":"text"},{"id":"ordinary","label":{"en":"Ordinary days","th":"วันปกติ"},"format":"text"},{"id":"test","label":{"en":"Paired test","th":"การทดสอบแบบจับคู่"},"format":"text"}],"rows":[{"id":"rank","highlight":true,"cells":[{"text":{"en":"Midnight’s rank among the six windows (1 = cheapest)","th":"อันดับของเที่ยงคืนในหกช่วงเวลา (1 = ถูกที่สุด)"}},{"text":{"en":"3.0","th":"3.0"}},{"text":{"en":"6.0","th":"6.0"}},{"text":{"en":"Wilcoxon p = 8.5e−10","th":"Wilcoxon p = 8.5e−10"}}]},{"id":"worst","cells":[{"text":{"en":"Share of shops where midnight is the worst window","th":"สัดส่วนร้านที่เที่ยงคืนเป็นช่วงแย่ที่สุด"}},{"text":{"en":"20.8%","th":"20.8%"}},{"text":{"en":"62.5%","th":"62.5%"}},{"text":{"en":"—","th":"—"}}]},{"id":"best","cells":[{"text":{"en":"Share of shops where midnight is the best window","th":"สัดส่วนร้านที่เที่ยงคืนเป็นช่วงดีที่สุด"}},{"text":{"en":"33.3%","th":"33.3%"}},{"text":{"en":"5.6%","th":"5.6%"}},{"text":{"en":"31.9% under a strict rank rule","th":"31.9% เมื่อใช้กฎอันดับแบบเข้ม"}}]},{"id":"spendShare","cells":[{"text":{"en":"Median midnight share of the day’s ad spend","th":"ค่ามัธยฐานสัดส่วนค่าโฆษณาช่วงเที่ยงคืนของวันนั้น"}},{"text":{"en":"22.2%","th":"22.2%"}},{"text":{"en":"12.6%","th":"12.6%"}},{"text":{"en":"p = 3.3e−12","th":"p = 3.3e−12"}}]},{"id":"relCost","cells":[{"text":{"en":"Midnight cost per order relative to the shop’s own day-type mean","th":"ต้นทุนต่อออเดอร์ช่วงเที่ยงคืนเทียบกับค่าเฉลี่ยของร้านในวันประเภทเดียวกัน"}},{"text":{"en":"0.947","th":"0.947"}},{"text":{"en":"1.488","th":"1.488"}},{"text":{"en":"p = 8.9e−10","th":"p = 8.9e−10"}}]},{"id":"cpc","highlight":true,"cells":[{"text":{"en":"Midnight CPC ÷ the other windows’ CPC on the same day","th":"CPC ช่วงเที่ยงคืน ÷ CPC ช่วงอื่นในวันเดียวกัน"}},{"text":{"en":"1.542","th":"1.542"}},{"text":{"en":"1.402","th":"1.402"}},{"text":{"en":"higher on campaign days in 69% of shops, p < 0.0001","th":"สูงกว่าในวันแคมเปญใน 69% ของร้าน, p < 0.0001"}}]}],"caveats":[{"en":"The statistic survives leave-one-day-out, leave-one-shop-out, a Poisson thin-cell placebo and conditioning on midnight spend share. The largest single shop contributes 3.8% of the total movement, so it is not one seller’s clock.","th":"สถิตินี้ยืนอยู่ได้ทั้งเมื่อตัดออกทีละวัน ตัดออกทีละร้าน ทดสอบกับ placebo แบบ Poisson สำหรับเซลล์ที่บาง และเมื่อควบคุมสัดส่วนค่าโฆษณาช่วงเที่ยงคืน ร้านเดียวที่ส่งผลมากที่สุดมีส่วนเพียง 3.8% ของการเปลี่ยนแปลงทั้งหมด นี่จึงไม่ใช่นาฬิกาของผู้ขายรายเดียว"},{"en":"Midnight clicks on a campaign day are dearer, not cheaper. The entire cost-per-order improvement comes from conversion — and see the attribution result below for why that conversion is not the advertiser’s to claim.","th":"คลิกช่วงเที่ยงคืนในวันแคมเปญแพงขึ้น ไม่ใช่ถูกลง การที่ต้นทุนต่อออเดอร์ดูดีขึ้นมาจากฝั่งคอนเวอร์ชันทั้งหมด และดูผลด้าน attribution ด้านล่างว่าทำไมคอนเวอร์ชันนั้นไม่ใช่ผลงานของผู้ลงโฆษณา"}]},{"id":"margin-waterfall","panelId":"shopee-margin","label":{"en":"Where the margin goes","th":"ค่ามาร์จิ้นหายไปไหน"},"summary":{"en":"Three margin figures at three grains. They are not a strict arithmetic chain, but the roughly 11-point gap between the second and third is the ad cost the second leaves out.","th":"ค่ามาร์จิ้นสามตัวที่คิดคนละระดับกัน ไม่ใช่ห่วงโซ่การคำนวณที่ต่อกันตรง ๆ แต่ช่องว่างราว 11 จุดระหว่างตัวที่สองกับตัวที่สามคือค่าโฆษณาที่ตัวที่สองไม่ได้หักไว้"},"columns":[{"id":"measure","label":{"en":"Measure","th":"สิ่งที่วัด"},"format":"text"},{"id":"grain","label":{"en":"Grain","th":"ระดับข้อมูล"},"format":"text"},{"id":"value","label":{"en":"Value","th":"ค่า"},"format":"percent"}],"rows":[{"id":"contribution","cells":[{"text":{"en":"Contribution margin, (revenue − COGS) ÷ revenue, before platform fees","th":"ค่ามาร์จิ้นส่วนเกิน (รายได้ − COGS) ÷ รายได้ ก่อนหักค่าธรรมเนียมแพลตฟอร์ม"}},{"text":{"en":"Order line","th":"รายการในออเดอร์"}},{"value":53.3,"max":56.1}]},{"id":"realised","cells":[{"text":{"en":"Realised margin, after platform fees, before ad cost","th":"ค่ามาร์จิ้นจริง หลังหักค่าธรรมเนียมแพลตฟอร์ม ก่อนหักค่าโฆษณา"}},{"text":{"en":"Product model","th":"โมเดลสินค้า"}},{"value":28.5}]},{"id":"net","highlight":true,"cells":[{"text":{"en":"Net margin, after platform fees and ad cost","th":"ค่ามาร์จิ้นสุทธิ หลังหักค่าธรรมเนียมแพลตฟอร์มและค่าโฆษณา"}},{"text":{"en":"Shop, trailing 180 days","th":"ร้านค้า ย้อนหลัง 180 วัน"}},{"value":17.3}]}],"caveats":[{"en":"The contribution-margin row is a range because it is the spread across the 24 hours of the day, and that is the point of publishing it: gross margin varies by 2.8 percentage points across the entire day, with midnight the highest, not the lowest. Midnight’s larger baskets are not lower-margin baskets.","th":"แถวค่ามาร์จิ้นส่วนเกินแสดงเป็นช่วง เพราะเป็นการกระจายตัวตลอด 24 ชั่วโมงของวัน และนั่นคือเหตุผลที่เผยแพร่ ค่ามาร์จิ้นขั้นต้นต่างกันเพียง 2.8 จุดเปอร์เซ็นต์ตลอดทั้งวัน โดยเที่ยงคืนสูงที่สุด ไม่ใช่ต่ำที่สุด ตะกร้าที่ใหญ่กว่าตอนเที่ยงคืนไม่ใช่ตะกร้าที่มาร์จิ้นต่ำกว่า"},{"en":"The net figure carries a COGS coverage of 92.9%. On shops whose cost basis is largely inferred rather than entered, a margin is a modelled quantity and not a measured one.","th":"ตัวเลขสุทธิมีความครบถ้วนของ COGS ที่ 92.9% สำหรับร้านที่ฐานต้นทุนส่วนใหญ่มาจากการอนุมานแทนการกรอกเอง ค่ามาร์จิ้นคือค่าที่มาจากแบบจำลอง ไม่ใช่ค่าที่วัดได้"}]}],"findings":[{"id":"attribution-rides-the-burst","panelId":"shopee-campaign-days","label":{"en":"The paid channel captured LESS of the midnight burst than the order book did","th":"ช่องทางที่จ่ายเงินจับการพุ่งขึ้นตอนเที่ยงคืนได้ \"น้อยกว่า\" คำสั่งซื้อทั้งหมด"},"display":{"en":"2.502 against 2.802","th":"2.502 เทียบกับ 2.802"},"detail":{"en":"Median lift in midnight’s share of the day, campaign days divided by ordinary days, measured two ways on the same shops: 2.502 counting only ads-attributed orders, and 2.802 counting all live orders including organic. The ads figure exceeds the attribution-free figure in only 20.7% of the panel, paired Wilcoxon p = 0.00002. The paid channel rode a burst it did not cause, and was credited for it.","th":"ค่ามัธยฐานของการเพิ่มขึ้นในสัดส่วนช่วงเที่ยงคืนของวัน คำนวณจากวันแคมเปญหารด้วยวันปกติ วัดสองแบบบนร้านเดียวกัน ได้ 2.502 เมื่อนับเฉพาะออเดอร์ที่ระบบ attribution บันทึกให้โฆษณา และ 2.802 เมื่อนับออเดอร์จริงทั้งหมดรวมออร์แกนิก ตัวเลขฝั่งโฆษณาสูงกว่าตัวเลขที่ไม่พึ่ง attribution เพียง 20.7% ของพาเนล การทดสอบ Wilcoxon แบบจับคู่ p = 0.00002 ช่องทางที่จ่ายเงินเกาะกระแสที่ตัวเองไม่ได้สร้าง แล้วได้เครดิตไป"},"caveats":[{"en":"This is a comparison of two observed series, not an experiment. It bounds how much of a demand-peak hour the attributed series can honestly claim; it does not measure the incremental effect of the ads.","th":"นี่คือการเปรียบเทียบชุดข้อมูลที่สังเกตได้สองชุด ไม่ใช่การทดลอง มันกำหนดขอบเขตว่าชุดข้อมูลจาก attribution จะอ้างชั่วโมงที่ดีมานด์พุ่งได้แค่ไหนอย่างซื่อสัตย์ แต่ไม่ได้วัดผลส่วนเพิ่มของโฆษณา"},{"en":"The mechanism is the platform’s, not the seller’s: a double-date sale opens at 00:00 and buyers check out carts assembled beforehand.","th":"กลไกนี้เป็นของแพลตฟอร์ม ไม่ใช่ของผู้ขาย เพราะการลด double-date เริ่มตอน 00:00 และผู้ซื้อเช็คเอาต์ตะกร้าที่จัดไว้ล่วงหน้าแล้ว"}]},{"id":"delayed-conversion-share","panelId":"shopee-dark-spell","label":{"en":"Almost all ad-attributed conversion lands in the click’s own hour","th":"คอนเวอร์ชันที่ระบบ attribution บันทึกให้โฆษณาเกือบทั้งหมดตกอยู่ในชั่วโมงเดียวกับคลิก"},"display":{"en":"≈97% same hour; 2.9–3.3% delayed","th":"≈97% ในชั่วโมงเดียวกัน และ 2.9–3.3% มาช้า"},"numeric":0.97,"unit":"ratio","detail":{"en":"Estimated in dark spells — campaign-hours with zero clicks, zero impressions and zero spend — where an attributed order can only have come from an earlier click, so within-day co-movement cannot masquerade as a delay. The delayed tail exceeds an exposure-exact permutation null by 0.0019–0.0022 with a contrast of 3.26× to 5.25× and an empirical p of 0.0000; the range on the headline share is the two defensible conventions for handling gap rows.","th":"ประเมินในช่วงมืด คือชั่วโมงของแคมเปญที่มีคลิก อิมเพรสชัน และค่าโฆษณาเป็นศูนย์ทั้งหมด ในช่วงนั้นออเดอร์ที่ถูกบันทึกให้โฆษณาต้องมาจากคลิกก่อนหน้าเท่านั้น การเคลื่อนไหวพร้อมกันภายในวันจึงปลอมเป็นความล่าช้าไม่ได้ ส่วนหางที่มาช้าสูงกว่าสมมติฐานว่างแบบสลับตำแหน่งที่คุม exposure ไว้เท่ากันอยู่ 0.0019–0.0022 คิดเป็นอัตราส่วน 3.26 ถึง 5.25 เท่า และ p เชิงประจักษ์เท่ากับ 0.0000 ช่วงของตัวเลขหลักมาจากวิธีจัดการแถวที่ขาดหายไปสองแบบที่ปกป้องได้ทั้งคู่"},"caveats":[{"en":"This is a fact about the platform’s attribution system, not about buyers. The outcome is the platform’s own attributed-order column, and no order-to-campaign link exists, so human deferral is not observable here at all.","th":"นี่คือข้อเท็จจริงเกี่ยวกับระบบ attribution ของแพลตฟอร์ม ไม่ใช่เกี่ยวกับผู้ซื้อ ผลลัพธ์ที่ใช้คือคอลัมน์ออเดอร์ที่แพลตฟอร์มบันทึกเอง และไม่มีการเชื่อมออเดอร์กับแคมเปญ จึงสังเกตพฤติกรรมการเลื่อนตัดสินใจของคนไม่ได้เลย"},{"en":"It is a no-interference upper bound. While a campaign is live, a delayed conversion from an old click is liable to be re-credited to a newer click. State it as “for campaigns that go dark, measured in no-interference windows”, never as a fleet-wide delayed share.","th":"เป็นค่าสูงสุดในสภาวะไม่มีการรบกวน เมื่อแคมเปญยังเปิดอยู่ คอนเวอร์ชันที่มาช้าจากคลิกเก่ามีโอกาสถูกโอนเครดิตไปให้คลิกใหม่ ให้ระบุว่า \"สำหรับแคมเปญที่เข้าสู่ช่วงมืด วัดในช่วงที่ไม่มีการรบกวน\" ไม่ใช่สัดส่วนความล่าช้าของทั้งพาเนล"}]},{"id":"midnight-cpc-premium","panelId":"shopee-intraday","label":{"en":"The midnight CPC premium is near-universal","th":"ราคาคลิกที่แพงขึ้นตอนเที่ยงคืนเกิดกับเกือบทุกร้าน"},"display":{"en":"1.46× in 87% of shops","th":"1.46 เท่า ใน 87% ของร้าน"},"numeric":1.46,"unit":"ratio","detail":{"en":"Hour 0 is the dearest hour of the day on the panel, at a median 1.46× the evening rate, and the premium holds in 87% of shops. The pooled best-to-worst cost-per-order ratio across the six windows is 1.75×.","th":"ชั่วโมง 0 คือชั่วโมงที่แพงที่สุดของวันในพาเนลนี้ ค่ามัธยฐานอยู่ที่ 1.46 เท่าของอัตราช่วงค่ำ และเกิดขึ้นใน 87% ของร้าน ส่วนอัตราส่วนต้นทุนต่อออเดอร์ระหว่างช่วงดีที่สุดกับแย่ที่สุดเมื่อรวมทั้งพาเนลคือ 1.75 เท่า"}},{"id":"weekday-invariance","panelId":"shopee-intraday","label":{"en":"The clock does not vary by day of the week","th":"นาฬิกานี้ไม่เปลี่ยนตามวันในสัปดาห์"},"display":{"en":"20–23 best on 7 of 7 weekdays","th":"ช่วง 20–23 ดีที่สุดครบทั้ง 7 วัน"},"detail":{"en":"On ordinary days, 20–23 is the cheapest window on all seven weekdays and 00–01 the dearest on all seven. The best-to-worst spread by weekday runs 1.74× (Monday) to 2.14× (Sunday). At shop grain the weekday argmax is still noise — a shop’s best window is identical on all seven weekdays in about one in nine shops — so a weekday-varying schedule is not supported by this panel.","th":"ในวันปกติ ช่วง 20–23 เป็นช่วงที่ถูกที่สุดครบทั้งเจ็ดวันในสัปดาห์ และช่วง 00–01 แพงที่สุดครบทั้งเจ็ดวัน ช่วงห่างระหว่างดีสุดกับแย่สุดของแต่ละวันอยู่ระหว่าง 1.74 เท่า (จันทร์) ถึง 2.14 เท่า (อาทิตย์) เมื่อดูรายร้าน ช่วงที่ดีที่สุดของแต่ละวันยังเป็นสัญญาณรบกวน มีเพียงประมาณหนึ่งในเก้าร้านที่ช่วงดีที่สุดเหมือนกันครบทั้งเจ็ดวัน พาเนลนี้จึงไม่สนับสนุนตารางที่ต่างกันตามวันในสัปดาห์"}},{"id":"dear-hours-convert","panelId":"shopee-intraday","label":{"en":"“Dear clicks convert worse” is not the pattern","th":"\"คลิกแพงคอนเวิร์ตแย่กว่า\" ไม่ใช่รูปแบบที่พบ"},"display":{"en":"median ρ = +0.263, negative in 38% of shops","th":"ค่ามัธยฐาน ρ = +0.263 และเป็นลบใน 38% ของร้าน"},"numeric":0.263,"unit":"index","detail":{"en":"Spearman correlation of CPC against CVR across the 24 hours of each shop. The median is positive: dear hours more often convert better, so paying up is more often right than wrong. But it is weak and it reverses in more than a third of shops, which is why it works as a per-shop diagnostic and not as a rule.","th":"ค่าสหสัมพันธ์แบบ Spearman ระหว่าง CPC กับ CVR ตลอด 24 ชั่วโมงของแต่ละร้าน ค่ามัธยฐานเป็นบวก แปลว่าชั่วโมงที่แพงมักคอนเวิร์ตดีกว่า การยอมจ่ายแพงจึงถูกบ่อยกว่าผิด แต่ความสัมพันธ์นี้อ่อนและกลับทิศในร้านมากกว่าหนึ่งในสาม จึงใช้เป็นตัวชี้วัดรายร้านได้ แต่ใช้เป็นกฎไม่ได้"}},{"id":"current-allocation","panelId":"shopee-intraday","label":{"en":"Most shops spend more in their own dearest hours than in their own cheapest","th":"ร้านส่วนใหญ่ใช้เงินในชั่วโมงที่แพงที่สุดของตัวเองมากกว่าชั่วโมงที่ถูกที่สุด"},"display":{"en":"26.4% vs 22.5% of budget; 63% of shops","th":"26.4% เทียบกับ 22.5% ของงบ และเกิดกับ 63% ของร้าน"},"detail":{"en":"Median share of a shop’s ad budget landing in its own six dearest hours is 26.4%, against 22.5% in its own six cheapest. 63% of shops spend more in their dearest six than in their cheapest six, paired Wilcoxon p = 0.002, and the median dearest-to-cheapest cost-per-order ratio is 2.07×.","th":"ค่ามัธยฐานของสัดส่วนงบโฆษณาที่ตกอยู่ในหกชั่วโมงที่แพงที่สุดของร้านนั้นเองคือ 26.4% เทียบกับ 22.5% ในหกชั่วโมงที่ถูกที่สุด ร้าน 63% ใช้เงินในหกชั่วโมงที่แพงกว่ามากกว่าหกชั่วโมงที่ถูกกว่า การทดสอบ Wilcoxon แบบจับคู่ p = 0.002 และค่ามัธยฐานของอัตราส่วนต้นทุนต่อออเดอร์ระหว่างแพงสุดกับถูกสุดคือ 2.07 เท่า"},"caveats":[{"en":"This is a statement about where the money currently sits, and nothing more. It is NOT a statement about what moving that money would earn. The price of moving budget between hours is not identified on this panel, so no gain figure follows from this line and none is published anywhere in this dataset.","th":"นี่คือคำอธิบายว่าเงินอยู่ตรงไหนในตอนนี้ เท่านั้น ไม่ใช่คำอธิบายว่าการย้ายเงินนั้นจะได้อะไรกลับมา ราคาของการย้ายงบระหว่างชั่วโมงยังระบุค่าไม่ได้บนพาเนลนี้ จึงไม่มีตัวเลขผลตอบแทนใดตามมาจากบรรทัดนี้ และไม่มีตัวเลขแบบนั้นอยู่ที่ใดเลยในชุดข้อมูลนี้"}]},{"id":"category-order-clock-real","panelId":"shopee-order-clock","label":{"en":"Two categories inside one shop order at measurably different times","th":"สินค้าสองหมวดในร้านเดียวกันถูกสั่งซื้อในเวลาที่ต่างกันอย่างวัดได้"},"display":{"en":"2.61× the sampling-noise null","th":"2.61 เท่าของสมมติฐานว่างที่เป็นสัญญาณรบกวนจากการสุ่ม"},"numeric":2.61,"unit":"ratio","detail":{"en":"Total-variation distance between two categories’ hourly order profiles inside the same shop: median 0.0735 observed against 0.0354 under a multinomial null drawing both categories from that shop’s own hourly distribution. Every testable shop reaches p < 0.05; Wilcoxon p = 4.8e−07. Two categories in one shop differ by about 7.4% of probability mass in when their orders arrive, and for scale two random shops differ by 10.4% — so the shop effect is only 1.4× the category effect.","th":"ระยะห่างแบบ total variation ระหว่างโปรไฟล์คำสั่งซื้อรายชั่วโมงของสองหมวดในร้านเดียวกัน ค่ามัธยฐานที่สังเกตได้คือ 0.0735 เทียบกับ 0.0354 ภายใต้สมมติฐานว่างแบบ multinomial ที่สุ่มทั้งสองหมวดจากการกระจายรายชั่วโมงของร้านนั้นเอง ร้านที่ทดสอบได้ทุกร้านให้ p < 0.05 และ Wilcoxon p = 4.8e−07 สินค้าสองหมวดในร้านเดียวกันต่างกันราว 7.4% ของมวลความน่าจะเป็นในเรื่องเวลาที่ออเดอร์เข้ามา และเทียบให้เห็นภาพ ร้านสองร้านที่สุ่มมาต่างกัน 10.4% ผลของร้านจึงมากกว่าผลของหมวดเพียง 1.4 เท่า"},"caveats":[{"en":"The order clock and the bidding clock are different objects. The same panel finds no detectable category difference in the bidding clock at shop grain: every between-shop test statistic sits essentially at its label-permutation null.","th":"นาฬิกาคำสั่งซื้อกับนาฬิกาการประมูลเป็นคนละเรื่องกัน พาเนลเดียวกันนี้ไม่พบความต่างระหว่างหมวดในนาฬิกาการประมูลที่ระดับร้านค้าเลย ค่าสถิติทดสอบระหว่างร้านทุกตัวอยู่ที่ระดับสมมติฐานว่างแบบสลับป้ายพอดี"}]},{"id":"basket-structure-separator","panelId":"shopee-order-clock","label":{"en":"What separates the daytime categories from the evening ones is basket structure, not price","th":"สิ่งที่แยกหมวดกลางวันออกจากหมวดกลางคืนคือโครงสร้างตะกร้า ไม่ใช่ราคา"},"display":{"en":"units per line ρ = −0.542; price per unit ρ = +0.172","th":"จำนวนชิ้นต่อรายการ ρ = −0.542 ส่วนราคาต่อหน่วย ρ = +0.172"},"numeric":-0.542,"unit":"index","detail":{"en":"The intuitive story — cheap impulse buys at night, expensive considered purchases by day — does not hold. Price per unit spans a 33× range across the categories published here with no relationship to the evening share (ρ = +0.172, p = 0.48); the most expensive category has the highest evening share. Units per line is the one significant correlate (ρ = −0.542, p = 0.017; shop-cluster bootstrap 95% CI [−0.727, −0.289]). Categories bought in multiples skew to the working day; categories bought one at a time skew to the evening and midnight.","th":"เรื่องเล่าตามสัญชาตญาณที่ว่าของถูกซื้อแบบวูบวาบตอนกลางคืนและของแพงซื้อแบบคิดแล้วตอนกลางวัน ใช้ไม่ได้ ราคาต่อหน่วยของหมวดที่เผยแพร่ที่นี่ต่างกันถึง 33 เท่าโดยไม่มีความสัมพันธ์กับสัดส่วนช่วงค่ำเลย (ρ = +0.172, p = 0.48) หมวดที่แพงที่สุดกลับมีสัดส่วนช่วงค่ำสูงที่สุด ตัวแปรเดียวที่มีนัยสำคัญคือจำนวนชิ้นต่อรายการ (ρ = −0.542, p = 0.017 และ bootstrap แบบจัดกลุ่มตามร้านให้ช่วงความเชื่อมั่น 95% ที่ [−0.727, −0.289]) หมวดที่คนซื้อทีละหลายชิ้นเอนไปทางเวลาทำงาน ส่วนหมวดที่คนซื้อทีละชิ้นเอนไปทางช่วงค่ำและเที่ยงคืน"},"caveats":[{"en":"Four separators were tested, so the p of 0.017 survives a Bonferroni correction across them only marginally. Treat it as a strong lead rather than a settled separator, and note that the reading “restocking versus wanting” is our interpretation, not a measurement.","th":"มีการทดสอบตัวแยกสี่ตัว ค่า p ที่ 0.017 จึงผ่านการปรับแบบ Bonferroni มาได้แบบเฉียดฉิว ให้ถือว่าเป็นเบาะแสที่หนักแน่น ไม่ใช่ตัวแยกที่สรุปแล้ว และการตีความว่าเป็นเรื่อง \"เติมของ\" กับ \"อยากได้\" เป็นการตีความของเรา ไม่ใช่ผลการวัด"}]}],"mechanics":[{"id":"order-hour-crediting","platform":"shopee-th","panelId":"shopee-config","label":{"en":"Shopee credits a conversion to the hour the ORDER is placed, not the hour of the click","th":"Shopee ให้เครดิตคอนเวอร์ชันกับชั่วโมงที่ \"สั่งซื้อ\" ไม่ใช่ชั่วโมงที่คลิก"},"body":{"en":"The seven-day attribution window is an eligibility window, not a timing one: a click on day t followed by a purchase on t+4 lands entirely on t+4. A past hour’s ad metrics therefore do not grow later as conversions arrive. The practical consequence is that in any hour where the platform concentrates checkout, ads-attributed orders spike and cost per attributed order falls — and the hour looks like the best money the seller spent, whether or not the ads did anything.","th":"หน้าต่าง attribution เจ็ดวันคือหน้าต่างของสิทธิ์ ไม่ใช่ของเวลา คลิกในวัน t แล้วซื้อในวัน t+4 จะถูกบันทึกที่ t+4 ทั้งหมด ตัวเลขโฆษณาของชั่วโมงที่ผ่านไปแล้วจึงไม่โตขึ้นภายหลังเมื่อคอนเวอร์ชันทยอยเข้ามา ผลในทางปฏิบัติคือ ในชั่วโมงที่แพลตฟอร์มดันการเช็คเอาต์ ออเดอร์ที่ระบบ attribution บันทึกให้โฆษณาจะพุ่ง ต้นทุนต่อออเดอร์จะลดลง และชั่วโมงนั้นจะดูเหมือนเป็นเงินก้อนที่คุ้มที่สุดของผู้ขาย ไม่ว่าโฆษณาจะทำอะไรหรือไม่ก็ตาม"},"evidence":{"en":"100% of attributed-GMV rows checked (180,695 rows across every broad-attributed hour on the audited shops) sit in an hour that also carries a shop order in that same shop-local hour.","th":"แถวข้อมูล GMV ที่ระบบ attribution บันทึกซึ่งตรวจสอบทั้งหมด 180,695 แถว ครอบคลุมทุกชั่วโมงที่มี broad attribution บนร้านที่ตรวจสอบ อยู่ในชั่วโมงที่มีออเดอร์ของร้านในชั่วโมงท้องถิ่นเดียวกันครบ 100%"}},{"id":"broad-multi-touch","platform":"shopee-th","panelId":"shopee-config","label":{"en":"Shopee’s broad attribution is multi-touch and cannot be de-duplicated","th":"ระบบ broad attribution ของ Shopee เป็นแบบหลายจุดสัมผัสและตัดซ้ำไม่ได้"},"body":{"en":"Broad credits any purchase within seven days of a click to every campaign the buyer touched. It over-counts distinct orders by roughly 1.1× to 2.9×, and because ads reporting carries no order key anywhere, the duplication cannot be removed from campaign aggregates. Any ROAS computed on this basis is an upper bound. Spend, by contrast, is exact.","th":"broad ให้เครดิตการซื้อใด ๆ ภายในเจ็ดวันหลังคลิก กับทุกแคมเปญที่ผู้ซื้อสัมผัส ทำให้นับออเดอร์ที่ไม่ซ้ำกันเกินจริงราว 1.1 ถึง 2.9 เท่า และเพราะรายงานโฆษณาไม่มีคีย์ของออเดอร์อยู่เลย จึงตัดความซ้ำออกจากยอดรวมระดับแคมเปญไม่ได้ ค่า ROAS ที่คำนวณบนฐานนี้จึงเป็นค่าสูงสุดที่เป็นไปได้ ในทางกลับกัน ตัวเลขค่าโฆษณาเป็นค่าที่แม่นยำ"},"evidence":{"en":"Audited on production shops against the order tables; the over-count range is measured, and the absence of an order key is a property of the reporting surface itself.","th":"ตรวจสอบกับตารางคำสั่งซื้อบนร้านค้าจริง ช่วงของการนับเกินเป็นค่าที่วัดได้ และการไม่มีคีย์ของออเดอร์เป็นคุณสมบัติของตัวรายงานเอง"}},{"id":"budget-zero-unlimited","platform":"shopee-th","panelId":"shopee-config","label":{"en":"A Shopee daily budget of 0 means UNLIMITED, not “off”","th":"งบรายวัน 0 บาทบน Shopee แปลว่า \"ไม่จำกัด\" ไม่ใช่ \"ปิด\""},"body":{"en":"The legal domain of a daily-budget write is {0} ∪ [100, ∞) in THB, and 0 is a trap: it removes the cap rather than the campaign. Anything strictly between 0 and the 100 THB platform minimum is rejected outright with a range error, so a 40 THB budget is not a small budget — it is an API error. “Stop spending” has no budget representation at all; the only way to express it is a pause.","th":"ค่าที่เขียนงบรายวันได้ตามกฎคือ {0} ∪ [100, ∞) บาท และ 0 คือกับดัก เพราะมันเอาเพดานออกแทนที่จะปิดแคมเปญ ค่าที่อยู่ระหว่าง 0 กับขั้นต่ำ 100 บาทของแพลตฟอร์มจะถูกปฏิเสธทันทีด้วย error เรื่องช่วงค่า งบ 40 บาทจึงไม่ใช่งบก้อนเล็ก แต่เป็น error ของ API ส่วนคำสั่ง \"หยุดใช้เงิน\" ไม่มีรูปแบบของงบรองรับเลย วิธีเดียวที่แสดงเจตนานี้ได้คือการหยุดแคมเปญชั่วคราว"},"evidence":{"en":"Established against the live campaign API, including the specific rejection error returned for the (0, 100) interval, and confirmed by a production incident in which a “stop this campaign” push written as a budget of 0 let the campaign run uncapped.","th":"ยืนยันกับ API แคมเปญจริง รวมถึง error ที่คืนกลับมาสำหรับช่วง (0, 100) โดยเฉพาะ และยืนยันซ้ำจากเหตุการณ์บนระบบจริงที่การสั่ง \"หยุดแคมเปญนี้\" ด้วยการเขียนงบเป็น 0 ทำให้แคมเปญวิ่งต่อแบบไม่มีเพดาน"}},{"id":"budget-is-a-floor","platform":"shopee-th","panelId":"shopee-config","label":{"en":"An accepted daily budget is a floor, not a cap","th":"งบรายวันที่ระบบรับไว้คือพื้น ไม่ใช่เพดาน"},"body":{"en":"On a shop with Campaign Surge enabled, Shopee raises a campaign’s daily budget by 20% each time the campaign exhausts it, up to five times — a hard ceiling of 1.2⁵ = 2.48832× the number the seller wrote. A second family exists at 30% a step, 1.3⁵ = 3.71293×. The toggle is shop-level and is distinct from wallet auto-recharge, which never touches a campaign budget.","th":"บนร้านที่เปิด Campaign Surge ไว้ Shopee จะเพิ่มงบรายวันของแคมเปญขึ้น 20% ทุกครั้งที่แคมเปญใช้งบหมด สูงสุดห้าครั้ง เป็นเพดานแข็งที่ 1.2⁵ = 2.48832 เท่าของตัวเลขที่ผู้ขายกรอกไว้ และมีอีกรูปแบบที่เพิ่มครั้งละ 30% คือ 1.3⁵ = 3.71293 เท่า สวิตช์นี้อยู่ระดับร้านค้าและคนละอย่างกับการเติมเงินอัตโนมัติในกระเป๋าเงิน ซึ่งไม่เกี่ยวกับงบแคมเปญเลย"},"evidence":{"en":"Read from the shop toggle endpoint and measured against realised spend. The toggle is enabled on roughly six in ten of the 60+ shops whose account state we ingest.","th":"อ่านจาก endpoint สวิตช์ระดับร้านค้าและวัดเทียบกับค่าโฆษณาที่เกิดขึ้นจริง สวิตช์นี้เปิดอยู่ในราวหกในสิบของร้านค้า 60+ ร้านที่เราดึงสถานะบัญชีเข้ามา"}},{"id":"budget-rounding","platform":"shopee-th","panelId":"shopee-config","label":{"en":"Shopee stores a daily budget at coarser precision than you send it","th":"Shopee เก็บงบรายวันด้วยความละเอียดหยาบกว่าที่คุณส่งไป"},"body":{"en":"A fractional budget is a number you can send but can never read back unchanged. Anything that pushes a budget and then reads the campaign back to confirm the write will see its own fractional intent against the platform’s rounded copy, and an exact-equality check will call that difference drift on a write that in fact succeeded.","th":"งบที่มีทศนิยมคือตัวเลขที่ส่งไปได้แต่อ่านกลับมาเหมือนเดิมไม่ได้ ระบบใดที่เขียนงบแล้วอ่านแคมเปญกลับมาเพื่อยืนยันว่าเขียนสำเร็จ จะเห็นค่าที่ตั้งใจแบบมีทศนิยมของตัวเองเทียบกับสำเนาที่แพลตฟอร์มปัดแล้ว และการตรวจแบบเท่ากันเป๊ะจะตีความความต่างนั้นว่าเป็นการเลื่อนของค่า ทั้งที่การเขียนสำเร็จจริง"},"evidence":{"en":"Measured on a live campaign write: a budget pushed with four decimal places was stored rounded to two, and the read-back returned the platform’s rounded copy rather than the value sent.","th":"วัดจากการเขียนงบบนแคมเปญจริง งบที่ส่งไปพร้อมทศนิยมสี่ตำแหน่งถูกเก็บโดยปัดเหลือสองตำแหน่ง และค่าที่อ่านกลับมาคือสำเนาที่แพลตฟอร์มปัดแล้ว ไม่ใช่ค่าที่ส่งไป"}},{"id":"monolithic-ad-mix","platform":"shopee-th","panelId":"shopee-config","label":{"en":"Thai Shopee ad spend is almost entirely auto-bid, all-placement","th":"ค่าโฆษณา Shopee ในไทยเกือบทั้งหมดเป็นแบบบิดอัตโนมัติและลงทุกตำแหน่ง"},"body":{"en":"99.4% of campaign spend on the panel is auto-bidding and 99.6% is all-placement. This is a product constraint rather than a fleet preference: sellers cannot set a CPC bid any more. The steering lever that remains is a target ROAS, which 86.7% of spend carries.","th":"ค่าโฆษณาแคมเปญบนพาเนลนี้ 99.4% เป็นการบิดอัตโนมัติ และ 99.6% ลงทุกตำแหน่ง นี่เป็นข้อจำกัดของตัวผลิตภัณฑ์ ไม่ใช่ความชอบของผู้ขาย เพราะผู้ขายตั้งราคาบิด CPC เองไม่ได้แล้ว ตัวควบคุมที่เหลืออยู่คือ target ROAS ซึ่งครอบคลุมค่าโฆษณา 86.7%"},"evidence":{"en":"THB 42.9M of campaign spend across the intraday panel, read from campaign settings.","th":"ค่าโฆษณาแคมเปญ 42.9 ล้านบาททั่วทั้งพาเนลรายชั่วโมง อ่านจากการตั้งค่าแคมเปญ"}},{"id":"bundle-flag-undertags","platform":"shopee-th","panelId":"shopee-bundle-flag","label":{"en":"Shopee’s bundle-deal redemption flag tags only about a third of qualifying orders","th":"แฟล็กการใช้สิทธิ์ bundle deal ของ Shopee ติดแท็กออเดอร์ที่เข้าเงื่อนไขเพียงราวหนึ่งในสาม"},"body":{"en":"The flag marks about 33% of the orders that actually meet a deal’s qualification threshold. Comparing a units-based baseline against a flag-based during-rate therefore makes a bundle deal look as though it reduced qualification. Measure both sides in units, or the sign of the comparison flips.","th":"แฟล็กนี้ติดแท็กออเดอร์ราว 33% ของออเดอร์ที่เข้าเงื่อนไขของดีลจริง การเทียบเส้นฐานที่นับเป็นชิ้นกับอัตราระหว่างดีลที่นับจากแฟล็ก จึงทำให้ bundle deal ดูเหมือนลดการเข้าเงื่อนไขลง ให้วัดทั้งสองฝั่งเป็นชิ้น ไม่อย่างนั้นเครื่องหมายของการเปรียบเทียบจะกลับด้าน"},"evidence":{"en":"Historical deals across 60+ shops, comparing orders that meet the threshold against orders the platform tags as redeemed.","th":"ดีลในอดีตจากร้านค้า 60+ ร้าน เทียบออเดอร์ที่เข้าเงื่อนไขกับออเดอร์ที่แพลตฟอร์มติดแท็กว่าใช้สิทธิ์แล้ว"}},{"id":"tiktok-hourly-unusable","platform":"tiktok-shop-th","panelId":"tiktok-hourly-audit","label":{"en":"TikTok Shop hourly ad reporting cannot support intraday analysis","th":"รายงานโฆษณารายชั่วโมงของ TikTok Shop ใช้วิเคราะห์รายชั่วโมงไม่ได้"},"body":{"en":"Two independent defects, either of which alone is disqualifying. Clicks are zero on all 1,669,959 hourly rows, although the sibling daily table carries 3.3M clicks over the same period — so CPC and CVR are simply unavailable at hour grain. And 94.1% of all expense is stamped at hour 0, while hours 17–23 carry 0.0% of spend and 5.2% of attributed orders. Seven consecutive hours cannot produce orders on zero spend: the hour dimension is not a real clock. Lazada publishes no hourly ad fact at all, so the cross-platform question cannot be answered there either.","th":"มีข้อบกพร่องสองเรื่องที่เป็นอิสระจากกัน และแต่ละเรื่องเพียงลำพังก็ทำให้ใช้ไม่ได้แล้ว หนึ่ง คลิกเป็นศูนย์ครบทั้ง 1,669,959 แถวรายชั่วโมง ทั้งที่ตารางรายวันของแหล่งเดียวกันมีคลิก 3.3 ล้านครั้งในช่วงเวลาเดียวกัน CPC และ CVR จึงไม่มีให้ใช้ในระดับชั่วโมง สอง ค่าใช้จ่าย 94.1% ถูกประทับไว้ที่ชั่วโมง 0 ขณะที่ชั่วโมง 17–23 มีค่าใช้จ่าย 0.0% แต่มีออเดอร์ที่ระบบ attribution บันทึก 5.2% เจ็ดชั่วโมงติดกันสร้างออเดอร์จากค่าใช้จ่ายศูนย์บาทไม่ได้ มิติชั่วโมงจึงไม่ใช่นาฬิกาจริง ส่วน Lazada ไม่มีข้อมูลโฆษณารายชั่วโมงเลย คำถามข้ามแพลตฟอร์มจึงตอบจากที่นั่นไม่ได้เช่นกัน"},"evidence":{"en":"The tell is row concentration: TikTok’s hour-0 row count is 10.80× the median hour, against 1.01× for the equivalent Shopee table, whose every hour carries the same row count and whose spend concentration at hour 0 is 9.4%. The TikTok daily totals are correct — hourly expense reconciles to daily at exactly 1.000 per shop-day — so the table is safe at day grain and unsafe at hour grain.","th":"สัญญาณบ่งชี้คือการกระจุกของจำนวนแถว จำนวนแถวชั่วโมง 0 ของ TikTok เป็น 10.80 เท่าของค่ามัธยฐานรายชั่วโมง เทียบกับ 1.01 เท่าในตารางเดียวกันของ Shopee ซึ่งทุกชั่วโมงมีจำนวนแถวเท่ากันและมีค่าโฆษณากระจุกที่ชั่วโมง 0 เพียง 9.4% ส่วนยอดรวมรายวันของ TikTok ถูกต้อง เพราะค่าใช้จ่ายรายชั่วโมงกระทบยอดกับรายวันได้พอดี 1.000 ต่อวัน-ร้านค้า ตารางนี้จึงใช้ได้ในระดับวันและใช้ไม่ได้ในระดับชั่วโมง"}}],"definitions":[{"id":"roas-vs-poas","term":{"en":"Raw ROAS overstates profit-adjusted ROAS by roughly 1 ÷ margin","th":"ROAS ดิบสูงเกินจริงกว่า ROAS ที่ปรับด้วยกำไรราว 1 ÷ ค่ามาร์จิ้น"},"body":{"en":"Profit-adjusted ROAS is margin × realised ROAS − 1, so it is centred on zero rather than on one and break-even sits at a realised ROAS of 1 ÷ margin. At a 20% margin that is 5.0: a campaign reading a raw ROAS of 4.0 is losing money on ads, at a profit-adjusted −0.2. This is an identity, not a measurement — but it is the arithmetic that decides whether any ROAS figure in this dataset means what a reader assumes it means.","th":"ROAS ที่ปรับด้วยกำไรคือ ค่ามาร์จิ้น × ROAS ที่เกิดขึ้นจริง − 1 จึงมีจุดกึ่งกลางที่ศูนย์ ไม่ใช่ที่หนึ่ง และจุดคุ้มทุนอยู่ที่ ROAS จริงเท่ากับ 1 ÷ ค่ามาร์จิ้น ที่ค่ามาร์จิ้น 20% จุดนั้นคือ 5.0 แคมเปญที่อ่าน ROAS ดิบได้ 4.0 จึงขาดทุนจากการยิงแอด โดยมีค่าที่ปรับแล้วเท่ากับ −0.2 นี่คือเอกลักษณ์ทางคณิตศาสตร์ ไม่ใช่ผลการวัด แต่เป็นเลขคณิตที่ตัดสินว่าตัวเลข ROAS ใดในชุดข้อมูลนี้มีความหมายอย่างที่ผู้อ่านคิดหรือไม่"}},{"id":"attributed-order","term":{"en":"Attributed order","th":"ออเดอร์ที่ระบบ attribution บันทึก"},"body":{"en":"An order the platform credited to an ad campaign, stamped at the hour the order was placed. It is not a count of orders the ad caused, and on the broad basis it is not even a count of distinct orders.","th":"ออเดอร์ที่แพลตฟอร์มให้เครดิตกับแคมเปญโฆษณา ประทับไว้ที่ชั่วโมงที่สั่งซื้อ ไม่ใช่จำนวนออเดอร์ที่โฆษณาทำให้เกิดขึ้น และบนฐาน broad มันไม่ใช่แม้แต่จำนวนออเดอร์ที่ไม่ซ้ำกัน"}},{"id":"window","term":{"en":"Day-window","th":"ช่วงเวลาของวัน"},"body":{"en":"The six blocks the day is cut into throughout this dataset: 00–01, 02–07, 08–11, 12–16, 17–19 and 20–23, on the shop’s own local clock. Hours are inclusive at both ends.","th":"หกช่วงที่แบ่งวันออกตลอดทั้งชุดข้อมูลนี้ คือ 00–01, 02–07, 08–11, 12–16, 17–19 และ 20–23 ตามเวลาท้องถิ่นของร้านเอง โดยนับรวมชั่วโมงหัวและท้ายของแต่ละช่วง"}},{"id":"ordinary-day","term":{"en":"Ordinary day","th":"วันปกติ"},"body":{"en":"Any day that is not a platform double-date campaign day. Every pooled window table in this dataset is computed on ordinary days only.","th":"วันใดก็ตามที่ไม่ใช่วันแคมเปญ double-date ของแพลตฟอร์ม ตารางที่รวมช่วงเวลาทุกตารางในชุดข้อมูลนี้คำนวณจากวันปกติเท่านั้น"}}],"suppressedFindings":[{"id":"reallocation-gains","label":{"en":"Every reallocation gain from moving ad budget between hours","th":"ผลตอบแทนทั้งหมดจากการย้ายงบโฆษณาระหว่างชั่วโมง"},"reason":{"en":"The gain is a pure function of a supply elasticity that is not identified. The fitted value turned out to be the share of spend variance that is price variance, and a panel with a literally zero supply curve reproduces it; alternative estimators disagree in sign. Across the plausible estimator range the implied gain spans roughly +3% to +110%, so no point on that curve may be quoted. The internal status is UNMEASURED and only a randomised paced-release test settles it.","th":"ผลตอบแทนนี้เป็นฟังก์ชันล้วน ๆ ของค่าความยืดหยุ่นด้านอุปทานที่ยังระบุค่าไม่ได้ ค่าที่ฟิตได้กลายเป็นสัดส่วนของความแปรปรวนของค่าโฆษณาที่เป็นความแปรปรวนของราคา และพาเนลที่มีเส้นอุปทานเป็นศูนย์จริง ๆ ก็ให้ค่าเดียวกันได้ ตัวประมาณค่าแบบอื่นยังให้เครื่องหมายไม่ตรงกันด้วย ในช่วงตัวประมาณค่าที่เป็นไปได้ ผลตอบแทนที่นัยถึงกินตั้งแต่ราว +3% ถึง +110% จึงอ้างจุดใดจุดหนึ่งบนเส้นนั้นไม่ได้ สถานะภายในคือ \"ยังไม่ได้วัด\" และมีเพียงการทดลองปล่อยงบแบบสุ่มเท่านั้นที่จะสรุปได้"}},{"id":"model-counterfactuals","label":{"en":"Every within-model counterfactual and shadow-mode replay result","th":"ผลลัพธ์ทุกตัวที่มาจากการจำลองย้อนกลับภายในแบบจำลองและการรันแบบเงา"},"reason":{"en":"We hold a number of headline-looking percentage improvements from model bake-offs and replays. Not one of them is an observed production outcome; each is a comparison of one model’s prediction against another’s on historical data, and our own notes label them as not causal. Publishing them as marketplace benchmarks would be dishonest whatever the disclaimer said.","th":"เรามีตัวเลขเปอร์เซ็นต์การปรับปรุงที่ดูเหมือนพาดหัวอยู่หลายตัวจากการเทียบแบบจำลองและการรันย้อนหลัง แต่ไม่มีตัวใดเลยที่เป็นผลลัพธ์ที่สังเกตได้บนระบบจริง ทุกตัวคือการเทียบคำทำนายของแบบจำลองหนึ่งกับอีกแบบจำลองหนึ่งบนข้อมูลย้อนหลัง และบันทึกภายในของเราเองระบุว่าไม่ใช่ความสัมพันธ์เชิงเหตุผล การเผยแพร่ตัวเลขเหล่านี้ในฐานะค่าอ้างอิงของมาร์เก็ตเพลสจะไม่ซื่อสัตย์ ไม่ว่าจะใส่คำเตือนไว้อย่างไร"}},{"id":"per-shop-results","label":{"en":"Every per-shop result, worked case and named example","th":"ผลลัพธ์รายร้าน กรณีศึกษา และตัวอย่างที่ระบุชื่อทั้งหมด"},"reason":{"en":"Rule 1 of this dataset. The underlying research is full of single-shop worked cases with their own tables; none of them appears here in any form, including as an anonymised illustration, because a shop with a distinctive spend pattern is identifiable from its own numbers.","th":"นี่คือกฎข้อที่หนึ่งของชุดข้อมูลนี้ งานวิจัยต้นทางเต็มไปด้วยกรณีศึกษารายร้านพร้อมตารางของตัวเอง แต่ไม่มีกรณีใดปรากฏที่นี่ในรูปแบบใดเลย รวมถึงในรูปตัวอย่างที่ปิดบังชื่อ เพราะร้านที่มีรูปแบบการใช้เงินเฉพาะตัวสามารถถูกระบุตัวได้จากตัวเลขของตัวเอง"}},{"id":"whale-panel","label":{"en":"Everything computed on the 20 largest advertisers","th":"ทุกอย่างที่คำนวณจากผู้ลงโฆษณา 20 รายใหญ่ที่สุด"},"reason":{"en":"That panel was measured to be unrepresentative on three of four tested properties — the largest advertisers have the LEAST intraday variation, not the most. Every fleet claim on this page is recomputed on the full eligible population instead.","th":"พาเนลนั้นวัดได้ว่าไม่เป็นตัวแทนใน 3 จาก 4 คุณสมบัติที่ทดสอบ ผู้ลงโฆษณารายใหญ่ที่สุดมีความผันผวนระหว่างชั่วโมง \"น้อยที่สุด\" ไม่ใช่มากที่สุด ข้อสรุประดับพาเนลทุกข้อบนหน้านี้จึงคำนวณใหม่จากประชากรที่เข้าเกณฑ์ทั้งหมดแทน"}},{"id":"evening-pass-through","label":{"en":"The evening spend-to-order pass-through slope","th":"ความชันของการส่งผ่านจากค่าโฆษณาช่วงค่ำไปยังออเดอร์ช่วงค่ำ"},"reason":{"en":"A cross-sectional slope relating a shop’s evening spend share to its evening order share. It is descriptive, but its only use is to price a reallocation, and a reader would reasonably take it as the return on moving budget into the evening. It is not that, so it is withheld.","th":"เป็นความชันแบบภาคตัดขวางที่เชื่อมสัดส่วนค่าโฆษณาช่วงค่ำของร้านกับสัดส่วนออเดอร์ช่วงค่ำ ตัวมันเป็นการบรรยาย แต่ประโยชน์เดียวคือใช้ตีราคาการย้ายงบ และผู้อ่านย่อมเข้าใจได้ว่าเป็นผลตอบแทนของการย้ายงบไปช่วงค่ำ ซึ่งมันไม่ใช่ จึงไม่เผยแพร่"}},{"id":"bundle-qualification-lift","label":{"en":"The bundle-deal qualification lift","th":"การเพิ่มขึ้นของการเข้าเงื่อนไข bundle deal"},"reason":{"en":"A before-and-during comparison on historical deals with no control group. Only the platform’s flag under-tagging rate — which is a property of the platform and not an outcome — is published from that panel.","th":"เป็นการเทียบก่อนกับระหว่างบนดีลในอดีตโดยไม่มีกลุ่มควบคุม จากพาเนลนั้นเผยแพร่เฉพาะอัตราการติดแท็กต่ำกว่าจริงของแฟล็กแพลตฟอร์ม ซึ่งเป็นคุณสมบัติของแพลตฟอร์มไม่ใช่ผลลัพธ์"}},{"id":"sub-threshold-categories","label":{"en":"Product categories backed by fewer than 8 distinct shops","th":"หมวดสินค้าที่มีร้านค้ารองรับน้อยกว่า 8 ร้าน"},"reason":{"en":"One L1 category clears the 20,000-order-line floor but sits below the minimum cell size, so its row is withheld entirely rather than shown with a warning. Several published categories are carried by 8 to 15 shops and their rows are therefore partly a handful of sellers’ clocks; the shop band beside each row is there so a reader can weight it accordingly.","th":"มีหมวดหลักหนึ่งหมวดที่ผ่านเกณฑ์ 20,000 รายการ แต่ต่ำกว่าเกณฑ์ขนาดเซลล์ขั้นต่ำ แถวของมันจึงถูกตัดออกทั้งหมดแทนที่จะแสดงพร้อมคำเตือน หมวดที่เผยแพร่หลายหมวดมีร้านรองรับ 8 ถึง 15 ร้าน แถวเหล่านั้นจึงเป็นนาฬิกาของผู้ขายไม่กี่รายอยู่บ้าง ช่วงจำนวนร้านข้างแต่ละแถวมีไว้ให้ผู้อ่านชั่งน้ำหนักได้"}},{"id":"category-unit-price","label":{"en":"Price per unit by product category","th":"ราคาต่อหน่วยแยกตามหมวดสินค้า"},"reason":{"en":"Known to be understated by an unequal amount across categories, because bundle and free-gift lines carry a zero unit price on 100% of rows and their share ranges 0.02% to 18.0% by category. The null result that price does not separate the clock is published; the level figures are not.","th":"ทราบว่าต่ำกว่าจริงในระดับที่ไม่เท่ากันในแต่ละหมวด เพราะรายการ bundle และของแถมมีราคาต่อหน่วยเป็นศูนย์ครบ 100% ของแถว และสัดส่วนต่างกันไป 0.02% ถึง 18.0% ตามหมวด เราเผยแพร่ผลลัพธ์ว่าราคาไม่ได้แยกนาฬิกาออกจากกัน แต่ไม่เผยแพร่ตัวเลขระดับราคา"}},{"id":"delayed-tail-shape","label":{"en":"The shape of the delayed-conversion tail beyond its headline share","th":"รูปร่างของหางคอนเวอร์ชันที่มาช้า นอกเหนือจากสัดส่วนหลัก"},"reason":{"en":"The share of the delayed tail arriving within 24 hours is reported against two different mechanical floors in two places in our own notes, and we have not reconciled them. Only the headline same-hour share, which is stable across both gap conventions, is published.","th":"สัดส่วนของหางที่มาถึงภายใน 24 ชั่วโมงถูกรายงานเทียบกับพื้นเชิงกลไกคนละค่าในบันทึกภายในของเราสองแห่ง และเรายังไม่ได้กระทบยอดกัน จึงเผยแพร่เฉพาะสัดส่วนหลักของชั่วโมงเดียวกัน ซึ่งนิ่งทั้งสองวิธีจัดการแถวที่ขาดหายไป"}},{"id":"delivery-floor","label":{"en":"The minimum viable daily budget below which a campaign stops pacing","th":"งบรายวันขั้นต่ำที่ต่ำกว่านั้นแล้วแคมเปญจะหยุดกระจายงบ"},"reason":{"en":"We operate a delivery floor as a constraint on our own solvers, but it is an operating rule with an asserted rationale, not a measurement from any panel here — and in the one place it was tested against a re-solve it bound on nothing. A rule we impose is not an observation of the marketplace, so it does not belong in this dataset.","th":"เราใช้พื้นการส่งมอบนี้เป็นข้อจำกัดของตัวแก้ปัญหาของเราเอง แต่มันเป็นกฎการทำงานที่มีเหตุผลอ้างไว้ ไม่ใช่ผลการวัดจากพาเนลใดที่นี่ และในที่เดียวที่ทดสอบด้วยการแก้ปัญหาซ้ำ มันไม่ได้ผูกมัดอะไรเลย กฎที่เรากำหนดเองไม่ใช่การสังเกตตลาด จึงไม่ควรอยู่ในชุดข้อมูลนี้"}}],"changeLog":[{"date":"2026-08-25","summary":{"en":"First publication. Nine measurement panels, five aggregate tables, eight standalone findings and eight platform mechanics, with the suppression register.","th":"เผยแพร่ครั้งแรก ประกอบด้วยพาเนลการวัดเก้าชุด ตารางรวมห้าตาราง ผลการวัดเดี่ยวแปดข้อ กลไกแพลตฟอร์มแปดข้อ พร้อมทะเบียนรายการที่ระงับไว้"}}]}