Data Analyst › Visualization และ storytelling

เขียน insight จากกราฟ

ประมาณ 25 นาที

เป้าหมายของบท

  • เข้าใจโครงสร้างของ insight ที่ดี (สิ่งที่เปลี่ยน + ขนาดที่เปลี่ยน + เทียบกับอะไร + แล้วไง)
  • คำนวณ insight จริงจากข้อมูล ไม่ใช่แค่บรรยายกราฟเฉยๆ (Pareto และ seasonal effect)
  • เลือก baseline ที่เหมาะสมเวลาเปรียบเทียบตัวเลข เพราะเปลี่ยน baseline ผลลัพธ์เปลี่ยนได้มาก

ทำไม “อ่านกราฟออก” ไม่พอ

จบเรื่องเลือกกราฟ วาดกราฟ และทำ dashboard มาแล้ว — ขั้นสุดท้ายที่สำคัญไม่แพ้กันคือการ เขียน insight จากสิ่งที่กราฟแสดง เพราะในชีวิตจริง ผู้บริหารส่วนใหญ่ไม่ได้มีเวลานั่งไล่ดูกราฟทีละอันด้วยตัวเอง คนที่ทำ DA ต้องเป็นคนสรุปให้ว่า “กราฟนี้บอกอะไร แล้วทำไมถึงสำคัญ”

ปัญหาที่เจอบ่อยคือการเขียน insight ที่เป็นแค่ คำบรรยายกราฟ ไม่ใช่ insight จริงๆ เช่น “ยอดขายเดือนนี้ดีขึ้น” หรือ “ลูกค้าบางกลุ่มซื้อเยอะกว่ากลุ่มอื่น” — ประโยคแบบนี้ฟังดูเหมือนสรุปผล แต่จริงๆ แล้วไม่มีตัวเลข ไม่มีจุดเทียบ และไม่ได้บอกว่าควรทำอะไรต่อ อ่านแล้วก็ยังตัดสินใจอะไรไม่ได้

โครงสร้างของ insight ที่ดี

insight ที่ใช้งานได้จริงต้องมีครบ 4 ส่วน:

ส่วน คำถามที่ตอบ ตัวอย่าง
1. สิ่งที่เปลี่ยน/พบ เกิดอะไรขึ้น รายได้กระจุกตัวอยู่ที่ลูกค้ากลุ่มเล็กๆ
2. ขนาด (ตัวเลข) เท่าไรกันแน่ ลูกค้า 20% แรก (541 คน)
3. เทียบกับอะไร (baseline) เทียบกับฐานไหน สร้างรายได้ 58.75% ของรายได้รวมทั้งหมด
4. แล้วไง (so what) ควรทำอะไรต่อ/ทำไมสำคัญ การรักษาลูกค้ากลุ่มนี้ไว้สำคัญกว่าการหาลูกค้าใหม่จำนวนมาก

ขาดส่วนไหนไปหนึ่งส่วน insight จะอ่อนลงทันที: ไม่มีตัวเลข → ฟังดูเป็นความรู้สึกไม่ใช่ข้อเท็จจริง; ไม่มี baseline ที่ระบุชัด → ตัวเลขเปอร์เซ็นต์ตีความไม่ได้ว่าดีหรือแย่แค่ไหน; ไม่มี “แล้วไง” → รู้ข้อเท็จจริง แต่ไม่รู้ว่าจะเอาไปทำอะไรต่อ

ตัวอย่างที่ไม่ดี vs ที่ดี

ระดับ ประโยค ปัญหา
ไม่ดี “ยอดขายเดือนนี้ดีขึ้น” ไม่มีตัวเลข ไม่มี baseline — “ดีขึ้น” เท่าไร เทียบกับเดือนไหน
พอใช้ “ยอดขายเดือน พ.ย. สูงกว่าเดือน ต.ค. 60.73%” มีตัวเลขและ baseline แล้ว แต่ยังไม่มี “แล้วไง”
ดี “ยอดขายเดือน พ.ย. สูงกว่าเดือน ต.ค. 60.73% ซึ่งเป็นช่วงที่ยอดสูงกว่าปกติเป็นประจำทุกปลายปี (ดูตัวอย่าง seasonal ด้านล่าง) — ควรเตรียมสต็อกและการจัดส่งให้พร้อมรับยอดระดับนี้ล่วงหน้า” ครบทั้ง 4 ส่วน อ่านแล้วรู้ว่าควรทำอะไรต่อ

ทำไม “เทียบกับอะไร” ถึงสำคัญมาก

ตัวเลข % ที่เปลี่ยนแปลงขึ้นอยู่กับ baseline ที่เลือกใช้เสมอ — เปลี่ยน baseline ตัวเลขเปลี่ยนได้มาก ทั้งที่ข้อมูลตั้งต้นชุดเดียวกัน ตัวอย่างเช่นถ้าจะบอกว่ายอดขายเดือน พ.ย.-ธ.ค. สูงกว่าปกติแค่ไหน ถ้าเทียบกับเดือนที่ใกล้ที่สุดเดือนเดียว (เช่น ต.ค.) อาจได้ตัวเลขที่สูงหรือต่ำผิดปกติแล้วแต่ว่าเดือนนั้น บังเอิญขายดีหรือขายแย่เป็นพิเศษ แต่ถ้าเทียบกับค่าเฉลี่ยของเดือนอื่นๆ ทั้งหมด จะได้ตัวเลขที่มั่นคงกว่า และสะท้อนภาพรวมได้ตรงกว่า — ดังนั้นเวลาเขียน insight ควรระบุเสมอว่า “เทียบกับอะไร” ไม่ใช่แค่บอกตัวเลข % ลอยๆ

ตัวอย่างจริง: Pareto insight (80/20)

จากข้อมูลลูกค้าที่เคยสั่งซื้อสำเร็จ (completed order) ทั้งหมด 2707 คน เมื่อเรียงตามรายได้สะสม จากมากไปน้อยแล้วดูกลุ่ม 20% แรก (541 คน) พบว่ากลุ่มนี้สร้างรายได้รวมถึง 58.75% ของรายได้ทั้งหมด — นี่คือรูปแบบทำนอง Pareto principle (กฎ 80/20): ลูกค้าส่วนน้อยมักสร้างรายได้เกินสัดส่วนของตัวเอง (ข้อมูลจำลองนี้กระจุกตัวน้อยกว่าตำรา — 20% แรกได้ 58.75% ไม่ใช่ 80% — แต่ก็ยังสูงกว่า 20% มาก)

เขียนเป็น insight เต็มรูปแบบได้ว่า: “รายได้กระจุกตัวสูง — ลูกค้ากลุ่ม 20% แรก (541 คน จาก 2,707 คน) สร้างรายได้ถึง 58.75% ของรายได้รวม ดังนั้นการดูแลรักษาลูกค้ากลุ่มนี้ไว้ (เช่น โปรแกรม loyalty หรือการดูแล แบบ VIP) มีความสำคัญกว่าการทุ่มงบหาลูกค้าใหม่จำนวนมากโดยไม่เลือก”

ตัวอย่างจริง: seasonal insight

เมื่อนับจำนวนออเดอร์ completed ต่อเดือน (รวมข้อมูลทุกปีที่มี) แล้วเทียบค่าเฉลี่ยของเดือน พ.ย./ธ.ค. กับค่าเฉลี่ยของอีก 10 เดือนที่เหลือ พบว่าเดือน พ.ย./ธ.ค. มีจำนวนออเดอร์เฉลี่ยเดือนละ 809.0 รายการ ในขณะที่เดือนอื่นๆ เฉลี่ยเดือนละ 461.4 รายการ — สูงกว่าถึง 75.3%

insight เต็มรูปแบบ: “ยอดออเดอร์เดือน พ.ย.-ธ.ค. สูงกว่าเดือนอื่นๆ เฉลี่ย 75.3% (809.0 เทียบกับ 461.4 ออเดอร์/เดือน) ซึ่งเป็นรูปแบบตามฤดูกาลที่เกิดซ้ำ — ทีมควรเตรียมสต็อกสินค้าและกำลังคนฝ่ายจัดส่งให้เพียงพอ ล่วงหน้าก่อนเข้าสู่ช่วงปลายปี”

สรุปวิธีเขียน insight

เวลาเห็นกราฟแล้วจะเขียน insight ให้ถามตัวเองตามลำดับนี้เสมอ:

  1. กราฟนี้แสดงอะไรเปลี่ยนไป หรือรูปแบบอะไรที่น่าสนใจ
  2. เปลี่ยนไป/แตกต่างกัน เท่าไร (ต้องมีตัวเลขจริงจากข้อมูล ไม่ใช่คำกว้างๆ อย่าง “เยอะ”/“น้อย”)
  3. ตัวเลขนั้นเทียบกับ อะไร (เดือนก่อน? ค่าเฉลี่ย? กลุ่มอื่น?) — ระบุ baseline ให้ชัดเสมอ
  4. แล้วไง — ทำไมตัวเลขนี้ถึงสำคัญ หรือควรทำอะไรต่อ

ครบ 4 ข้อนี้แล้ว insight จะเปลี่ยนจาก “การบรรยายกราฟ” กลายเป็น “ข้อมูลที่ใช้ตัดสินใจได้จริง”

ตัวอย่างแก้โจทย์

กด "ขั้นต่อไป" ทีละขั้น ลองรันและแก้โค้ดในแต่ละขั้นได้

Insight แบบ Pareto: ลูกค้า 20% แรกสร้างรายได้เท่าไร

ผู้บริหารถามว่า "ลูกค้ากลุ่มไหนสำคัญที่สุด" อยากได้คำตอบที่มีตัวเลขชัดเจน ไม่ใช่แค่คำบรรยายกว้างๆ ว่า "ลูกค้าบางกลุ่มสำคัญกว่ากลุ่มอื่น"

  1. รวมยอดสั่งซื้อ (เฉพาะออเดอร์ที่ completed) เป็นรายได้ต่อลูกค้าหนึ่งคน เก็บไว้ในตัวแปร cust_rev เรียงจากมากไปน้อย

    Python

Insight ตามฤดูกาล: ยอดออเดอร์ พ.ย.-ธ.ค. สูงกว่าปกติแค่ไหน

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

  1. นับจำนวนออเดอร์ completed ต่อเดือน (รวมทุกปีที่มีในข้อมูล เข้าด้วยกันตามเลขเดือน 1-12)

    Python

เติมช่องว่าง

แทน ___ ด้วยโค้ดที่ถูกต้อง แล้วกดตรวจคำตอบ

ยังไม่ได้ทำ

หา % ของรายได้รวม (completed order) ที่ลูกค้ากลุ่ม 20% แรก (เรียงรายได้มากไปน้อย) สร้างขึ้น ปัด 2 ตำแหน่ง เก็บไว้ในตัวแปร top20_share_pct เติม ___ ให้ครบ

แบบฝึกท้ายบท

บทนี้จะนับว่าเสร็จเมื่อผ่านข้อพื้นฐานและประยุกต์ครบ ข้อท้าทายได้ดาวเพิ่ม

🟢 พื้นฐาน

🟢 พื้นฐานยังไม่ได้ทำ

จำนวนลูกค้าที่เคยมีออเดอร์สถานะ completed อย่างน้อย 1 ครั้ง (paying customers) เก็บไว้ในตัวแปร n_paying_customers

🟢 พื้นฐานยังไม่ได้ทำ

จากลูกค้าที่เคยมีออเดอร์ completed ทั้งหมด กลุ่ม 20% แรกที่มีรายได้สะสมสูงสุด (เรียงมากไปน้อย) มีกี่คน เก็บไว้ในตัวแปร top20_n

🟢 พื้นฐานยังไม่ได้ทำ

% ของรายได้รวม (completed order) ที่ลูกค้ากลุ่ม 20% แรก (เรียงรายได้มากไปน้อย) สร้างขึ้น ปัด 2 ตำแหน่ง เก็บไว้ในตัวแปร top20_share_pct

🟢 พื้นฐานยังไม่ได้ทำ

ค่าเฉลี่ยจำนวนออเดอร์ completed ต่อเดือน ของเดือน พ.ย. และ ธ.ค. (รวมทุกปีที่มีในข้อมูล) ปัด 1 ตำแหน่ง เก็บไว้ในตัวแปร nov_dec_avg

🟡 ประยุกต์

🟡 ประยุกต์ยังไม่ได้ทำ

ค่าเฉลี่ยจำนวนออเดอร์ completed ต่อเดือน ของเดือนอื่นๆ ทั้งหมด (ไม่ใช่ พ.ย./ธ.ค., รวมทุกปี) ปัด 1 ตำแหน่ง เก็บไว้ในตัวแปร other_avg

🟡 ประยุกต์ยังไม่ได้ทำ

เดือน พ.ย./ธ.ค. มีจำนวนออเดอร์เฉลี่ยต่อเดือนสูงกว่าเดือนอื่นๆ กี่ % ปัด 1 ตำแหน่ง เก็บไว้ในตัวแปร pct_higher

🟡 ประยุกต์ยังไม่ได้ทำ

เขียนประโยค insight สั้นๆ 1 ประโยคสรุปสิ่งที่พบเรื่อง Pareto (ลูกค้ากลุ่ม 20% แรก จำนวน 541 คน สร้างรายได้ 58.75% ของรายได้รวมทั้งหมด) เก็บไว้ในตัวแปร insight_pareto (string) — ประโยคต้องมีทั้ง ตัวเลข 541 และตัวเลข 58.75 (หรือ 58.7 หลังปัดเศษ) อยู่ในประโยคด้วย

🔴 ท้าทาย

🔴 ท้าทายยังไม่ได้ทำ

จำนวนลูกค้าที่น้อยที่สุด (เรียงรายได้ completed order มากไปน้อย) ที่รวมกันแล้วสร้างรายได้อย่างน้อย 50% ของรายได้รวมทั้งหมด (ตัวเลขนี้ไม่เท่ากับ top20_n — ต้องคำนวณใหม่ ห้าม hardcode) เก็บไว้ในตัวแปร n_for_half_revenue

🔴 ท้าทายยังไม่ได้ทำ

เขียนประโยค insight สั้นๆ 1 ประโยคสรุปสิ่งที่พบเรื่อง seasonal effect (ยอดออเดอร์เดือน พ.ย./ธ.ค. สูงกว่าเดือนอื่นๆ 75.3%) เก็บไว้ในตัวแปร insight_seasonal (string) — ประโยคต้องมีตัวเลขใกล้เคียง 75.3 (คลาดเคลื่อนได้ไม่เกิน 0.5) และต้องมีคำว่า "พ.ย." หรือ "ธ.ค." อยู่ด้วย

Quiz

1. โครงสร้างของ insight ที่ดีต้องมีอะไรบ้าง
2. "ยอดขายเดือนนี้ดีขึ้น" เป็น insight ที่ดีไหม
3. เวลาเปรียบเทียบตัวเลข ควรระบุ baseline ที่ใช้เทียบด้วยเสมอ เพราะอะไร
4. Pareto principle (80/20) ในบริบทลูกค้า มักหมายถึงอะไร

สรุป

  • insight ที่ดีต้องมีครบ 4 ส่วน คือสิ่งที่เปลี่ยน + ขนาดที่เปลี่ยน (ตัวเลข) + เทียบกับอะไร (baseline) + แล้วไง
  • ตัวอย่างจริง Pareto: ลูกค้า 20% แรก (541 จาก 2,707 คน) สร้างรายได้ถึง 58.75% ของรายได้ทั้งหมด
  • ตัวอย่างจริง seasonal effect: ยอดออเดอร์เดือน พ.ย./ธ.ค. สูงกว่าเดือนอื่นๆ เฉลี่ย 75.3%
  • เปลี่ยน baseline ที่ใช้เทียบ ตัวเลข % ที่ได้เปลี่ยนไปด้วย ต้องระบุ baseline ให้ชัดเจนเสมอ

คำถามสัมภาษณ์

ได้กราฟยอดขายรายเดือนมา จะเขียน insight สั้นๆ ให้ผู้บริหารยังไง (ยกตัวอย่างประโยคจริง)

เริ่มจากดูว่าเดือนไหนเปลี่ยนแปลงชัดเจนที่สุด แล้วคำนวณ % การเปลี่ยนแปลงเทียบกับเดือนก่อนหน้าหรือ ค่าเฉลี่ยที่เหมาะสม จากนั้นเขียนให้ครบ 4 ส่วน เช่น "ยอดขายเดือน พ.ย. สูงกว่าเดือน ต.ค. 60.73% (จาก 1,281,420 เป็น 2,059,592 บาท) ซึ่งสอดคล้องกับช่วงโปรโมชันปลายปี ควรพิจารณาขยายแคมเปญลักษณะนี้ ในเดือนถัดไป" — มีทั้งตัวเลข เปอร์เซ็นต์ baseline ที่เทียบ และข้อเสนอแนะต่อท้าย ไม่ใช่แค่บอกว่า "ยอดขายดีขึ้น"

ทำไม insight ที่ดีต้องมี "แล้วไง" (so what) ไม่ใช่แค่บรรยายตัวเลข

เพราะเป้าหมายสุดท้ายของการวิเคราะห์ข้อมูลคือช่วยให้คนตัดสินใจได้ ไม่ใช่แค่รายงานข้อเท็จจริง ถ้าบอกแค่ "ลูกค้ากลุ่ม 20% แรกสร้างรายได้ 58.75%" แล้วจบ ผู้อ่านจะรู้ตัวเลขแต่ไม่รู้ว่าต้องทำอะไรต่อ ส่วน "แล้วไง" คือสิ่งที่เชื่อมตัวเลขไปสู่การกระทำ เช่น "ควรทำโปรแกรมรักษาลูกค้ากลุ่มนี้เป็นพิเศษ" ทำให้ insight มีประโยชน์ในการทำงานจริง ไม่ใช่แค่เกร็ดความรู้

เจอ Pareto pattern ในข้อมูลลูกค้า (20% สร้างรายได้ 60%) ควรแนะนำทีมธุรกิจให้ทำอะไรต่อ

ควรแนะนำให้เริ่มจากการระบุตัวตนของลูกค้ากลุ่ม 20% นี้ให้ชัดเจนก่อน (ใครบ้าง ซื้ออะไร ซื้อผ่านช่องทาง ไหน) แล้วออกแบบโปรแกรมดูแลรักษาลูกค้ากลุ่มนี้เป็นพิเศษ เช่น loyalty program หรือบริการ VIP เพราะการสูญเสียลูกค้ากลุ่มนี้ไปกระทบรายได้รวมมากกว่าลูกค้ากลุ่มอื่นมาก ในขณะเดียวกันก็ควรระวังไม่ให้ งบการตลาดทั้งหมดไหลไปหาลูกค้าใหม่จำนวนมากโดยละเลยการดูแลลูกค้าเดิมกลุ่มนี้