–20 min read-
เมื่อปลายปี 2026 ผมได้ไปฝึกงานเป็น Data Analyst ที่ Data First
Data First บริษัทที่เป็น Marketing Agancy ที่เป็น Data-driven Company เลยอยากจะมาแชร์ประสบการณ์ที่ได้จากการฝึกงาน
โดยจะเล่าถึง Sprint หนึ่งที่มีโอกาศได้ทำคือการดูว่า “ยอดขายที่ได้มาจากโฆษณาตัวไหน”

Market Mixed Model
ลองนึกภาพคุณเป็นเจ้าของแบรน และอยากให้คนรู้จักแบรนของเรา ทำยังไง?
ก็ต้องซื้อโฆษณาถูกไหม ไม่ว่าจะเป็น ทีวี, เฟสบุ๊ค, Billboard, เว็ปเพจ และอื่นๆที่จะเพิ่มคนที่จะรู้จัก และ มาเป็นลูกค้าของเรา
แต่ปัญหาคือ เงินที่เราจ่ายไปกับโฆษณาตัวไหนกันหล่ะ ที่เป็นตัว drive ยอดขายของเรา

ตารางนี้ประกอบด้วยยอดขาย และเงินที่เราจ่ายไปกับโฆษณาในช่องทางต่างๆ เช่น TV, Facebook,Web, Print , ooh(ย่อมาจาก out of home พวกโฆษณาที่เจอได้ข้างนอกบ้าน พวก Billboard)
ในรูปคือข้อมูลดิบที่ธุรกิจต้องมีเป็นอย่างน้อยๆ ถ้าอยู่ในยุคที่ข้อมูลเป็นเรื่องสำคัญ
คำถามคือแล้วเราจะเอาข้อมูลพวกนี้ไปทำอะไร?
เราจะเอาข้อมูลนี้ไปเข้า Model ทางคณิตศาสตร์ที่จะบอกเราได้ว่าเราควรจะจ่ายเงินไปกับโฆษณาช่องทางไหนดี
ทำความรู้จักกับ Market Mixed Model
Market Mixed Model หรือเรียกย่อๆว่า MMM จะเป็น Model ที่จะมาพูดถึงกันในวันนี้
“Half the money I spend on advertising is wasted; the trouble is I don’t know which half.”
John Wanamaker
John บอกว่า “ครึ่งนึงขอเงินที่จ่ายไปกับโฆษณานั้นไร้ประโยชน์ แต่ปัญหาอยู่ที่เขาดันไม่รู้น่ะสิ ว่าเป็นเงินครึ่งไหน”

Data Science ของบริษัทยักษ์ใหญ่ไม่ว่าจะเป็น Facebook, Google, Amazon เลยได้คิดค้น market mixed model ของตัวเอง ที่จะมาแก้ไขปัญหานี้แต่หลักๆแล้วก็จะทำงานเหมือนกันเลยก็คือ
- หา pattern ของยอดขายและดูว่า โฆณาตัวไหนที่ส่งผลให้ยอดขายสูงขึ้น
บทความนี้จะมาให้ดู MMM ของ Facebook ซึ่งเป็น open-source (เขาปล่อยให้คนธรรมดาเอา model ที่เขาพัฒนาไป run เองได้) เขาได้ตั้งชื่อว่า Robyn MMM
ถ้าอยากดูว่าโค๊ดเป็นยังไงผมจะแปะลิงค์ไว้ให้ทุกคนไปอ่านดูกัน https://github.com/facebookexperimental/Robyn/blob/main/demo/demo.R
ในนี้เลย บอกวิธีการ run ทุกขั้นตอนอย่างละเอียด (ใช้ภาษา R นะ)
ถ้าไม่อยากทำความเข้าใจเยอะ อ่านในนี้ก็ได้ ผมสรุปมาให้แล้วทำตามได้เลย!

Robyn MMM
โดยบทความนี้จะไม่ได้มาเจาะลึกว่าโมเดลทำงานยังไง แต่ Hand-On จับมือทำกัน Step By Step
- เริ่มจากโหลด/ติดตั้ง R Studio
- Load Dataset (ในคลิปนี้จะใช้ dataset ที่มีมาให้จาก Robyn package)
- ใส่ Input เข้าไปใน Robyn
- ใส่ Parameters
- รันโมเดล
- อ่านผล + ตีความสำหรับใครที่ยังไม่เคยติดตั้งมาก่อน นี่คือคู่มือการติดตั้ง โปรแกรม R รวมถึง Tools ทั้งหมดที่ใช้สำหรับ Robyn MMM
Step 1: Install
สำหรับใครที่ยังไม่เคยติดตั้งมาก่อน นี่คือคู่มือการติดตั้ง โปรแกรม R รวมถึง Tools ทั้งหมดที่ใช้สำหรับ Robyn MMM
คู่มือติดตั้ง
ลิงค์ Download : https://posit.co/download/rstudio-desktop

ต้องโหลดทั้ง R และ RStudio นะ
พอติดตั้งเสร็จ เข้าโปรแกรมมาจะหน้าตาแบบนี้

> install.packages(c("Robyn","reticulate"))
สำหรับใครที่ยังไม่มี Python
สามารถโหลดได้ที่ https://www.python.org/downloads/ (ตอน Install ให้ ติ๊กถูกตรงช่อง add python to PATH ด้วย)
วิธีเช็คว่าในเครื่องเรามีหรือยัง ให้พิมพ์ใน terminal :
>> python --verisonPython 3.1..
จากนั้น เปิด Terminal ขึ้นมา:
- สร้าง Folder งานของเรา
mkdir my_project && cd my_project
python -m venvmmm_venv#สร้าง Environment ที่ชื่อ mmm_venv- Command:
- Window:
./venv/Scripts/activate - Mac:
source ./venv/bin/activate
- Window:
pip install nevergrad
Step 2: เริ่ม Project ของเรากัน
เข้ามาที่ R-studio
1.เริ่มจาก Set-up project:
เราต้องทำการ activate environment ที่เราได้สร้างไว้เมื่อ Step 1 (ที่ ต้องพิมพ์ python -m venv mmm_venv)
2.Prepare Data:
ใน Package Robyn เขามี Dataset มาให้ลองเล่นที่มีชื่อว่า dt_simulated_weekly
เรียกมาดู 5 แถวแรกก่อน
DATE revenue tv_S ooh_S print_S facebook_I search_clicks_P search_S competitor_sales_B facebook_S events newsletter
<date> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <int> <dbl> <chr> <dbl>
1 2015-11-23 2754372. 22358. 0 12728. 24301284. 0 0 8125009 7607. na 19402.
2 2015-11-30 2584277. 28613. 0 0 5527033. 9837. 4133. 7901549 1142. na 14791
3 2015-12-07 2547387. 0 132278. 454. 16651591. 12044. 3787. 8300197 4256. na 14544
4 2015-12-14 2875220 83450. 0 17680 10549766. 12268. 4253. 8122883 2800. na 2800
5 2015-12-21 2215953. 0 277336 0 2934090. 9467. 3613. 7105985 690. na 15478
6 2015-12-28 2569922. 33225. 0 31922. 16634027. 12687. 3773. 7097237 5337. na 13817
7 2016-01-04 2171507. 687. 226754. 0 13715899. 12097. 3707. 6974368 3623. na 28817
8 2016-01-11 2464132. 2952. 0 23581. 18851564. 11588. 4267. 7452174 4130. na 19082
9 2016-01-18 2012520 0 0 0 11910188. 9341. 3053. 6703566 3623. na 19679
Dataset นี้ประกอบด้วย :
DATEวันที่ ความถี่ของ data ที่เก็บมาจะเห็นได้ว่าเป็นระดับ WeeklyRevenueรายได้จากสินค้าของเราAds Spendจำนวนเงินที่เราจ่ายไปให้กับโฆษณาแต่ละช่องทาง อย่างเช่น:- Tv_S (TV spend) ค่าโฆษณาทางทีวี หรือ facebook_S ค่าโฆษณาทางเฟสบุ๊ค
Competitor(optional) คือ ยอดขายของสินค้าคู่แข่งEvent(optional) เป็น Binary Variable (0กับ1) ถ้าวันไหนบริษัทเราจัด campaign ก็จะเป็น 1 ไม่จัดก็เป็น 0

ขี้เกียจเขียนละ public เลยละกัน

Leave a Reply