NESDC · Social Pulse Training
v1.0 · 2026
หลักสูตรอบรม · สศช.

การวิเคราะห์และจัดทำ
ตัวชี้วัดเฝ้าระวังภาวะสังคม

คณะผู้จัดทำ ผศ.ดร.ถิรภาพ ฟักทอง พรภวิษย์ เฟื่องฟูขจร กฤษณ์พิพัฒน์ เทียนสิงห์ชัย ปฐมพร ปู่ปัญจะ
Course Outline · สศช.

จากแนวคิดสู่ Systems Thinking

หลักสูตรอบรมเต็มวัน 6 พาร์ท — ตั้งแต่แนวคิดพื้นฐานของตัวชี้วัด การเก็บข้อมูล การคำนวณ การใช้ AI ไปจนถึงการสร้างแบบจำลองเชิงระบบ

NESDC · Social Indicators Training v1.0 2026 · TH
01 แนวคิดพื้นฐานเกี่ยวกับตัวชี้วัด 1.1 / opener

เริ่มต้นจากความเข้าใจพื้นฐาน

ทำไมต้องมีตัวชี้วัด ทำเพื่อใคร ใช้ทำอะไร

ก่อนเข้าสู่การคำนวณและการเก็บข้อมูล — มาทำความเข้าใจ "ตัวชี้วัด" ว่าคืออะไร · ทำไมจึงต้องขยายให้ครอบคลุมหลายมิติ และ "กรอบแนวคิด" ที่ สศช. ใช้ในการพัฒนาตัวชี้วัดสำหรับเฝ้าระวังภาวะสังคม

นิยามindicator

ตัวชี้วัด คือ "ข้อมูลที่วัดได้อย่างเป็นระบบ" · ใช้สะท้อนสภาพ/การเปลี่ยนแปลงของสังคม · ติดตามต่อเนื่อง · เปรียบเทียบได้ในมิติเวลา–พื้นที่ — เพื่อ เฝ้าระวัง ก่อนปัญหาจะลุกลาม และเป็นหลักฐานเชิงประจักษ์ในการ ตัดสินใจเชิงนโยบาย

01 background
ที่มา + ขอบเขต
ทำไมต้องขยายมิติ
why expand
02 objectives
วัตถุประสงค์
4 ข้อ ของโครงการ
objectives
03 propose
Evidence Sphere
→ 10 มิติ
framework
refs OECD Better Life Index SDR · SGI · WEF NZ Wellbeing Budget สศช. · พม. · NSO
Part 01 · แนวคิดพื้นฐานเกี่ยวกับตัวชี้วัด 1.1 / pipeline overview
01 แนวคิดพื้นฐานเกี่ยวกับตัวชี้วัด · 1.2 / background why expand · 6 → 10 มิติ

ทำไมต้องขยายมิติของตัวชี้วัด?why expand the social indicators?

ปัจจุบันรายงานภาวะสังคมของ สศช. ครอบคลุม 6 ด้านที่มีข้อมูลรายไตรมาส ทำให้สามารถติดตามได้สม่ำเสมอ — แต่ยังไม่สะท้อนการเปลี่ยนแปลงในมิติอื่นที่มีนัยสำคัญต่อคุณภาพชีวิตของคนไทย เช่น สิ่งแวดล้อม · การศึกษา · ที่อยู่อาศัย · ครอบครัว

เหตุผลที่ 1 · scope

ขอบเขตเดิม จำกัดอยู่ที่ "ข้อมูลที่มี"

รายงาน 6 ด้าน ครอบคลุมเฉพาะข้อมูลที่หน่วยงานเก็บรายไตรมาสอย่างต่อเนื่อง — มิติเช่น สิ่งแวดล้อม · ที่อยู่อาศัย · ครอบครัว ยังไม่ได้ติดตามอย่างเป็นระบบ

เหตุผลที่ 2 · global

กรอบสากล กว้างกว่าที่ใช้อยู่

OECD Better Life · UN SDR · Bertelsmann SGI · NZ Wellbeing ใช้มิติ 9–11 ด้าน ครอบคลุมทั้งสังคม–สิ่งแวดล้อม–การปกครอง — ไทยควรปรับให้สอดคล้อง

เหตุผลที่ 3 · context

บริบทไทย เปลี่ยนเร็ว

PM2.5 · ภัยแล้ง · ราคาที่อยู่อาศัย · สังคมสูงวัย · โครงสร้างครอบครัว — เป็นปัญหาที่ปะทุขึ้นใหม่และต้องการการเฝ้าระวังเชิงระบบ

เดิม 6 ด้าน · รายไตรมาส
แรงงาน หนี้สินครัวเรือน สุขภาพ + โรคเฝ้าระวัง บุหรี่ + แอลกอฮอล์ ความปลอดภัย คุ้มครองผู้บริโภค

จำกัดเฉพาะข้อมูลที่หน่วยงานรายงานเป็นรายไตรมาสอย่างต่อเนื่อง — ยังไม่ครอบคลุมการเปลี่ยนแปลงทางสังคมในมิติใหม่ที่กำลังเป็นประเด็น

ขยาย 10 มิติ · ครอบคลุม
แรงงาน การเงินครัวเรือน สุขภาพ ความปลอดภัย คุ้มครองผู้บริโภค + สิ่งแวดล้อม + การศึกษา + ที่อยู่อาศัย + ครอบครัว + คุณภาพชีวิต

ปรับ "หนี้สิน" → "การเงินครัวเรือน" ให้กว้างขึ้น · เพิ่ม 4 มิติใหม่ (สิ่งแวดล้อม · การศึกษา · ที่อยู่อาศัย · ครอบครัว) + คุณภาพชีวิตเป็นมิติรวม

สังเคราะห์จาก: กรอบสากล (OECD BLI · UN SDR · SGI · NZ · Japan) + รายงานภาวะสังคมเดิมของ สศช. + บริบทประเทศไทย 10 มิติ ที่งานนี้เสนอ พร้อมข้อมูลแหล่งเก็บที่ชัดเจน
Part 01 · แนวคิดพื้นฐานเกี่ยวกับตัวชี้วัด 1.2 / why expand
01 แนวคิดพื้นฐานเกี่ยวกับตัวชี้วัด · 1.3 / objectives 3 objectives · study → collect → propose

วัตถุประสงค์โครงการ — 3 เป้าหมาย3 project objectives

งานจ้างที่ปรึกษามี 3 เป้าหมายหลัก — ศึกษากรอบ · รวบรวมข้อมูลและตัวชี้วัด · เสนอรูปแบบรายงานใหม่ · พร้อม ถ่ายทอดองค์ความรู้ผ่านการอบรม

01
STUDY · ศึกษากรอบ review frameworks

ศึกษาและทบทวนมิติด้านสังคมและข้อมูลตัวชี้วัดที่ควรเสนอในรายงานภาวะสังคม สะท้อนสถานการณ์ปัจจุบัน

ดู "กรอบสากล" (OECD/SDR/SGI) + "กรอบไทย" (สศช./พม.) ที่มีอยู่
02
COLLECT · เก็บข้อมูล archive + indices

รวบรวมและจัดเก็บข้อมูลสถิติย้อนหลัง + จัดทำ "สารบัญข้อมูล" ด้านสังคมมิติต่าง ๆ ของประเทศไทย

สร้าง "คลังข้อมูล" ที่ครอบคลุมทุกมิติพร้อมแหล่งที่มา
03
PROPOSE · เสนอรูปแบบ report design

ศึกษาและนำเสนอ "รูปแบบการจัดทำรายงานภาวะสังคม" — ทั้งโครงสร้าง · การนำเสนอ · การสื่อสารต่อผู้กำหนดนโยบาย

ออกแบบ "รายงานใหม่" ที่อ่านง่าย + ใช้ตัดสินใจได้
+ TRAIN · ถ่ายทอด training workshop

จัดอบรมการวิเคราะห์และจัดทำตัวชี้วัดให้กับเจ้าหน้าที่ สศช. ≥ 10 คน — (นี่คือสาระของหลักสูตรนี้!)

"transfer of knowledge" — ให้ทีมรันต่อเองได้
Part 01 · แนวคิดพื้นฐานเกี่ยวกับตัวชี้วัด 1.3 / 3 objectives
01 แนวคิดพื้นฐานเกี่ยวกับตัวชี้วัด · 1.4 / framework evidence sphere · triangulation

กรอบแนวคิด — Evidence Spheretriangulation framework

สศช. ใช้ "การยืนยันข้ามแหล่ง" (triangulation) ระหว่าง กรอบสากล × กรอบไทย × รายงาน สศช. เดิม — มิติที่ปรากฏซ้ำใน ≥ 2 แหล่ง จะถือว่ามีหลักฐานสนับสนุนเพียงพอที่จะเป็น "แกนกลาง" ของตัวชี้วัด

ปัญหา

แต่ละแหล่งวิจัยมี "มิติของตัวเอง" — OECD เน้นคุณภาพชีวิต · UN SDR เน้นความยั่งยืน · Bertelsmann SGI เน้นธรรมาภิบาล · WEF เน้นความเสี่ยง · ไทยเน้นภาวะเศรษฐกิจ–สังคม — ถ้าเลือกแหล่งเดียวจะได้มุมที่จำกัด

วิธี

สำรวจมิติของแต่ละแหล่ง แล้วใช้เกณฑ์ "ปรากฏซ้ำใน ≥ 2 แหล่ง" เป็นตัวกรอง — ยิ่งมิติหนึ่งปรากฏหลายแหล่ง ยิ่งมี หลักฐานเชิงประจักษ์ว่าเป็นมิติสำคัญต่อ "ภาวะสังคม"

ผลลัพธ์

ได้ 10 มิติแกนกลาง ที่ผ่านการยืนยันจากหลายแหล่ง · ทั้งสะท้อนคุณภาพชีวิตและภาวะสังคมไทยอย่างครอบคลุม · มีแหล่งข้อมูลที่ติดตามได้ในประเทศ

เกณฑ์เลือก

(1) ความสำคัญต่อภาวะสังคม · (2) มีข้อมูลในไทยที่ติดตามได้ · (3) วัดได้เป็นเชิงปริมาณ · (4) เปรียบเทียบข้ามเวลา/พื้นที่ได้

ขั้นต่อไป

Part 02 จะลงลึก "แต่ละแหล่ง" — ดูว่า OECD BLI · UN SDR · SGI · NZ Wellbeing · Japan ใช้มิติอะไรบ้าง และไทยมีแหล่งข้อมูลอะไรรองรับ

cross-source ต่างประเทศ × ไทย × สศช. → 10 มิติแกนกลาง
ต่างประเทศ OECD · UN SDR · SGI · NZ · JP ไทย พม. · กระทรวง · นักวิชาการ รายงาน สศช. เดิม 6 ด้าน · รายไตรมาส 10 มิติ
แรงงาน การเงินครัวเรือน สุขภาพ ความปลอดภัย ผู้บริโภค สิ่งแวดล้อม การศึกษา ที่อยู่อาศัย ครอบครัว คุณภาพชีวิต
Part 01 · แนวคิดพื้นฐานเกี่ยวกับตัวชี้วัด 1.4 / evidence sphere
02 วิธีการเก็บรวบรวมข้อมูล 2.1 / opener

เก็บข้อมูลจากแหล่งไหนบ้าง?

ทบทวนวรรณกรรม สังเคราะห์มิติ เลือกตัวชี้วัด

สำรวจ กรอบสากล (OECD · SDR · SGI · WEF) · กรอบประเทศอื่น (นิวซีแลนด์ · ญี่ปุ่น) · รายงานในไทย (สศช. · พลังงาน · โทรคมนาคม) — สังเคราะห์เป็น "10 มิติแกนกลาง" พร้อมแหล่งข้อมูลที่นำมาใช้ได้จริง

01 global
กรอบสากล
OECD · SDR · SGI · WEF
global frameworks
02 domestic
รายงานในไทย
สศช · พลังงาน · กสทช
thai reports
03 synthesize
10 มิติแกนกลาง
+ ตัวชี้วัด/แหล่ง
10 dimensions
refs OECD BLI (11 มิติ) SDR / SGI · Sachs et al. NZ Wellbeing · Japan QoL สสช · ธปท · คร · คพ · กสทช
Part 02 · วิธีการเก็บรวบรวมข้อมูล 2.1 / pipeline overview
02 วิธีการเก็บรวบรวมข้อมูล · 2.2 / global 4 frameworks · ระดับสากล

กรอบสากล — OECD · SDR · SGI · NZ Wellbeing4 global frameworks

แต่ละกรอบเน้น "มิติ" ต่างกัน — ตั้งแต่คุณภาพชีวิตประชากร · ความยั่งยืน · ธรรมาภิบาลภาครัฐ — รวมกันสะท้อนภาพรวมของ "ความเป็นอยู่"จากหลายมุมมอง

OECD BLI Better Life Index
วัด "คุณภาพชีวิตประชากร" ของ 38 ประเทศสมาชิก OECD
2011 · ปัจจุบัน 11 มิติ 38 ประเทศ รายปี

เผยแพร่โดย OECD · ใช้ข้อมูลจริงจากประเทศสมาชิก · ผู้ใช้สามารถถ่วงน้ำหนักมิติเองเพื่อสะท้อน "อะไรสำคัญกับฉัน" — เป็นกรอบที่มีอิทธิพลสูงสุดในการวัด wellbeing ระดับสากล

ที่อยู่อาศัย รายได้ งาน ชุมชน การศึกษา สิ่งแวดล้อม มีส่วนร่วม สุขภาพ ความพึงพอใจชีวิต ความปลอดภัย สมดุลงาน-ชีวิต
UN SDR Sustainable Development Report
ติดตามความก้าวหน้าสู่ "เป้าหมายการพัฒนาที่ยั่งยืน 2030"
UN SDG aligned 17 เป้าหมาย 169 ตัวชี้วัด รายปี

จัดทำโดย Sustainable Development Solutions Network · ใช้ข้อมูลจริงให้คะแนนความก้าวหน้าทั้ง 17 SDGs · ครอบคลุม 3 มิติ: เศรษฐกิจ · สังคม · สิ่งแวดล้อม + ธรรมาภิบาล

ขจัดความยากจน ความหิว สุขภาพ การศึกษา ความเท่าเทียม น้ำ-สุขาภิบาล พลังงาน งาน-เศรษฐกิจ เมืองยั่งยืน ภูมิอากาศ
SGI Sustainable Governance Indicators
วัด "ประสิทธิภาพการบริหารภาครัฐ" + ความสามารถในการกำหนดนโยบายระยะยาว
Bertelsmann 41 OECD/EU 3 เสาหลัก รายปี

จัดทำโดย Bertelsmann Stiftung (เยอรมนี) · เน้นด้าน governance / institutional quality มากกว่ากรอบอื่น · ใช้ทั้งข้อมูลเชิงปริมาณ + ความเห็นผู้เชี่ยวชาญ

นโยบายความยั่งยืน ประชาธิปไตย ธรรมาภิบาล
NZ Wellbeing Living Standards Framework
นิวซีแลนด์ — ประเทศแรกที่ผูก wellbeing เข้ากับงบประมาณแห่งชาติ
2019 · ปัจจุบัน 12 มิติ 4 capitals Treasury

ตั้งแต่ Wellbeing Budget 2019 — ทุกนโยบายต้องตอบคำถาม "wellbeing impact"ก่อนได้รับงบ · กรอบมี 4 capitals ที่เป็นทุนระยะยาว: ธรรมชาติ · มนุษย์ · สังคม · การเงิน

ทุนธรรมชาติ ทุนมนุษย์ ทุนสังคม ทุนการเงิน
Part 02 · วิธีการเก็บรวบรวมข้อมูล 2.2 / global frameworks
02 วิธีการเก็บรวบรวมข้อมูล · 2.3 / domestic thai reports · 3 หน่วยงาน

ทบทวนรายงานในประเทศไทยdomestic precedents

ดูรายงานที่มีอยู่แล้วในไทย เพื่อเรียนรู้ "รูปแบบที่ใช้ได้จริง" และระบุ "ช่องว่าง" ที่งานนี้จะมาเติม — ทั้งด้านมิติที่ครอบคลุม · วิธีการคำนวณ · และวิธีนำเสนอ

สศช. ภาวะสังคมไทย
รายงานเดิม — งานนี้จะ "ขยายและปรับปรุง"
รายไตรมาส 6 ด้าน 2546 · ปัจจุบัน

สศช. เผยแพร่ "ภาวะสังคมไทย" รายไตรมาสมาตั้งแต่ปี 2546 ครอบคลุมเฉพาะข้อมูลที่หน่วยงานต่างๆ รายงานสม่ำเสมอ — เป็นข้อมูลที่ทุกฝ่ายอ้างอิงแต่ ขอบเขตเดิมจำกัดเฉพาะ "ข้อมูลที่มี"

แรงงาน หนี้สิน สุขภาพ บุหรี่-สุรา ความปลอดภัย คุ้มครองผู้บริโภค
ใช้เป็นฐาน ขยาย → 10 มิติ + เปลี่ยนวิธีคำนวณเป็น Z-Score + Percentile
สนพ. สถานการณ์พลังงาน
ต้นแบบ "วิธีนำเสนอ" รายไตรมาสที่อ่านง่าย
รายไตรมาส กระทรวงพลังงาน dashboard

สำนักงานนโยบายและแผนพลังงาน (สนพ.) เผยแพร่รายงานสถานการณ์พลังงานรายไตรมาส — ใช้ dashboard + time-series + trend analysis ให้ผู้อ่านเห็นภาพรวมได้รวดเร็ว · เป็นตัวอย่างที่ดีของการนำเสนอข้อมูลภาครัฐสมัยใหม่

การผลิต การบริโภค ราคา นำเข้า-ส่งออก พลังงานทดแทน
ใช้เป็นแม่แบบ รูปแบบ dashboard + trend chart สำหรับนำเสนอตัวชี้วัดสังคม
กสทช. โทรคมนาคมรายไตรมาส
ต้นแบบ "ตารางและการจัดอันดับ"
รายไตรมาส กสทช. structured

สำนักงาน กสทช. เผยแพร่รายงานสถานการณ์โทรคมนาคมรายไตรมาส — เน้น tables · maps · ranking ของผู้ให้บริการที่ผู้บริหารใช้ตัดสินใจได้รวดเร็ว · มีโครงสร้างเปรียบเทียบตามเวลา · ภูมิภาค · บริการ

มือถือ บรอดแบนด์ โครงข่าย ราคา คุณภาพบริการ
ใช้เป็นแม่แบบ รูปแบบตารางเทียบ + ranking ระดับจังหวัด/ภาค
ช่องว่างที่งานนี้จะมาเติมgaps this project fills

1) เพิ่ม 5 มิติใหม่ (สิ่งแวดล้อม · การศึกษา · ที่อยู่อาศัย · ครอบครัว · คุณภาพชีวิต) ที่รายงานเดิมไม่ครอบคลุม · 2) ใช้ Z-Score + Percentile แบบมาตรฐาน ทำให้เทียบกันได้ทั้งข้ามมิติและข้ามเวลา · 3) เสริม Social Listening + AI ติดตามกระแสรายวัน เติมช่องว่างของข้อมูลรายไตรมาส

Part 02 · วิธีการเก็บรวบรวมข้อมูล 2.3 / thai reports
02 วิธีการเก็บรวบรวมข้อมูล · 2.4 / synthesize 10 dimensions · core indicators

สังเคราะห์เป็น 10 มิติแกนกลาง10 core dimensions

จากการ "ยืนยันข้ามแหล่ง" (triangulation) ระหว่างกรอบสากล + ไทย + รายงานเดิม — ได้ 10 มิติแกนกลางที่ผ่านการตรวจสอบว่ามี ข้อมูลสนับสนุนในประเทศไทยและตอบโจทย์การเฝ้าระวังภาวะสังคม

แต่ละมิติประกอบด้วย "ตัวชี้วัดหลัก" 3-7 ตัว · มีแหล่งข้อมูล + ความถี่ + นิยามที่ชัดเจน · จะลงลึกใน Part 03 (การคำนวณ Z-Score) และ Part 04 (AI จัดข่าวเข้ามิติ)
💼
แรงงาน
labour
💰
การเงินครัวเรือน
household finance
🏥
สุขภาพ
health
🚨
ความปลอดภัย
safety
🛡️
คุ้มครองผู้บริโภค
consumer protect.
🌫️
สิ่งแวดล้อม
environment
🎓
การศึกษา
education
🏘️
ที่อยู่อาศัย
housing
👨‍👩‍👧
ครอบครัว
family
🌸
คุณภาพชีวิต
wellbeing
Part 02 · วิธีการเก็บรวบรวมข้อมูล 2.4 / 10 dimensions
02 วิธีการเก็บรวบรวมข้อมูล · 2.5 / agencies data sources · หน่วยงานไทย

แหล่งข้อมูลที่ใช้จริงใน Dashboardlive sources by dimension

มิติ แหล่งจริง ตัวอย่างตัวแปร ความถี่ การเข้าถึง
แรงงาน NSO (LFS) · ธปท. การจ้างงาน · ว่างงาน · ค่าจ้างเฉลี่ย · แรงงานนอกระบบ รายเดือน · รายปี manual
การเงินครัวเรือน NSO · ธปท. · NCB หนี้ครัวเรือน · NPL · รายได้ครัวเรือน (SES) รายไตรมาส · รายปี manual
สุขภาพ กรมสุขภาพจิต · กรมควบคุมโรค · สถาบันมะเร็ง ผู้ป่วยซึมเศร้า · มะเร็ง · NCDs · โรคติดต่อ รายปี manual
ความปลอดภัย สนง.ตำรวจฯ · มสป. · กองทุนเงินทดแทน อาชญากรรมไซเบอร์ · อุบัติเหตุ · เสียชีวิตจากการทำงาน รายเดือน · รายปี manual
คุ้มครองผู้บริโภค สคบ. · กสทช. · PDPC · กปว. เรื่องร้องเรียน · ละเมิดข้อมูลส่วนบุคคล · scam รายปี manual
สิ่งแวดล้อม OpenAQ · Open-Meteo · DDPM · กรมควบคุมมลพิษ PM2.5 รายวัน · ฝนรายวัน · ภัยพิบัติ รายวัน · รายเดือน · รายปี API + manual
การศึกษา สป.อว. · ศธ. · สพฐ. อัตราเข้าเรียน · ผู้สำเร็จการศึกษา · NEET รายปี manual
ที่อยู่อาศัย ธปท. ดัชนีราคาที่อยู่อาศัย · housing affordability รายไตรมาส manual
ครอบครัว VCIS (ศูนย์ปฏิบัติการป้องกันความรุนแรงในครอบครัว) เคสความรุนแรง · เด็กที่ถูกทอดทิ้ง · คดีหย่า รายปี manual
API PM2.5 รายวัน · ทุกสถานีในไทย api.openaq.org/v3
import requests

# 1) หาสถานี PM2.5 ในไทย (parameters_id=2 คือ PM2.5)
locs = requests.get(
    "https://api.openaq.org/v3/locations",
    headers={"X-API-Key": OPENAQ_KEY},
    params={"iso": "TH", "parameters_id": 2},
).json()["results"]

# 2) ดึงค่ารายวัน 1 ปี ของแต่ละสถานี
for loc in locs:
    sid = loc["sensors"][0]["id"]
    daily = requests.get(
        f"https://api.openaq.org/v3/sensors/{sid}/days",
        params={"date_from": "2024-01-01",
                "date_to":   "2024-12-31"},
    ).json()["results"]
API ฝนรายวัน · พื้นที่ใดก็ได้ในไทย archive-api.open-meteo.com
import requests

# Open-Meteo Archive — ไม่ต้องใช้ API key
# ตัวอย่าง: จังหวัดนครศรีธรรมราช (8.9°N, 99.0°E)
r = requests.get(
    "https://archive-api.open-meteo.com/v1/archive",
    params={
        "latitude":   8.9034,
        "longitude":  99.0129,
        "start_date": "2020-01-01",
        "end_date":   "2024-12-31",
        "daily":      "rain_sum",
        "timezone":   "Asia/Bangkok",
    },
).json()

dates = r["daily"]["time"]
rain  = r["daily"]["rain_sum"]
Part 02 · วิธีการเก็บรวบรวมข้อมูล 2.5 / thai data sources
03 การคำนวณตัวชี้วัด 3.1 / pipeline overview

การคำนวณตัวชี้วัด

จากข้อมูลดิบ สัญญาณ 4 ระดับ

ทุกตัวชี้วัด สศช. ผ่าน pipeline เดียวกัน — ทำความสะอาด รวบรวม ปรับมาตรฐานด้วย Z-Score แล้วตีความเป็น 4 สีระดับวิกฤต

Part 03 · การคำนวณตัวชี้วัด v1.0 2026 · TH
03 การคำนวณตัวชี้วัด · 3.2 / pipeline ค่าจ้างแรงงานเฉลี่ย · บาท/เดือน · สสช.

ทำความสะอาดและรวบรวมข้อมูล

ขั้นที่ 1-2 · เปลี่ยนข้อมูลดิบรายไตรมาสให้เป็นอัตราเติบโตปีต่อปี (%YoY)

ค่าจ้างรายไตรมาสมักมี "ผลของฤดูกาล" ปะปนอยู่ เช่น ไตรมาส 4 ที่ค่าจ้างมักสูงขึ้นจากโบนัส หากนำมาเทียบกันแบบไตรมาสต่อไตรมาส อาจทำให้ตีความผิดได้ ดังนั้นเราจึงใช้การคำนวณ %YoY (เทียบกับช่วงเดียวกันของปีก่อน) เพื่อลดผลกระทบจากฤดูกาลก่อน จากนั้นจึงนำค่าไปผ่านขั้นตอน ปรับมาตรฐานด้วย Z-Score (สไลด์ 3.3–3.4) โดยเปรียบเทียบ %YoY ปัจจุบันกับค่าเฉลี่ย (μ) และส่วนเบี่ยงเบนมาตรฐาน (σ) ของช่วงอ้างอิง เพื่อแปลงให้อยู่ในรูป "หน่วยมาตรฐาน" ที่สามารถนำไปเทียบกับเกณฑ์ สัญญาณ 4 สี ในสไลด์ 3.5 ได้ง่ายขึ้น
data ค่าจ้างแรงงานเฉลี่ย (รวม) · บาท/เดือน freq รายไตรมาส · Q1–Q4 / ปี source สสช. · Labour Force Survey type ข้อมูลจริงreal
ตารางตัวอย่าง · 9 ไตรมาส (Q1/2562 → Q1/2564)
ไตรมาสค่าจ้าง%YoY
Q1/256214,557+1.40%
Q2/256214,809+3.54%
Q3/256214,770+1.42%
Q4/256214,694+0.95%
Q1/256314,876+2.19%
Q2/256314,820+0.07%
Q3/256315,148+2.56%
Q4/256315,113+2.85%
Q1/256414,386−3.29%
สูตร · %YoY (Year-over-Year)
%YoYt = Vt − Vt−4 Vt−4 × 100
ทำเพื่ออะไร

เปลี่ยน "ค่าดิบ" ที่มีฤดูกาลปะปน ให้เป็น "อัตราการเติบโต" ที่สะท้อนการเปลี่ยนแปลงจริงระหว่างปี — เป็นรูปแบบที่ขั้น Z-Score ต้องการ (ตัวเลข %change ที่เปรียบเทียบกันได้)

ตัดฤดูกาลอย่างไร

เทียบ Vt กับ Vt−4 ซึ่งเป็น ไตรมาสเดียวกันของปีก่อน (Q1 เทียบ Q1) บริบทฤดูกาลคล้ายกัน → เมื่อหารกัน ผลฤดูกาลหักล้าง เหลือเฉพาะการเปลี่ยนแปลงระหว่างปี

ตัวอย่าง · Q1/2564 vs Q1/2563
= (14,386 − 14,876) ÷ 14,876 × 100 = −3.29 %   ค่าจ้างลด YoY ในช่วง COVID
Part 03 · การคำนวณตัวชี้วัด 3.2 / clean + aggregate
03 การคำนวณตัวชี้วัด · 3.3 / pipeline ref window · 8 ไตรมาส · Q1/2562 → Q4/2563

ค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐาน

ขั้นที่ 3a · สร้าง "ค่ามาตรฐาน" จากช่วงอ้างอิง 8 ไตรมาสล่าสุด

ก่อนจะตัดสินว่าค่า %YoY ใหม่ "ผิดปกติ" มากแค่ไหน เราต้องสร้าง "ค่ามาตรฐาน" ของช่วงอ้างอิงก่อน — โดยคำนวณ μ (ค่าเฉลี่ย = ระดับปกติ) และ σ (ส่วนเบี่ยงเบนมาตรฐาน = ความผันผวน) จาก %YoY ของ 8 ไตรมาสล่าสุด สองค่านี้ทำหน้าที่เป็น "ค่ามาตรฐาน" ให้ขั้น Z-Score วัดว่า %YoY ใหม่ห่างจากระดับปกติกี่หน่วย — เพื่อเปรียบเทียบตัวชี้วัดต่าง ๆ ได้ในมาตรฐานเดียวกัน
ขั้นที่ 3a.1 · ค่าเฉลี่ย (μ)
คืออะไร

ผลรวมของค่าทั้งหมดในช่วงอ้างอิง หารด้วยจำนวนข้อมูล — บอก "ระดับปกติ" ของตัวชี้วัด

ใช้ทำไม

เป็น "จุดศูนย์กลาง" ของ Z-Score — ค่าใหม่สูงกว่า μ ได้ Z บวก, ต่ำกว่า μ ได้ Z ลบ

μ = Σ Xi n
Σ = 1.40 + 3.54 + 1.42 + 0.95 + 2.19 + 0.07 + 2.56 + 2.85 = 14.98 μ = 14.98 ÷ 8 = +1.87 %
ขั้นที่ 3a.2 · ส่วนเบี่ยงเบนมาตรฐาน (σ)
คืออะไร

วัดว่าข้อมูลกระจายห่างจากค่าเฉลี่ยมากน้อยเพียงใด — σ สูง = ผันผวน, σ ต่ำ = เสถียร

ใช้ทำไม

เป็น "หน่วยวัดระยะ" ใน Z-Score — แยกความผันผวนทั่วไปออกจากสัญญาณผิดปกติ

σ = Σ (Xi − μ)² N
Σ(X−μ)² = 0.22 + 2.79 + 0.20 + 0.85 + 0.10 + 3.24 + 0.48 + 0.96 = 8.84 σ = √(8.84 ÷ 8) = √1.105 = 1.05 %
ทำไมใช้ Population SD

เพราะใช้ข้อมูลครบทั้ง 8 ไตรมาสล่าสุด เป็น "ประชากรของช่วงอ้างอิง" โดยตรง ไม่ได้สุ่มเป็นตัวแทน — จึงหารด้วย N ไม่ใช่ N−1 แบบ Sample SD

Part 03 · การคำนวณตัวชี้วัด 3.3 / mean + SD
03 การคำนวณตัวชี้วัด · 3.4 / pipeline evaluate · Q1/2564 · x = −3.29 %

Z-Score

ขั้นที่ 3b · แปลงค่าเป็น "หน่วยมาตรฐาน" เพื่อเทียบข้ามตัวชี้วัดได้

Z-Score ใช้ตอบคำถามว่า "ค่าปัจจุบันห่างจากระดับปกติกี่ส่วนเบี่ยงเบนมาตรฐาน (SD)?" โดยเปรียบเทียบกับ μ และ σ ของช่วงอ้างอิง
Z = +1 สูงกว่าค่าเฉลี่ย 1 SD Z = −2 ต่ำกว่าค่าเฉลี่ย 2 SD
ข้อสำคัญคือ Z-Score เป็น "ค่าที่ไม่มีหน่วย" จึงเปรียบเทียบตัวชี้วัดที่มีหน่วยหรือช่วงค่าต่างกันได้ในมาตรฐานเดียวกัน
ขั้นที่ 3b.1 · คำนวณ Zraw
Z = x − μ σ
x = ค่าที่ประเมิน · μ = ค่าเฉลี่ย · σ = SD ของช่วงอ้างอิง
Zraw = (−3.29 − 1.87) ÷ 1.05 = −5.16 ÷ 1.05 Zraw = −4.91   ต่ำกว่าค่าเฉลี่ย 4.9 SD
ขั้นที่ 3b.2 · ทำไมต้องกลับเครื่องหมาย?

คำว่า "ค่าสูง" ของแต่ละตัวชี้วัดมีความหมายไม่เหมือนกัน — เราจึงต้องปรับให้ทุกตัวพูดภาษาเดียวกัน

ค่าสูง = ดี ค่าจ้าง · การจ้างงาน ↓ กลับเครื่องหมาย Zadj = −Zraw
ค่าสูง = แย่ หนี้ · ว่างงาน · PM2.5 ↓ ใช้ Z ตรงเลย Zadj = Zraw
ทุกตัวพูดภาษาเดียวกันแล้ว: Zadj สูง = สัญญาณแย่ เสมอ ใช้เกณฑ์เตือนภัยชุดเดียวกันได้ทั้งระบบ
ค่าจ้าง higherIsBetter = true Zadj = −(−4.91) = +4.91
Part 03 · การคำนวณตัวชี้วัด 3.4 / z-score
03 การคำนวณตัวชี้วัด · 3.5 / pipeline Zadj · +4.91

Percentile และระดับสัญญาณ

ขั้นที่ 3c · แปลง Z-Score เป็น Percentile และระดับสัญญาณ

แม้ Z-Score จะช่วยวัดความผิดปกติได้แม่นยำ แต่เป็นค่าทางสถิติที่เข้าใจยากสำหรับผู้ใช้งานทั่วไป จึงแปลงต่อเป็น Percentile (0–100) ด้วยวิธี empirical rank — นำค่า Zadj ปัจจุบันไปเทียบกับค่าในช่วงอ้างอิงที่เรียงจากน้อยไปมาก แล้วหาว่า "สูงกว่าค่าในอดีตกี่เปอร์เซ็นต์"
Percentile = 80 สูงกว่า 80% ของค่าในอดีต Percentile = 20 ค่อนข้างต่ำเมื่อเทียบกับอดีต
จากนั้นแปลงเป็น "ระดับสัญญาณ 4 สี" (ดูเกณฑ์ในการ์ดด้านล่าง) เพื่อให้สื่อสารสถานะของตัวชี้วัดต่าง ๆ ได้ในเกณฑ์เดียวกันทั้งระบบ
ลำดับค่า Zadj ของช่วงอ้างอิง · เรียงจากน้อยไปมาก
−1.71Q2/63 −1.18Q3/63 −0.93Q4/63 −0.31Q1/63 +0.43Q1/62 +0.45Q3/62 +0.88Q4/62 +1.59Q2/62 +4.91Q1/64 ★
step · percentile (empirical rank)
Percentile = rank ของ Zadj Nref × 100
Zadj = +4.91   สูงกว่าทั้ง 8 ค่าในช่วงอ้างอิง Percentile = 8 ÷ 8 × 100 Percentile = 100 %
step · เทียบเกณฑ์ 4 สีสัญญาณ
normal
watch
alert
critical
100
0607080
วิกฤต (CRITICAL) Q1/2564 · Percentile = 100 · Zadj = +4.91
Part 03 · การคำนวณตัวชี้วัด 3.5 / percentile + verdict
03 การคำนวณตัวชี้วัด · 3.6 / pipeline NESDC Social Pulse · /zscore

ผลลัพธ์ในระบบจริง live dashboard

ทุกขั้นจากสไลด์ 3.2 – 3.5 ถูกประมวลผลอัตโนมัติในระบบ NESDC Social Pulse

หน้า /zscore เป็น "sandbox ทดลองคำนวณ" — ผู้ใช้สลับได้ทั้ง วิธีที่ 1 (ค่าตรง) และ วิธีที่ 2 (%QoQ / %YoY) เพื่อเทียบผลลัพธ์ — ระบบแสดง ค่าล่าสุด, Z-Score, Percentile และสัญญาณสีพร้อมกัน
หมายเหตุ: หน้า production จริง (/dimensions/*, /monthly) ใช้ วิธีที่ 2 (%QoQ/%YoY) เป็นหลักเสมอ เพราะตัดผลฤดูกาลออก เหมาะกับการเฝ้าระวัง
Part 03 · การคำนวณตัวชี้วัด 3.6 / live dashboard
03 การคำนวณตัวชี้วัด · 3.7 / game interactive · z-score calculator
มินิเกม · Z-Score Calculator

ลองคำนวณ "สัญญาณ" จากข้อมูลจริง

ตัวชี้วัด: จำนวนวันที่ PM2.5 ≤ 25 µg/m³ ต่อไตรมาส (วันอากาศดี) · ทิศทาง: สูง = ดี (positive) · ข้อมูล 8 ไตรมาสย้อนหลัง 2 ปี — ลองทายว่าค่าปัจจุบันเข้าโซนสัญญาณไหน

เลือก scenario (ค่า Q1/2568)
45Q1/66
78Q2/66
85Q3/66
62Q4/66
38Q1/67
72Q2/67
80Q3/67
55Q4/67
?Q1/68
Q1/68 = · สัญญาณคืออะไร?
รอเลือก scenario... เลือก scenario ด้านซ้าย แล้วเดาสัญญาณ
normal
watch
alert
critical
0
0607080
เฉลย ดูวิธีคำนวณทีละขั้น
1
หา μ และ σ จาก 8 จุดย้อนหลัง (population SD ÷ N)
μ = (45+78+85+62+38+72+80+55) / 8 = 64.38
σ = √(Σ(xᵢ−μ)² / 8) = 16.12
2
คำนวณ z_raw = (x − μ) / σ
z = ( − 64.38) / 16.12 =
3
ทิศทางบวก (สูง = ดี) → flip ×(−1)
z_adj = −z_raw =
4
แปลงเป็น Percentile ด้วย normal CDF
P = Φ(z_adj) × 100 = %
5
เทียบกับเกณฑ์
P < 60: normal · 60–69: watch · 70–79: alert · ≥ 80: critical →
Part 03 · การคำนวณตัวชี้วัด 3.7 / z-score calculator (game)
04 AI ในการจัดทำและเผยแพร่รายงาน 4.1 / opener

AI ในการจัดทำรายงาน

ข่าวสารรายวัน รายงานเชิงนโยบาย

ระบบ NESDC Social Pulse ใช้ AI อัตโนมัติทั้ง pipeline — ตั้งแต่ดูดข่าว จัดมิติด้วย Vision AI สรุปเป็น digest ด้วย LLM Agent และส่งออกผ่าน Dashboard, Google Drive และรายงานเชิงนโยบาย

01 ingest
เก็บ ข่าว/ข้อมูล
จากแหล่งหลายช่อง
schedule + scrape
02 classify
จัด 10 มิติ
ด้วย Vision + LLM
gemini vision
03 synthesize
สรุปเป็น
Daily / Weekly digest
langchain agent
04 publish
ส่งออกผ่าน
Dashboard · Drive · เว็บ
deploy + share
stack n8n · workflow engine Google Gemini · LLM + Vision LangChain · agents HTTP scraping Google Drive · storage Next.js Dashboard GitHub Actions · CI
Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.1 / pipeline overview
I Section 01 / 03 · Part 04
STACK

ทำความรู้จัก เครื่องมือใน Stack

ก่อนเข้า pipeline จริง — มาทำความเข้าใจ 4 องค์ประกอบหลัก ที่ทำงานร่วมกันเบื้องหลังระบบ AI ของเรา

01n8n 02Google Gemini · LLM 03LangChain Agent 04System Prompt
Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.2 / section · stack
04 AI ในการจัดทำและเผยแพร่รายงาน · 4.3 / stack 01/ 04 · n8n

n8n — Workflow Engine

"เครื่องมือต่อ workflow แบบ drag-and-drop" — ลากกล่องงานเชื่อมเป็น flow แล้วระบบรันเองอัตโนมัติ

คืออะไร

Open-source workflow automation — เปิดให้ทำงานต่อ ๆ กันโดยไม่ต้องเขียนโค้ดเอง ใช้ "node" (กล่อง) แทนแต่ละขั้นตอน ลากเชื่อมกันเป็น flow บนหน้าจอ

ทำงานยังไง

Schedule TriggerHTTP RequestAI AgentUpload to Drive — ทุก node ส่งข้อมูลให้ node ถัดไป รันตามที่ตั้ง cron ไว้

เหมือน

Zapier หรือ Make.com — แต่ self-hosted (เก็บข้อมูลในเซิร์ฟเวอร์ของเรา) + open-source (ไม่ต้องจ่ายรายเดือน)

ใช้ทำอะไร

ระบบเราใช้ n8n orchestrate ทั้ง pipeline — ดึงข่าว, ส่งให้ Gemini, รับผลลัพธ์, เขียนกลับ Data Table, ส่งขึ้น Drive

live n8n workflow editor — News Classify pipeline
n8n workflow editor — animated pan
Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.3 / n8n
04 AI ในการจัดทำและเผยแพร่รายงาน · 4.4 / stack 02/ 04 · LLM

Google Gemini — Multimodal LLM

"AI ที่อ่านข้อความและดูรูปได้ในตัวเดียวกัน" — เหมาะกับการจัดมิติข่าวที่มีทั้งหัวข้อ + เนื้อหา + รูปประกอบ

คืออะไร

Large Language Model ของ Google — AI ที่ฝึกจากข้อความและภาพมหาศาล ตอบกลับเป็นภาษาธรรมชาติได้หลายภาษารวมถึงไทย

multimodal

ทำงานทั้ง ข้อความ + ภาพ + เสียง ใน model เดียว — ไม่ต้องแยกใช้ Vision API กับ Text API คนละตัว

เหมือน

ChatGPT หรือ Claude — แต่ Gemini จาก Google เน้น multimodal + ผูกกับ Google Cloud + ราคาคุ้ม

ใช้ทำอะไร

ระบบใช้ Gemini เป็น "สมอง" ของทุก AI Agent — จัดมิติข่าว, สรุปบทความ, วิเคราะห์ trend

live multimodal in / out — รูปข่าว + คำถาม → JSON tag
จัดมิติข่าวนี้ — มีรูปและข้อความ
Gemini กำลังคิด…
{
  "type": "แรงงาน",
  "confidence": 0.94,
  "reasoning": "เห็นป้ายค่าจ้าง + กลุ่มผู้ชุมนุม"
}
Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.4 / google gemini
04 AI ในการจัดทำและเผยแพร่รายงาน · 4.5 / stack 03/ 04 · Agent

LangChain Agent — AI ที่มี Role

"ห่อ LLM ให้ทำงานคงเส้นคงวา" — รวม system prompt + LLM + memory + tools เข้าด้วยกันเป็น "พนักงาน" หนึ่งคน

คืออะไร

Framework ที่ใส่ "บทบาท + กฎ + เครื่องมือ" ให้ LLM — ทำให้ AI ตอบคงเส้นคงวา + format ตามที่ต้องการ + เรียกใช้ tool เพิ่มเติมได้

ประกอบด้วย

System Prompt (บทบาท/กฎ) + LLM (สมอง) + Memory (ความจำในรอบสนทนา) + Tools (ดึงข้อมูล/API)

เหมือน

"พนักงาน + job description + เครื่องมือทำงาน" — ไม่ใช่แค่คนเก่ง แต่ทำงานตามขั้นตอนและส่งงานในฟอร์แมตเดียวกันทุกครั้ง

ใช้ทำอะไร

ระบบเรามี 3 Agent: Chunk Analyzer (สรุปข่าวก้อนเล็ก), Merger (รวมเป็นบทความ), Weekly Pulse (วิเคราะห์เส้นเรื่องสัปดาห์)

live Agent architecture — 4 ส่วนพร้อม data flow
System Prompt role + rules
LLM
(Gemini) "สมอง"
Memory chat history
Tools data / api
Output JSON / markdown
Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.5 / langchain agent
04 AI ในการจัดทำและเผยแพร่รายงาน · 4.6 / stack 04/ 04 · Prompt

System Prompt — คู่มือของ AI

"คำสั่งและกฎ" ที่ AI อ่านทุกครั้งก่อนเริ่มงาน — กำหนดบทบาท ขั้นตอนคิด รูปแบบผลลัพธ์ และข้อห้าม

คืออะไร

ข้อความล่วงหน้า ที่ฝังในตัว Agent — บอก AI ว่าเป็นใคร ทำอะไร ตอบยังไง และห้ามทำอะไร — เขียนครั้งเดียว ใช้ตลอดอายุของ Agent

โครงสร้าง

ROLE (เป็นใคร) + INSTRUCTIONS (ทำอะไร) + OUTPUT FORMAT (ตอบหน้าตาแบบไหน) + GUARDRAILS (ห้ามอะไร)

เหมือน

SOP / คู่มือทำงาน ที่พนักงานต้องอ่าน ทุกครั้งก่อนทำงาน — รับประกัน "คุณภาพ + ความคงเส้นคงวา" ไม่ขึ้นกับวันไหน

สำคัญที่สุด

NO HALLUCINATION — กฎห้าม AI "แต่งข้อมูล" ที่ไม่มีในอินพุต ป้องกัน AI พูดมั่ว ๆ ที่อันตรายต่อรายงานนโยบาย

live actual system prompt — Weekly Social Pulse Analyst
role
# บทบาทของ Agent
SYSTEM: คุณคือ "Weekly Social Pulse Analyst"
ทำหน้าที่สร้าง "รายงานกระแสโซเชียลประจำสัปดาห์"
instructions
# ขั้นตอนคิด
1) แยก daily แต่ละฉบับ → 2) Extract Topic Radar
3) Story Clustering ข้ามวัน → 4) เขียนตาม template
output format
# รูปแบบผลลัพธ์
คืนค่าเป็น Markdown เท่านั้น
ตาม TEMPLATE ที่กำหนดทุก section
guardrails
# ข้อห้าม
NO HALLUCINATION — ห้ามแต่งข้อมูล
ห้ามอ้างแหล่งอื่นนอกอินพุต
Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.6 / system prompt
II Section 02 / 03 · Part 04
PIPELINE

เริ่ม Pipeline จริง เก็บข่าวและข้อมูล

ทุกเช้า 07:00 ระบบรันเอง — 5 ขั้นเรียงกันทำงานต่อเนื่อง ใน 7 นาที จนได้ ราว 300 rows พร้อมส่งให้ AI วิเคราะห์

01Cron Trigger · 07:00 02RSS + Scraping · 07:01 03Social Posts · 07:03 04Official Stats · 07:05 05Data Table · 07:07
Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.7 / section · pipeline
04 AI ในการจัดทำและเผยแพร่รายงาน · 4.8 / ingest 01/ 05 · Cron

Schedule Trigger — ระบบรันตอนไหน?

ขั้นที่ 01 · ใช้ cron ตั้งเวลาให้ workflow รันทุกเช้า — ไม่ต้องมีคนกดเอง

07:00 step 01 / 05
cron triggers
คืออะไร Cron = ภาษามาตรฐานบอกเวลาแบบรหัส 5 ตำแหน่ง 0 7 * * * = "นาที 0 ของชั่วโมง 7 ทุกวัน" — ทำหน้าที่เหมือน "นาฬิกาปลุก" ของระบบ
ทำงานยังไง n8n รัน node Schedule Trigger เป็น background service — ทุกครั้งที่ถึงเวลาที่ตั้ง จะ "ปลุก" workflow ให้รันตั้งแต่ node แรกจนจบ
ส่งต่อ ➜ ขั้น 02 ส่งสัญญาณ { "triggered_at": "2026-05-17T07:00:00+07:00" } ให้ node ถัดไป (RSS Fetch)
live cron syntax + scheduled fire animation
07:00:00
⚡ WORKFLOW FIRED
0 7 * * *
minute · hour · day · month · weekday
Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.8 / ingest · step 01 · cron
04 AI ในการจัดทำและเผยแพร่รายงาน · 4.9 / ingest 02/ 05 · RSS

ดึงข่าวจากเว็บข่าว — RSS + Scraping

ขั้นที่ 02 · เรียกอ่านข่าวจากเว็บข่าวประมาณ 50 แห่งพร้อมกัน ส่วนใหญ่ผ่าน RSS feed

07:01 step 02 / 05
fetch 50 sources
คืออะไร RSS (Really Simple Syndication) = XML feed มาตรฐานที่เว็บข่าวเปิดให้ "subscribe" หัวข้อใหม่ — HTTP scraping ใช้เมื่อเว็บไม่มี RSS โดยอ่าน HTML ดิบแล้ว parse
ทำงานยังไง node HTTP Request ยิงหา feed URL ทุกแหล่งคู่ขนาน → ได้ XML/HTML กลับ → node Code in JavaScript parse เอาเฉพาะ title · link · pubDate · summary
ส่งต่อ ➜ ขั้น 03 ได้ ราว 50 articles ต่อรอบ ทุกแหล่งแปลงเป็น schema เดียวกัน
live fetching news from RSS feeds
ไทยรัฐthairath.co.th/rss/news ✓ 14 รายการ
มติชนmatichon.co.th/rss ✓ 11 รายการ
Thai PBSthaipbs.or.th/rss/news ✓ 9 รายการ
BBC Thaibbc.com/thai/rss ✓ 8 รายการ
Reuters THreuters.com/thailand/rss ✓ 8 รายการ
รวม 50 articles · ใน 47 วินาที
Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.9 / ingest · step 02 · rss
04 AI ในการจัดทำและเผยแพร่รายงาน · 4.10 / ingest 03/ 05 · Social

ดึงโพสต์จาก Social — รูป + caption + ปฏิสัมพันธ์

ขั้นที่ 03 · เก็บโพสต์สาธารณะที่มี รูปประกอบ พร้อมตัวเลข likes/comments/shares

07:03 step 03 / 05
social + engagement
คืออะไร ดึงโพสต์สาธารณะจาก Facebook public pages, Twitter/X, YouTube — สนใจเป็นพิเศษทั้ง เนื้อหา + รูป + ปฏิสัมพันธ์ เพราะคือดัชนีกระแสจริง
ทำงานยังไง n8n เรียก API ของแต่ละ platform หรือใช้ public scraping → เก็บ postURL, imageURL, caption, likes, comments, shares
ส่งต่อ ➜ ขั้น 04 ได้ ราว 180 posts ต่อรอบ — Vision AI ในขั้นถัดไปจะวิเคราะห์ทั้ง ภาพ + caption
live fetching social posts with engagement
Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.10 / ingest · step 03 · social
04 AI ในการจัดทำและเผยแพร่รายงาน · 4.11 / ingest 04/ 05 · Stats

ดึงสถิติทางการ — API จากหน่วยราชการ

ขั้นที่ 04 · เรียก API ของ สสช, ธปท, ฯลฯ เพื่อนำตัวเลขจริงมาเทียบกับกระแสในข่าว

07:05 step 04 / 05
official data sources
คืออะไร สถิติทางการที่หน่วยงานราชการเผยแพร่ผ่าน API หรือไฟล์ CSV — เป็น "ground truth" ของระบบ ใช้ตรวจสอบความแม่นยำของกระแสในข่าว
ทำงานยังไง node HTTP Request ยิง GET หา endpoint ของแต่ละหน่วยงาน → ได้ JSON/CSV → parse เป็นแถวข้อมูล (เช่น อัตราว่างงาน · CPI · PM2.5)
ส่งต่อ ➜ ขั้น 05 ได้ ราว 70 indicator rows ต่อรอบ — ใช้คำนวณ Z-Score (Part 03) และเทียบกับข่าวในขั้น CLASSIFY
live HTTP GET official API endpoints
GET api.nso.go.th/labor/unemploymentสำนักงานสถิติแห่งชาติ · LFS รายไตรมาส 200 OK
GET api.bot.or.th/macro/household_debtธนาคารแห่งประเทศไทย · หนี้ครัวเรือน 200 OK
GET air4thai.com/api/pm25/dailyกรมควบคุมมลพิษ · PM2.5 รายวัน 200 OK
{ "indicator": "unemployment_rate", "period": "Q1/2569", "value": 1.18, "source": "สสช · LFS" }
Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.11 / ingest · step 04 · stats
04 AI ในการจัดทำและเผยแพร่รายงาน · 4.12 / ingest 05/ 05 · Data Table

รวมทุกแหล่งเป็น Data Table

ขั้นที่ 05 · เขียนทุกแถวเข้าตาราง n8n schema เดียวกัน — พร้อมส่งต่อให้ CLASSIFY

07:07 step 05 / 05
persist to storage
คืออะไร Data Table = ตารางในตัวของ n8n (เหมือนชีต Google Sheets ที่ระบบเข้าไปเขียน/อ่านได้) — เก็บข้อมูลทั้งหมดของรอบนี้ในที่เดียว
ทำงานยังไง node Insert row เขียนทุก record จาก 3 แหล่งก่อนหน้าเป็นแถว — ใช้ schema เดียวกัน: id · source · time · type · payload · metrics
ส่งต่อ ➜ ขั้น CLASSIFY ราว 300 rows/วัน รอ AI Agent ขั้นถัดไปดึงไปจัด 10 มิติ
live rows arriving into the data table
timesourcetypepreview
07:01thairath.co.thnews"ค่าจ้างขั้นต่ำ 400 บาท..."
07:01matichon.co.thnews"หนี้ครัวเรือนทรงตัว..."
07:03fb/ThaiPBSNewssocial👍 1,240 · "ค่าจ้าง 400..."
07:03fb/DiseaseDeptsocial👍 720 · "เตือนหวัดใหญ่..."
07:05api.nso.go.thstatsunemployment Q1 = 1.18
300
rows ingested · พร้อมส่ง CLASSIFY
Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.12 / ingest · step 05 · data table
III Section 03 / 03 · Part 04
AI · ANALYSIS

ให้ AI วิเคราะห์ · เขียน · เผยแพร่

ข้อมูล 300 rows เข้า Data Table แล้ว — ตอนนี้ AI Agent รับช่วงต่อ จัดมิติ · สรุปเป็น digest · ส่งออกผ่าน 3 ช่องทาง

01CLASSIFY · 10 มิติ 02SYNTHESIZE · digest 03PUBLISH · 3 ช่องทาง
Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.13 / section · ai analysis
04 AI ในการจัดทำและเผยแพร่รายงาน · 4.14 / pipeline stage 02 · CLASSIFY

จัดข่าวเข้า 10 มิติด้วย AI

ขั้นที่ 02 · ใช้ Google Gemini (multimodal AI) อ่านทั้งข้อความและรูปประกอบ แล้วระบุว่าข่าวเข้ามิติไหนของภาวะสังคม สศช.

แทนที่จะใช้คนอ่านข่าวทุกข่าวเพื่อจัดมิติ (ซึ่งช้าและจำเจ) เราใช้ AI ที่ "ดูได้ทั้งภาพและข้อความ" (เรียกว่า multimodal) — workflow "News & Image Dimension Classifier" ของ n8n จะวนทุกข่าวที่ดูดมา ส่งทั้ง หัวข่าว + เนื้อข่าว + URL รูปประกอบ ให้ Google Gemini โดยมี system prompt ที่อธิบายนิยาม 10 มิติของ สศช. ไว้ครบ Gemini จะตอบกลับเป็น JSON ระบุว่ามิติไหน + ความมั่นใจกี่ % — แล้วเขียนกลับเข้า Data Table โดยอัตโนมัติ
n8n workflow: News & Image Dimension Classifier
workflow News & Image Dimension Classifier · Schedule + Loop + AI Agent
01
AI เห็นอะไรบ้างinput

ข่าว 1 ชิ้นประกอบด้วย หัวข่าว · เนื้อข่าวสรุป · URL รูปประกอบ — AI อ่านทั้ง 3 อย่าง พร้อมกัน ไม่ใช่แค่จับคู่ keyword

02
AI คิดยังไงmultimodal

"Vision" = ดูรูปเข้าใจเนื้อหาเหมือนคนดู (เห็นคน/สถานที่/อารมณ์) · "LLM" = อ่านข้อความเข้าใจบริบทและนัยยะ — Gemini ทำ ทั้ง 2 อย่างใน model เดียว เทียบกับ นิยาม 10 มิติ ที่อยู่ใน system prompt

03
AI ตอบอะไรกลับJSON

ส่งคืน JSON: type = ชื่อมิติ · confidence = ความมั่นใจ (0–1) · reasoning = ทำไมเลือกมิตินี้ — ทุกค่า บันทึกกลับ Data Table เพื่อให้ขั้นถัดไปใช้ต่อ

Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.14 / classify
04 AI ในการจัดทำและเผยแพร่รายงาน · 4.15 / game game · classify like AI
มินิเกม · ลองเป็น AI Classifier

อ่านข่าวแล้วเลือก "มิติ" — ก่อนดูว่า AI ตอบอะไร

จัดข่าวเข้า 10 มิติของ สศช. · ทดลอง 8 ข่าวจริงที่ AI Agent ของเราเคย classify

1 / 8 🏭 ค่าจ้างขั้นต่ำ 400 บาทมีผลตั้งแต่ 1 ต.ค. ภาพ: ผู้ชุมนุมถือป้ายเรียกร้องค่าจ้าง · Thai PBS News
คลิกมิติที่คิดว่า AI จะเลือก ↓
0/8
ตรงกับ AI
Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.15 / ai classifier quiz (game)
04 AI ในการจัดทำและเผยแพร่รายงาน · 4.16 / pipeline stage 03 · SYNTHESIZE

สรุปเป็น digest ด้วย LLM Agent

ขั้นที่ 03 · ให้ Google Gemini "เขียน" บทความสรุปข่าวเองอัตโนมัติ — แทนคนที่ต้องนั่งอ่านข่าวทั้งวันแล้วเขียนสรุป

"LLM Agent" คือ AI ที่ได้รับ "บทบาท + กฎ" (system prompt) เช่น "คุณคือนักวิเคราะห์ที่ต้องสรุปข่าว..." แล้วมันจะทำงานตามนั้น เราใช้ Google Gemini เป็น "สมอง" ของ Agent (ทำงานคล้าย ChatGPT แต่เน้น Thai + multimodal) — แต่ละ workflow มี Agent ต่างกัน 2 แบบเพราะงานต่างกัน
n8n workflow: Daily Social News Article Writer
daily Daily Social News Article Writer · chunk + merger pattern
DAILY Chunk Analyzer + Merger

ข่าว 1 วันมีเยอะมาก (100–500 ชิ้น) — ถ้าส่งทั้งหมดให้ Agent ครั้งเดียวจะเกินขีดจำกัด (context window) เราจึงแบ่งเป็น "ก้อนเล็ก ๆ" (chunks) ให้ Chunk Analyzer สรุปทีละก้อน แล้วส่งสรุปย่อยทั้งหมดให้ Merger รวมเป็นบทความเดียว

n8n workflow: Weekly Social Pulse Analyst
weekly Weekly Social Pulse Analyst · single-agent synthesis
WEEKLY Single-Agent Synthesis

รายสัปดาห์อินพุตน้อยกว่า — แค่ digest 7 วัน (ที่ AI สรุปย่อให้แล้ว) ใส่ครั้งเดียวให้ Agent ตัวเดียว วิเคราะห์ "Story Clustering" เพื่อรวมเรื่องเดียวกันข้ามวัน + จับ "เส้นเรื่อง เริ่ม-พีก-แผ่ว" ของสัปดาห์

Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.16 / synthesize
04 AI ในการจัดทำและเผยแพร่รายงาน · 4.17 / pipeline stage 04 · PUBLISH

ส่งออกผ่าน 3 ช่องทาง

ขั้นที่ 04 · AI digest "กระจาย" ไปยัง 3 ช่องทางพร้อมกัน ตามบทบาทผู้ใช้

AI Digest พร้อมส่งออก n8n · convert to file · markdown / .txt / .docx CONVERT TO FILE
01 · Google Drive โฟลเดอร์ทีม
👤 ทีมวิเคราะห์
📁 NESDC / SocialPulse / 2026
📄 daily-2026-05-17.md new14:32
📄 daily-2026-05-16.md เมื่อวาน
📝 weekly-pulse-W20.docx จ. ที่แล้ว
📝 weekly-pulse-W19.docx 8 วันก่อน
📄 daily-2026-05-14.md 4 วันก่อน

ใช้ตอน: เช้านี้เปิดอ่านดูข่าวเมื่อวาน · มี factual error ก็ comment + edit เก็บเป็น feedback ปรับ prompt

.md / .docx team folder comment + edit
02 · Live Web NESDC Dashboard
👤 ผู้บริหาร
NESDC · DASHBOARD /dimensions /pulse
แรงงาน
+2.4 CRITICAL
หนี้ครัวเรือน
+1.8 ALERT
สุขภาพ
+1.2 WATCH
สิ่งแวดล้อม
−0.4 NORMAL

ใช้ตอน: ประชุมเช้าจันทร์ · ดูข่าวเด่น + Z-Score ในที่เดียว → ตัดสินใจในห้องประชุมทันที

Next.js real-time /dimensions
03 · Policy Report รายงานเชิงนโยบาย
👤 นักวิเคราะห์
Quarterly Report · NESDC
รายงานสถานการณ์
ทางสังคมไทย
ไตรมาสที่ 2 ประจำปี 2569
EDITION · 2569 / Q2

ใช้ตอน: AI ให้ "ฉบับร่าง" · ทีมขัดเกลา + ตรวจสอบข้อเท็จจริง → เผยแพร่ รายไตรมาส/ปี

human review PDF · publish quarterly
Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.17 / publish
04 AI ในการจัดทำและเผยแพร่รายงาน · 4.18 / game game · build the pipeline
มินิเกม · Build Your AI News Stack

ลากบล็อกให้ตรงลำดับ — ออกแบบ Pipeline เหมือน n8n

มี 5 บล็อกใน palette — ลากลง "ช่อง pipeline" ให้ถูกลำดับการทำงาน (trigger → ingest → process → format → publish)

01 trigger
02 ingest
03 process
04 format
05 publish
คะแนน 0/5 ·
ลากการ์ดจาก palette → ลงช่อง pipeline · ทุกบล็อกมี "คำใบ้" อยู่บนช่อง (trigger / ingest / process / format / publish)
Part 04 · AI ในการจัดทำและเผยแพร่รายงาน 4.18 / stack ai builder (game)
05 Social Listening / Social Pulse 5.1 / opener

ฟังเสียงสังคมแบบเรียลไทม์

กระแสรายวัน Social Pulse รายสัปดาห์

ไม่ใช่แค่ "ฟัง" โซเชียลแบบเรียลไทม์ แต่ จัดมิติ · คำนวณ trendScore · คลัสเตอร์เรื่องราว ข้ามวัน แล้วสรุปเป็น digest รายสัปดาห์ที่ใช้ประกอบการตัดสินใจเชิงนโยบายได้

01 listen
ดูดเนื้อหา
ข่าว · โพสต์ · คอมเมนต์
schedule + scrape
02 analyze
Topic Radar 10 มิติ
+ trendScore
classify + score
03 pulse
Story Clustering
+ Weekly Pulse
cluster + synth
04 act
Watchlist + อินไซต์
เชิงนโยบาย
policy brief
stack n8n · scheduled scraping Google Gemini · classify + analyze LangChain · Weekly Pulse Analyst Daily + Weekly markdown digests Dashboard · /pulse
Part 05 · Social Listening / Social Pulse 5.1 / opener
II Section 02 · Part 05
DAILY → WEEKLY

จากข่าวรายวัน สู่ Pulse รายสัปดาห์

Pulse รายสัปดาห์ "ไม่ได้สร้างจากศูนย์" — แต่ สังเคราะห์ จาก digest 7 วันที่ผ่านมา ด้วย Story Clustering

01Daily Digest · markdown รายวัน 02Weekly Pulse Analyst · AI Agent 03Story Clustering · รวมเรื่องข้ามวัน
Part 05 · Social Listening / Social Pulse 5.2 / section · daily → weekly
05 Social Listening / Social Pulse · 5.3 / daily → weekly 01/ 03 · Daily

Daily Digest — รายงานรายวัน

ทุกเย็น AI สร้างรายงานสรุปข่าวเป็น Markdown เก็บใน Google Drive — เป็น "วัตถุดิบ" ของ Weekly Pulse

คืออะไร

ไฟล์ Markdown ชื่อ daily-YYYY-MM-DD.md ที่ AI Agent "Daily Social News Article Writer" สร้างขึ้นทุกวัน — เก็บใน Google Drive

ส่วนประกอบ

TL;DR · Topic Radar 10 มิติ · ประเด็นเด่นของวัน · Top Posts เรียง trendScore · Watchlist

เหมือน

"หนังสือพิมพ์รายวัน" ของ social media — มี headline ของวัน · 10 หมวด · เรื่องเด่นพร้อมลิงก์

บทบาท

เป็น "input" ที่ Weekly Pulse Analyst อ่าน 7 ฉบับเพื่อสังเคราะห์เป็นรายงานสัปดาห์

live daily-2026-05-17.md · ตัวอย่างจริง
# รายงานกระแสโซเชียลประจำวัน — 17 พ.ค. 2569
142 posts · 48 pages · เวลาไทย
## TL;DR
ค่าจ้างขั้นต่ำ 400 บาท ครองกระแสทั้งวัน
PM2.5 ภาคเหนือ สูงสุดในรอบเดือน
## Topic Radar
มิติ
posts
trend
แรงงาน
42
1,886
สุขภาพ
28
1,540
## ประเด็นเด่นของวัน
1. ค่าจ้างขั้นต่ำ 400 บาท — Thai PBS · มติชน · ข่าวสด
Part 05 · Social Listening / Social Pulse 5.3 / daily digest
05 Social Listening / Social Pulse · 5.4 / daily → weekly 02/ 03 · Agent

Weekly Pulse Analyst — AI Agent ที่สังเคราะห์

ทุกวันจันทร์เช้า AI Agent อ่าน digest 7 วัน ที่ผ่านมา แล้วเขียน "รายงานกระแสโซเชียลประจำสัปดาห์"

คืออะไร

LangChain Agent ที่มี role ชัดเจน + Google Gemini เป็นสมอง — รับ input markdown 7 ฉบับ ส่งคืน 1 รายงานสัปดาห์

วิเคราะห์อะไร

หาว่าเรื่องไหน "ลากยาว" · เรื่องไหน "พุ่งเป็นวัน ๆ" · มี "เส้นเรื่อง" อะไรบ้าง · จัดอันดับ Watchlist ของสัปดาห์

เหมือน

"บรรณาธิการสัปดาห์" ที่อ่านหนังสือพิมพ์ 7 ฉบับ แล้วเขียน "editorial" สรุปประเด็นเด่น

guardrails

NO HALLUCINATION · ห้ามอ้างแหล่งอื่นนอก daily · ภาษากลาง "ไม่ปลุกปั่น"

live 7 daily → AI Agent → 1 weekly pulse
Daily · จ.142 posts
Daily · อ.138 posts
Daily · พ.156 posts
Daily · พฤ.144 posts
Daily · ศ.162 posts
Daily · ส.128 posts
Daily · อา.118 posts
Weekly
Pulse Analyst
LangChain + Gemini
weekly pulse รายงานกระแส
ประจำสัปดาห์
TL;DR สัปดาห์ Weekly Topic Radar 3–5 storylines Watchlist
Part 05 · Social Listening / Social Pulse 5.4 / weekly pulse analyst
05 Social Listening / Social Pulse · 5.5 / daily → weekly 03/ 03 · Clustering

Story Clustering — รวมเรื่องเดียวกันข้ามวัน

เทคนิคที่ AI ใช้ลดข่าวซ้ำ + เห็นว่า "เรื่องเดียวกันมีจุดเริ่ม-พีก-แผ่ว" ตอนไหน

ปัญหา

เรื่องเดียวกันกระจายอยู่ในหลาย daily — เช่น "ค่าจ้าง 400" ปรากฏใน 5 วัน ถ้านำเสนอแยกเป็น 5 ข่าวจะ "ซ้ำซาก" และเห็นภาพไม่ครบ

วิธีคลัสเตอร์

AI จับคู่ "คีย์เวิร์ดร่วม" + "บุคคล/สถานที่/มาตรการ" ของแต่ละ daily — ตั้งชื่อ storyline เดียวกัน

ได้อะไร

"เส้นเรื่องสัปดาห์" ที่เล่าได้ว่า: เริ่มวันไหน · พีกเมื่อใด · แผ่วเมื่อไหร่ · มีปริมาณรวมเท่าไหร่

live 7 days × 4 stories → grouped into 3 storylines
จ.
ค่าจ้าง
.
.
อื่นๆ
อ.
ค่าจ้าง
PM2.5
.
อื่นๆ
พ.
ค่าจ้าง
PM2.5
.
.
พฤ.
ค่าจ้าง
PM2.5
หนี้
.
ศ.
ค่าจ้าง
PM2.5
หนี้
.
ส.
ค่าจ้าง
.
หนี้
.
อา.
ค่าจ้าง
.
หนี้
.
storyline 1 "ค่าจ้างขั้นต่ำ 400 บาท" · ลากยาวทั้ง 7 วัน — พีก พุธ-ศุกร์
storyline 2 "PM2.5 ภาคเหนือ" · 4 วัน — พีกพุธ แล้วแผ่ว
Part 05 · Social Listening / Social Pulse 5.5 / story clustering
05 Social Listening / Social Pulse · 5.6 / pipeline radar · 10 dimensions

Topic Radar 10 มิติ

AI Agent ระบุว่าแต่ละโพสต์เข้ามิติไหน แล้วรวมเป็น trendScore ต่อมิติ ต่อวัน

แต่ละโพสต์มี likes, comments, shares ระบบรวมเป็น trendScore ของโพสต์ แล้ว "sum ตามมิติ" เพื่อสร้าง Topic Radar ใช้บอกว่ามิติไหน "เด่น" ในสัปดาห์นั้น
แรงงาน การเงิน สุขภาพ ความปลอดภัย คุ้มครองผู้บริโภค สิ่งแวดล้อม การศึกษา ที่อยู่อาศัย ครอบครัว คุณภาพชีวิต
# trendScore — สูตรจริงจาก Daily Chunk Analyzer trendScore = likes + 2×comments + 3×shares # แสดงน้ำหนัก engagement ที่ต่างกัน # likes × 1 — กดง่าย ผ่านตา # comment × 2 — ตั้งใจคิด/แสดงความเห็น # share × 3 — กระจายต่อ + ส่งถึงคนใหม่
formula excerpt · Daily Social News Article Writer.json → Chunk Analyzer
#1 แรงงาน 12,480
#2 สุขภาพ 10,950
#3 การเงินครัวเรือน 7,210
#4 ความปลอดภัย 5,640
Part 05 · Social Listening / Social Pulse 5.6 / topic radar
05 Social Listening / Social Pulse · 5.7 / pipeline output · weekly pulse

Weekly Pulse · ผลลัพธ์ที่ได้

AI Agent ส่งคืนเป็น Markdown ตาม template — มีหัวข้อแน่นอน อ่านง่าย + อ้างอิงลิงก์หลักฐานทุกประเด็น

รายงานกระแสโซเชียลประจำสัปดาห์

17 – 23 พฤษภาคม 2569 · 7 daily · 1,284 posts · 412 pages

TL;DR รายสัปดาห์

  • ค่าจ้างขั้นต่ำเป็นประเด็นเด่นทั้งสัปดาห์ — กระจุกตัวที่เพจสื่อแรงงาน + ฝ่ายค้าน
  • ข่าว PM2.5 ภาคเหนือพุ่ง 2 ครั้ง (จ. + พ.) ก่อนแผ่วลง
  • หนี้ครัวเรือนคงระดับ — มีข้อถกเถียงเรื่อง "ภาวะหนี้ของคนรุ่นใหม่"

Weekly Topic Radar (สรุปรวม)

มิติโพสต์trendScore%
แรงงาน34812,48027.1%
สุขภาพ30210,95023.8%
การเงินครัวเรือน1987,21015.7%
ความปลอดภัย1565,64012.3%

เส้นเรื่องหลักของสัปดาห์

  • 1) ค่าจ้างขั้นต่ำ 400 บาท — เริ่ม จ. พีก ศ. แผ่ว ส.-อา. โยงมิติ แรงงาน + การเมือง
  • 2) PM2.5 ภาคเหนือ — พีก 2 ครั้ง โยงสิ่งแวดล้อม + สุขภาพ
// Chunk Analyzer output schema { "topicRadar": [{ "type": "แรงงาน", "postCount": 348, "sumLikes": 8420, "sumComments": 1230, "sumShares": 540, "sumTrendScore": 12480 }] }
01 Story Clustering + Watchlist

รวม "เรื่องเดียวกัน" ข้ามวัน + จัดอันดับประเด็น "ควรตรวจสอบต่อ" ด้วย ความถี่ × ความอ่อนไหว

02 NO HALLUCINATION

Agent ห้ามแต่งข้อมูล — อ้างเฉพาะ daily digest + ทุก storyline มีลิงก์หลักฐาน

Part 05 · Social Listening / Social Pulse 5.7 / weekly pulse output
05 Social Listening / Social Pulse · 5.8 / live demo NESDC Dashboard · /pulse

Social Pulse — หน้าจริงในระบบ

เปิด /pulse ปุ๊บ เห็น Topic Radar + เรื่องเด่นรายวัน + storyline พร้อมหลักฐานทันที

หน้านี้คือ "จุดศูนย์กลาง" ของ Social Pulse — ทุก digest ที่ AI Agent สร้างจะถูกแสดงในรูปแบบ visual ที่ผู้บริหาร อ่านได้ใน 30 วินาที: 10 มิติ Topic Radar, top stories ของวัน, watchlist, และลิงก์ไปรายงานรายสัปดาห์ฉบับเต็ม
Part 05 · Social Listening / Social Pulse 5.8 / live · /pulse
05 Social Listening / Social Pulse · 5.9 / live demo NESDC Dashboard · /weekly

รายงานรายสัปดาห์ — ทุกสัปดาห์อยู่ในที่เดียว

หน้า /weekly เก็บ Weekly Social Pulse Report ทุกฉบับ — คลิกเข้าฉบับใดเพื่อดูรายงานเต็มที่ AI Agent เขียน

ทีมวิเคราะห์ใช้หน้านี้สำหรับ "ไล่ดูประวัติ" — สัปดาห์ไหนมีประเด็นอะไร · เส้นเรื่องไหนลากยาว · trendScore สะสมเปลี่ยนยังไง — เป็น archive ของ digest ที่สามารถสืบค้นย้อนหลังได้
Part 05 · Social Listening / Social Pulse 5.9 / live · /weekly
05 Social Listening / Social Pulse · 5.10 / game interactive · trendScore formula
มินิเกม · TrendScore Calculator

ลองคำนวณ trendScore ของโพสต์เอง

เลื่อน slider ปรับ likes / comments / shares · ดูสูตร = likes + 2×comments + 3×shares ทำงานสด ๆ

👍 Likes 500
💬 Comments (×2) 100
↗ Shares (×3) 200
trendScore = 500 + 2 × 100 + 3 × 200
trendScore
1,300
MEDIUM TREND
ตำแหน่งในกระแส (Top 100 ของวัน)
0~3,000~10,000
💡 ทำไม shares ถ่วงน้ำหนัก ×3?
เพราะ "การแชร์" = ผู้ใช้เห็นแล้วตั้งใจ "ส่งต่อให้คนใหม่" → กระจายข่าวกว้างกว่า likes ที่กดง่ายผ่านตา
Part 05 · Social Listening / Social Pulse 5.10 / trendScore calculator (game)
06 System Dynamics Modeling 6.1 / opener

เมื่อ "โครงสร้าง" กำหนด "พฤติกรรม"

System Dynamics วิเคราะห์ระบบเชิงพลวัต

ทำไมนโยบายที่ดูเหมือนสมเหตุสมผลถึง "ล้มเหลว"? — เพราะระบบมี "feedback loops" ที่มองไม่เห็น · System Dynamics คือเครื่องมือที่ช่วย มองเห็นโครงสร้าง แล้วเข้าใจว่าทำไมระบบ "ตอบสนอง" แบบนั้น

01 observe
ดู พฤติกรรม
over time
behavior
02 structure
Stocks · Flows
+ feedback loops
stocks/flows
03 simulate
คำนวณ พฤติกรรม
future behavior
simulation
04 policy
ทดสอบ leverage
policy intervention
intervene
stack Pen + Paper Vensim · Stella · iThink Insight Maker (web) NESDC case · หนี้-สุขภาพ-ค่าครองชีพ
Part 06 · System Dynamics Modeling 6.1 / pipeline overview
06 System Dynamics Modeling · 6.2 / stack tools · ที่ใช้สร้าง SD model

เครื่องมือใน SD Stack

ทำ System Dynamics ได้ตั้งแต่ "ดินสอ + กระดาษ" ไปจนถึง software simulator เต็มรูปแบบ — เลือกตามความซับซ้อนของโจทย์

จริงๆแล้ว "ขั้นตอนคิด" สำคัญกว่าเครื่องมือ — แต่เครื่องมือช่วยให้ วาด · จำลอง · ทดสอบ ได้เร็วและแม่นยำ การฝึกอบรมนี้เริ่มจากการ วาดด้วยมือ ก่อน เพื่อให้ผู้เรียนเข้าใจ "สมมติฐานเชิงระบบ" ที่อยู่เบื้องหลังโมเดล
01
ดินสอ + กระดาษ paper · whiteboard

เครื่องมือพื้นฐานสำหรับ "คิดบนกระดาน" — เริ่มจาก stocks, flows, arrows ก่อนใส่ตัวเลข

เหมือน "sketch" ก่อนเขียนโปรแกรม — เห็นภาพรวม + ปรับเร็ว
02
Vensim / Stella desktop simulator

Software มาตรฐาน ในวงการ SD — มี Personal Edition ให้นักศึกษาใช้ฟรี · ใช้กับงานวิจัย/นโยบายเชิงลึก

เหมือน "AutoCAD ของ SD" — pro tool ที่ทุกคนในวงการใช้
03
Insight Maker web-based · free

SD บน browser — ใช้ฟรีไม่ต้องลง สร้างโมเดลแล้วแชร์ URL ให้ทีมดูได้ทันที เหมาะกับการสอน

เหมือน "Google Sheets ของ SD" — collaboration first
04
Excel / Python spreadsheet · code

สำหรับ โมเดลง่ายๆ หรือ integration กับข้อมูล — Excel ทำ Euler integration ได้ · Python (PySD) แปลง model file ได้

เหมือน "hand simulation" — เข้าใจ math ลึกที่สุด แต่ต้องเขียนเอง
Part 06 · System Dynamics Modeling 6.2 / sd stack
06 System Dynamics Modeling · 6.3 / why mental model · เริ่มต้น

ทำไมต้องสร้าง Model?

เพราะ "Mental Model" ในหัวเรา ไม่ใช่ความจริง — เป็นการตีความส่วนตัวที่อาจผิดได้

ทุกคนมี "แบบจำลองในใจ" (mental model) ที่ใช้ตัดสินใจประจำวัน — แต่มันเป็น "ความเข้าใจส่วนตัว" ที่ไม่ครบและมักผิด · ดู ข้อมูลเดียวกัน 3 คนอาจตีความต่างกัน 3 แบบ การ สร้าง formal model ช่วยเปลี่ยน "ความคิดในหัว" ให้เป็น "เครื่องมือร่วม" ที่ทดสอบ/แก้ไขได้
เห็นชัด

บังคับให้เราระบุ ตัวแปร · ความสัมพันธ์ · ทิศทาง สิ่งที่ "เห็น" บ่อยครั้งไม่ใช่สิ่งที่ "เป็น"

สื่อสาร

ทีมหลายฝ่ายมี mental model ต่างกัน — model เป็น "ภาษากลาง" ที่ทุกคนเห็นและถกได้

ตัดสินใจ

ลองนโยบายใน model "ก่อนใช้จริง" ป้องกัน unintended consequences ที่อาจเสียงบมหาศาล

leverage

หา "จุดคันโยก" ที่เปลี่ยนระบบได้มากที่สุด — แทนการแก้ที่ปลายเหตุ

live same data · 3 stakeholders · 3 mental models
data
"แนวโน้มแย่ลง"
"ปกติ แค่ผันผวน"
"กำลังฟื้นตัว"
Mental Model คือ "การตีความส่วนตัว" — Model ทำให้ "ตีความตรงกัน"
Part 06 · System Dynamics Modeling 6.3 / why model
06 System Dynamics Modeling · 6.4 / types types of models

ประเภทของ Model

มี model หลายประเภท — แต่ละแบบเหมาะกับโจทย์ต่างกัน · เราเลือก System Dynamics เพราะ "จับ feedback loops ได้"

Visual map · diagram

รูปภาพ · แผนผัง · กราฟ — สื่อความคิดเร็ว แต่ไม่ คำนวณ ได้

Scientific equations
F = m × a

สมการฟิสิกส์/เคมี F=ma · E=mc² — แม่นยำแต่ใช้กับระบบสังคมยาก

Statistical regression / ml

หา "ความสัมพันธ์" จากข้อมูล — บอก correlation ไม่ใช่ causation

Event-based discrete event

จำลองเหตุการณ์แยกชิ้น เช่น คิวธนาคาร · เครื่องบินขึ้น-ลง

Agent-based individual rules

จำลอง หน่วยย่อยหลายตัวที่มีกฎของตัวเอง — เช่น คน · บริษัท · เซลล์

System Dynamics our pick

จับ "การไหลของ stock" + "feedback loops" — เหมาะกับ นโยบายเชิงระบบ

Part 06 · System Dynamics Modeling 6.4 / types of models
06 System Dynamics Modeling · 6.5 / thinking 8 systems thinking skills

8 ทักษะ Systems Thinking

ก่อนสร้าง model ต้อง "คิดเชิงระบบ" — ฝึก 8 ทักษะนี้ ใช้ได้ทุกวันแม้ไม่สร้าง model

01 มองระบบเป็นตัวเหตุ system-as-cause

มองที่ โครงสร้าง เป็นเหตุ ไม่โทษคน/เหตุการณ์เดี่ยว

02 คิดเชิงพลวัต dynamic

ระบบ เปลี่ยนตามเวลา ไม่ใช่ snapshot · ดู trend + oscillation

03 เห็นป่า เห็นต้นไม้ forest thinking

สลับ zoom-out / zoom-in เห็นทั้งภาพรวมและรายละเอียด

04 คิดเชิงปฏิบัติการ operational

ทุกตัวแปร วัดได้ + มี units ชัดเจน · ไม่ใช้คำกว้างๆ

05 คิดเป็นวงจร closed loop

ทุก output ย้อนกลับ มีผลต่อ input — feedback loops

06 คิดแบบไม่เชิงเส้น non-linear

เพิ่ม input 2 เท่า ไม่ได้ทำให้ output โต 2 เท่า · มี threshold

07 คิดเชิงวิทยาศาสตร์ scientific

ตั้ง สมมติฐาน + ทดสอบ + ยอมรับว่าผิดแล้วแก้

08 คิดเข้าใจคนอื่น empathic

มองมุมของ stakeholders ทุกฝ่ายในระบบ · ไม่ใช่แค่มุมเรา

Part 06 · System Dynamics Modeling 6.5 / 8 systems thinking skills
06 System Dynamics Modeling · 6.6 / stocks 01/ 02 · stocks & flows

Stocks — สิ่งที่ "สะสม" ในระบบ

Stock คือสิ่งที่ "นับได้ ณ จุดเวลาหนึ่ง" — เป็น คำนาม เสมอ · เช่น น้ำในอ่าง · เงินในบัญชี · ประชากร

คืออะไร

"การสะสม" (accumulation) ของบางสิ่ง ณ ช่วงเวลาหนึ่ง — ถ้าหยุดเวลาแล้วถ่ายรูป จะ วัดได้

ทดสอบ

Stock ต้องเป็น "คำนาม" เท่านั้น — ไม่ใช่ verb · ไม่ใช่ adjective · ไม่ใช่ adverb

เหมือน

"น้ำในอ่างอาบน้ำ" — ระดับน้ำ ณ เวลาที่มอง บอกได้ว่ามีเท่าไหร่ · เปลี่ยนแปลงช้าๆตามการไหลเข้า-ออก

หน่วย

หน่วยของ stock ไม่มี "เวลา" — เช่น คน · บาท · ลิตร · kg

examples stocks · สิ่งที่สะสมในสังคมไทย
STOCK
SD notation · stock วาดเป็น "กล่องสี่เหลี่ยม" เสมอ — แทน "สิ่งที่สะสม" ในระบบ (วัดได้ ณ เวลาหนึ่ง)
STOCKหน่วยนิยาม
ประชากรคนคนที่อาศัยอยู่ ณ เวลาหนึ่ง
หนี้ครัวเรือนล้านบาทเงินกู้ที่ยังคงค้างของครัวเรือนทั้งหมด
PM2.5 ในอากาศμg/m³ปริมาณฝุ่น ณ จุดวัด ณ เวลาหนึ่ง
ผู้ป่วย NCDsคนคนป่วยโรคไม่ติดต่อ ณ เวลาหนึ่ง
ความรู้หน่วยความรู้knowledge สะสมในตัวคน/องค์กร
ความไว้ใจหน่วย trustความเชื่อถือสะสมระหว่างหน่วยงาน
snapshot · หยุดเวลา → วัดได้
100 75 50 25 0
📷 SNAPSHOT 18 stock · current value

ระดับเปลี่ยนตามเวลา (stock = accumulation) · แต่ หยุดเวลาเมื่อไหร่ก็วัดได้ทันที — ค่าตายตัว ณ จุดนั้น

Part 06 · System Dynamics Modeling 6.6 / stocks
06 System Dynamics Modeling · 6.7 / flows 02/ 02 · stocks & flows

Flows — อัตราการเปลี่ยนแปลงของ Stock

Flow คือสิ่งที่ "เปลี่ยน stock" ในแต่ละช่วงเวลา — เป็น คำกริยา เสมอ + ต้องมีหน่วย /เวลา

คืออะไร

"อัตรา" (rate) ของการเข้า/ออกของ stock — ถ้าหยุดเวลา flow จะ "หายไป" ทันที (เพราะไม่มีเวลา)

ทดสอบ

Flow ต้องเป็น "คำกริยา" เสมอ + มีหน่วย /เวลา เช่น คน/ปี · บาท/เดือน

เหมือน

"ก๊อกน้ำ" (inflow) + "ท่อระบาย" (outflow) ของอ่างอาบน้ำ · ระดับน้ำเปลี่ยนตาม flow ทั้งสอง

หน่วย

Flow มี "/เวลา" เสมอ — debug model ด้วยการตรวจ หน่วย stock = หน่วย flow × เวลา

examples flows · สิ่งที่เปลี่ยน stock ของสังคมไทย
valve
SD notation · flow วาดเป็น "ท่อ + วาล์ว + ลูกศร" — แทน "อัตราเข้า/ออกของ stock" (มีหน่วย /เวลา)
FLOWหน่วยเปลี่ยน stock
อัตราเกิดคน/ปี↑ ประชากร
อัตราตายคน/ปี↓ ประชากร
กู้เพิ่มล้านบาท/เดือน↑ หนี้ครัวเรือน
คืนหนี้ล้านบาท/เดือน↓ หนี้ครัวเรือน
การปล่อยฝุ่นμg/m³ ต่อชั่วโมง↑ PM2.5
ลมพัดฝุ่นออกμg/m³ ต่อชั่วโมง↓ PM2.5
flow · อัตราเข้า → stock
stock
→ → +5 คน / ปี

flow มี "อัตรา" (เช่น +5 คน/ปี) — แต่ละหยดที่ไหลผ่านวาล์ว เพิ่ม stock ทีละนิด · ถ้าหยุดเวลา flow จะ "หายไป" เพราะไม่มีเวลา

Part 06 · System Dynamics Modeling 6.7 / flows
06 System Dynamics Modeling · 6.8 / simulator interactive · 10-day simulation
มินิเกม · Bathtub Simulator

ลองปรับ Inflow / Outflow — ดูพฤติกรรมของ Stock

เลื่อน slider ปรับอัตราเข้า/ออก · ระบบรัน 10 วัน ต่อรอบ แสดงระดับน้ำในอ่าง + กราฟ stock ตามเวลา

Inflow ↑ 5.0
Outflow ↓ 5.0
in 50 out
Stock: 50.0/ 100 Day 0 / 10 STABLE
100 50 0 stock 0 5 10 day

In > Out → โต · In < Out → หด · เท่า → คงที่

Part 06 · System Dynamics Modeling 6.8 / bathtub simulator (game)
06 System Dynamics Modeling · 6.9 / quiz game · stock or flow?
มินิเกม · Stock or Flow?

ทดสอบความเข้าใจ — แต่ละคำเป็น Stock หรือ Flow?

กฎจำง่าย: Stock = นาม วัดได้ ณ จุดเวลาหนึ่ง · Flow = กริยา + มีหน่วย /เวลา

1 / 8 ประชากรของไทย
เลือกคำตอบเพื่อดูคำอธิบาย
0/8
คะแนนสะสม
Part 06 · System Dynamics Modeling 6.9 / stock or flow quiz
06 System Dynamics Modeling · 6.10 / units units · debug your model

Units — เช็คโมเดลด้วยหน่วย

ทุกตัวแปรใน model ต้องมี "หน่วย" — ใช้ debug model ได้อย่างน่าทึ่ง · ถ้าหน่วยไม่ตรง = สมการผิด

กฎทอง: หน่วยของ stock ต้อง = หน่วยของ flow × เวลา · ถ้าจะเช็คว่าโมเดลถูก เอาทุกสมการมาตรวจหน่วย — ถ้าหน่วยไม่ลงตัวเช่น คน = คน/ปี + บาท แสดงว่ามีบางอย่างผิดทันที (หน่วยไม่ตรงกัน)
Stock หน่วย "ดิบ"

คน · บาท · ลิตร · °Cไม่มี "เวลา" อยู่ในหน่วย

เหมือน "ปริมาณที่วัดได้ทันที" ถ้าหยุดเวลา
Flow หน่วย /เวลา

คน/ปี · บาท/เดือน · ลิตร/นาที — มี "/เวลา" เสมอ

เหมือน "ความเร็ว" — มี dimension ของเวลาในตัว
×
Auxiliary ตัวกลาง / constant

ตัวแปรช่วย เช่น % · ratio · dimensionless — ใช้คำนวณตัวอื่น

เหมือน "ค่าคงที่" หรือ "สัดส่วน" ที่ไม่ใช่ stock/flow
เช็คหน่วย model debugging

ทุกสมการต้อง "หน่วยลงตัว" ทั้ง 2 ข้าง · ถ้าไม่ตรง = ผิดแน่นอน

เหมือน "type-check" ในการเขียนโปรแกรม
Part 06 · System Dynamics Modeling 6.10 / units of variables
06 System Dynamics Modeling · 6.11 / botg BOTG · พฤติกรรมตามเวลา

Behavior Over Time + Reference ModeBOTG

BOTG = วาดกราฟ "พฤติกรรมของ stock" ตามเวลา — ใช้เป็น reference mode ที่ model ต้องสามารถ reproduce ได้ · วาด BOTG ก่อนสร้าง model เสมอ เพื่อใช้เป็นเข็มทิศ

คืออะไร

กราฟง่ายๆ ที่มี เวลาเป็นแกน X และ ค่าของ stockเป็นแกน Y · ใช้สื่อ "พฤติกรรมที่ต้องการอธิบาย"

Reference Mode

"กราฟอ้างอิง" ที่บอกว่าระบบ เคยทำตัวอย่างไร + คาดว่าจะทำต่ออย่างไร · model ต้อง reproduce ได้

รูปแบบหลัก

4 แบบที่พบบ่อย: linear · exponential · S-curve · oscillation — แต่ละแบบมี structural causeต่างกัน

live 4 รูปแบบ BOTG · พฤติกรรม stock
Linear
เพิ่ม/ลดสม่ำเสมอ
Exponential
โตทวีคูณ · viral
S-curve
โตแล้วชะลอ · limits
Oscillation
แกว่ง · feedback delay
case study · ไทย หนี้ครัวเรือน/GDP ของไทย 2554 → 2567 — รูปแบบ "S-curve"
2554 2558 2562 2566 59% 89% 89% โตทวีคูณ ชะลอ · plateau
รูปแบบ S-curve — โตทวีคูณ (2554-2562) แล้วเข้าสู่ limits (2562-2567)
โครงสร้าง เริ่มมี balancing feedback เมื่อหนี้สูงเกินรายได้ครัวเรือนจะคืน · งวดผ่อนเริ่มกัดกร่อน consumption
Reference Model ต้อง "reproduce"ทั้ง 2 phases · ถ้า model ทำได้แค่ exponential = ผิด · ต้องมีกลไกหยุดการโต
Part 06 · System Dynamics Modeling 6.11 / BOTG + reference mode
06 System Dynamics Modeling · 6.12 / cld CLD · feedback loops

Causal Loop Diagrams — R + B

CLD = แผนภาพแสดง feedback loops · มี 2 ชนิด — R (เร่ง) · B (สมดุล) — ทุกระบบประกอบจากการรวมกันของ 2 ชนิดนี้

เขียน ลูกศรเชื่อมตัวแปร พร้อม polarity: + (เปลี่ยนทิศเดียวกัน) · − (เปลี่ยนทิศตรงข้าม) · ถ้าเดินรอบ loop แล้วได้ผล เร่งตัวเอง = R-loop · ถ้า ต้านตัวเอง = B-loop
R
Reinforcing Loop
เร่งตัวเอง · spiral
หนี้สะสม ดอกเบี้ย กู้เพิ่ม + + +

"snowball" — ทุกตัวแปร เพิ่มตัวต่อไปในทิศทางเดียว → ระบบโตหรือพังเร็วขึ้น

หนี้ ↑ → ดอกเบี้ย ↑ → กู้เพิ่ม ↑ → หนี้ ↑ (วนซ้ำ)
behavior over time exponential growth
หนี้ พุ่งขึ้นเร็วขึ้นเรื่อยๆ · ไม่มีสิ่งหยุด → ระเบิดสุดท้าย
B
Balancing Loop
สมดุล · self-correcting
อุณหภูมิ ผลต่างเป้า แอร์ทำงาน + +

"thermostat" — มีตัวแปรหนึ่ง ลดตัวต่อไป → ระบบเข้าหา เป้าหรือ สมดุล

อุณหภูมิสูง → ผลต่างเพิ่ม → แอร์ทำงาน → อุณหภูมิ ↓
behavior over time oscillate → settle
อุณหภูมิ แกว่งรอบเป้า แล้ว เข้าสู่สมดุล · ระบบ self-correct
Part 06 · System Dynamics Modeling 6.12 / causal loop diagrams
06 System Dynamics Modeling · 6.13 / workshop game · build a CLD
มินิเกม · สร้าง CLD จริงด้วยตัวเอง

Workshop — หนี้ครัวเรือน · ทำไมไม่ลด?

3 ขั้น: เลือกตัวแปรเชื่อมลูกศร + ขั้วระบุ R หรือ B

1 2 3 เลือกตัวแปร

เลือก 3 ตัวแปร ที่เป็น "ส่วนหนึ่งของ feedback loop" ในปัญหาหนี้ครัวเรือน

คลิก "จุดกลางลูกศร" เพื่อเลือกขั้ว — + (ไปทางเดียวกัน) หรือ (ไปทางตรงข้าม)

? ? ? หนี้สะสม ค่าครองชีพ ความเครียดสะสม
วิธีคิดเรื่อง polarity
+ เพิ่ม A → เพิ่ม B (หรือลด A → ลด B) · ตัวแปรไปทางเดียวกัน
เพิ่ม A → ลด B (หรือลด A → เพิ่ม B) · ตัวแปรไปทางตรงข้าม
💭 ตัวอย่าง: หนี้เพิ่ม → ต้องจ่ายดอกเบี้ยเพิ่ม → ค่าครองชีพ เพิ่ม ดังนั้น = +

loop ที่ได้คือ Reinforcing (R) หรือ Balancing (B)?

เลือก 3 ตัวแปร ที่อยู่ใน loop จริงๆ (มี distractors ปนอยู่ 3 ตัว)
Part 06 · System Dynamics Modeling 6.13 / workshop CLD builder (game)