Back to: 20 Project จบ ครบ Portfolio — Data Analyst
สร้าง Budget Dashboard สรุปค่าใช้จ่ายส่วนตัว
โปรเจคที่สอง เปลี่ยนธีมจาก "ข้อมูลร้านค้า" มาเป็น "ข้อมูลของตัวเอง" — หยิบรายจ่ายย้อนหลัง 6 เดือน มาแบ่งหมวด หาสัดส่วน และดูแนวโน้ม เพื่อตอบคำถามที่ทุกคนสงสัย: "เงินหายไปไหนบ้าง"
จากคนสร้างคอร์ส — โปรเจคนี้พิเศษตรงที่เราไม่ต้องรอไฟล์จากใคร เพราะข้อมูลที่แท้จริงที่สุด ที่เรามีอยู่แล้วคือ "รายจ่ายของตัวเอง" หลายคนที่ย้ายสายมาทาง Data มักมองข้ามโปรเจคแบบนี้ เพราะคิดว่าธรรมดาเกินไป แต่ในความเป็นจริง Budget Dashboard คือหนึ่งในโปรเจคที่คนสัมภาษณ์เข้าใจง่ายที่สุด เพราะทุกคนมีรายจ่ายเป็นของตัวเอง เวลาเราเล่าว่า "เจอว่าค่าอาหารตัวเองสูงขึ้นทุกเดือนจนเกินงบ" คนฟังจะอินตามได้ทันที ต่างจากตัวเลขธุรกิจที่ไกลตัวกว่า
โจทย์ของเรา
รอบนี้ไม่มีลูกค้าจ้างงาน แต่ให้ลองสวมบทบาทเป็นตัวเราเอง — สมมติว่าช่วงนี้รู้สึกว่าเงินเดือนหมดเร็วขึ้นเรื่อยๆ ทั้งที่รายได้เท่าเดิม จึงลองโหลด statement บัตรเครดิตกับสลิปโอนเงินย้อนหลัง 6 เดือนมารวมเป็นไฟล์เดียว แล้วตั้งคำถามกับตัวเองว่า
"เงินของเราไปอยู่ที่หมวดไหนมากที่สุด แล้วมีหมวดไหนที่ใช้เกินงบที่ควรจะเป็นบ้าง"
สังเกตว่าคำถามนี้คล้ายกับโปรเจคที่แล้ว (แยกตามหมวด + เทียบกับเกณฑ์) แต่ต่างกันตรงที่รอบนี้เราต้องหา "เกณฑ์เปรียบเทียบ" เอง ไม่มีใครบอกไว้ตรงๆ ว่าอะไรคือ "เกินงบ" นี่คือทักษะสำคัญของ Data Analyst — รู้จักหลักการที่ใช้เปรียบเทียบตัวเลขให้มีความหมาย ไม่ใช่แค่รายงานตัวเลขเฉยๆ
ทำไมโปรเจคนี้ควรอยู่ใน Portfolio
- แสดงว่าเราวิเคราะห์ "สัดส่วน" (proportion) ได้ ไม่ใช่แค่ "ผลรวม" (sum) แบบโปรเจคที่แล้ว
- ฝึกใช้กราฟคนละแบบ (Pie/Donut Chart + Line Chart) ทำให้ Portfolio ดูหลากหลายขึ้น
- ใช้เกณฑ์อ้างอิงจากหลักการทางการเงินจริง (50/30/20 Rule) ทำให้ insight มีน้ำหนักมากกว่าการเดา
- เล่าตอนสัมภาษณ์ได้ง่าย เพราะเป็นเรื่องที่ทุกคนมีประสบการณ์ร่วม
ทำความรู้จักข้อมูลก่อนเริ่ม
ไฟล์ข้อมูลรอบนี้มีลักษณะเป็น "ธุรกรรมย่อย" คือแต่ละแถวคือ 1 รายการใช้จ่าย ไม่ใช่ยอดรวมสำเร็จรูป เราต้องรวมยอดเองในขั้นตอนถัดไป มาดูความหมายของแต่ละคอลัมน์กันก่อน:
| คอลัมน์ | ความหมาย | ตัวอย่างค่า |
|---|---|---|
expense_id |
เลขอ้างอิงรายการใช้จ่าย ใช้แยกแต่ละรายการไม่ให้ซ้ำกัน | 2004 |
expense_date |
วันที่จ่ายเงิน ใช้จัดกลุ่มเป็นรายเดือนเพื่อดูแนวโน้ม | 2025-03-22 |
category |
หมวดค่าใช้จ่าย ใช้สรุปว่าเงินไปอยู่ที่หมวดไหนมากที่สุด | อาหาร |
description |
รายละเอียดของรายการ ใช้ตอนอยากรู้ลึกถึงระดับรายการเดี่ยวๆ | กินข้าวนอกบ้าน |
amount_thb |
จำนวนเงินของรายการนั้น (บาท) — คอลัมน์หลักที่เราจะรวมยอด | 4200 |
payment_method |
ช่องทางที่จ่ายเงิน ใช้ดูพฤติกรรมการใช้จ่ายเสริมได้ (ไม่บังคับต้องใช้ในโปรเจคนี้) | เงินสด |
ขั้นที่ 1-2: สำรวจ + ทำความสะอาดข้อมูล
ก่อนรวมยอด เช็ก 3 อย่างเดิมที่เราฝึกมาจากโปรเจคที่แล้ว บวกอีก 1 อย่างที่ข้อมูลธุรกรรมย่อยแบบนี้มักเจอ:
- คอลัมน์
amount_thbเป็นตัวเลขล้วนไหม ไม่มีสัญลักษณ์ ฿ หรือ comma ปนอยู่ - ชื่อหมวด (category) สะกดตรงกันทุกแถวไหม
- วันที่ถูกอ่านเป็นรูปแบบวันที่จริงไหม ไม่ใช่ข้อความ
- (ใหม่) มีรายการซ้ำไหม เช่น รายการเดียวกันถูกบันทึกไว้ 2 ครั้งโดยไม่ตั้งใจ ซึ่งพบบ่อยเวลารวมไฟล์จากหลายแหล่ง (บัตรเครดิต + สลิปโอน)
expense_id, category, amount_thb 2071, ช้อปปิ้ง, ฿1,500 ← มีสัญลักษณ์และ comma ปน ทำให้ SUM ไม่ได้ 2072, ชอปปิง, 2000 ← สะกดคนละแบบกับ "ช้อปปิ้ง" ที่ใช้อยู่เดิม 2073, ช้อปปิ้ง, 800 2073, ช้อปปิ้ง, 800 ← แถวซ้ำ (บันทึกรายการเดิมสองครั้ง)
=COUNTIF(A:A,A1)>1 (อ้างอิงคอลัมน์ expense_id) ระบบจะไฮไลต์แถวที่เลข id ซ้ำกันให้เห็นทันที
ไฟล์รายจ่ายส่วนตัว 6 เดือน (ม.ค.–มิ.ย.) แยกตามหมวดและช่องทางการจ่ายเงิน ดาวน์โหลดได้จากโฟลเดอร์ Google Drive ของคอร์ส
📁 เปิดโฟลเดอร์ Dataset ทั้งหมดใน Google Driveขั้นที่ 3: สรุปสัดส่วนแต่ละหมวดด้วย Pivot Table
เลือกช่วงข้อมูลทั้งหมด แล้วไปที่ Insert → Pivot table ตั้งค่าแบบนี้:
Rows: category Values: amount_thb (Summarize by: SUM) Sort: มาก → น้อย
ได้ยอดรวมแต่ละหมวดแล้ว ให้เพิ่มคอลัมน์คำนวณสัดส่วน % ต่อไป เพราะตัวเลขยอดรวมเฉยๆ ยังไม่บอกว่า "เยอะเทียบกับอะไร"
ผลลัพธ์: สัดส่วนค่าใช้จ่ายแต่ละหมวด
เมื่อรวมยอด 6 เดือนแล้วคิดเป็นสัดส่วน จะได้ผลประมาณนี้ กราฟที่เหมาะกับคำถาม "สัดส่วนของทั้งหมด" คือ Pie Chart หรือ Donut Chart เพราะเน้นให้เห็นว่าแต่ละส่วนคิดเป็นกี่ % ของวงกลมทั้งวง ต่างจาก Bar Chart ที่เน้นเทียบ "ค่า" ระหว่างกลุ่มมากกว่า "สัดส่วน"
สัดส่วนค่าใช้จ่ายแต่ละหมวด รวม 6 เดือน (% ของรายจ่ายทั้งหมด)
ขั้นที่ 4: ดูแนวโน้มรายเดือนของหมวดที่น่าสงสัยที่สุด
จากกราฟสัดส่วน หมวด "อาหาร" มีสัดส่วนสูงเป็นอันดับ 2 ทั้งที่ไม่ใช่ค่าใช้จ่ายคงที่แบบค่าเช่า ลองกลับไปทำ Pivot Table รอบใหม่ โดยกรองเฉพาะหมวดอาหาร แล้ว Rows เป็นเดือนแทน เพื่อดูว่ามีแนวโน้มยังไง
Filters: category = อาหาร Rows: expense_date (จัดกลุ่มเป็นรายเดือน) Values: amount_thb (Summarize by: SUM)
คราวนี้กราฟที่เหมาะกว่าคือ Line Chart เพราะเราต้องการดู "แนวโน้ม" ที่เปลี่ยนแปลงต่อเนื่องตามเวลา ไม่ใช่แค่เทียบค่าระหว่างกลุ่มแบบ Bar Chart
ค่าอาหารรายเดือน (บาท) — เพิ่มขึ้นต่อเนื่องทุกเดือน รวม 37% ตลอด 6 เดือน
ขั้นที่ 5: สรุป Insight พร้อมคำแนะนำ
ตอนนี้เรามีทั้งภาพสัดส่วนรวม และแนวโน้มของหมวดที่น่าสงสัย ให้รวมสองมุมมองเข้าด้วยกันเป็นข้อสรุปเดียว พร้อมเทียบกับเกณฑ์ 50/30/20 ที่ตั้งไว้ตั้งแต่ต้น
รายจ่ายจำเป็น (ที่พัก + อาหาร + เดินทาง + สาธารณูปโภค) รวมกันคิดเป็น 70% ของรายจ่ายทั้งหมด สูงกว่าเกณฑ์ 50/30/20 Rule ที่แนะนำไว้ที่ 50% ค่อนข้างมาก สาเหตุหลักมาจากหมวดอาหาร ที่เพิ่มขึ้นต่อเนื่องทุกเดือน จาก 6,000 บาท เป็น 8,200 บาท (เพิ่มขึ้น 37% ใน 6 เดือน) โดยเฉพาะยอดกินข้าวนอกบ้านที่โตเร็วกว่าค่าซื้อของกินเข้าบ้าน เงินออมอยู่ที่ 11% ของรายจ่ายทั้งหมด ต่ำกว่าเป้าหมาย 20% แนะนำ: ลดความถี่การกินข้าวนอกบ้านลง แล้วนำส่วนต่างไปเพิ่มเงินออมให้เข้าใกล้เป้าหมาย 20% มากขึ้น
สูตรคำนวณสัดส่วน % ของแต่ละหมวดแบบไม่ต้องพึ่ง Pivot Table ก็ได้ คัดลอกไปวางแล้วปรับ range ตามไฟล์ของตัวเอง
=SUMIF(C:C, "อาหาร", E:E) / SUM(E:E) // C:C = คอลัมน์ category // E:E = คอลัมน์ amount_thb // สูตรนี้คำนวณว่าหมวดอาหารคิดเป็นสัดส่วนกี่ % ของรายจ่ายทั้งหมด // จัด format ผลลัพธ์เป็น Percent (Format → Number → Percent) // ถ้าอยากดูยอดรวมเฉพาะเดือนมิถุนายนของหมวดอาหาร ใช้ SUMIFS แทน =SUMIFS(E:E, C:C, "อาหาร", D:D, ">="&DATE(2025,6,1), D:D, "<"&DATE(2025,7,1))
สรุปสิ่งที่โปรเจคนี้สอน
- คำนวณสัดส่วน (% of total) ไม่ใช่แค่ยอดรวม เพื่อให้ตัวเลขมีความหมายเทียบกับภาพรวม
- เลือกกราฟให้ตรงกับคำถาม — Pie/Donut สำหรับสัดส่วน, Line Chart สำหรับแนวโน้ม
- ใช้เกณฑ์อ้างอิงจากหลักการที่มีอยู่จริง (เช่น 50/30/20 Rule) แทนการเดาว่า "เยอะไปไหม"
- เช็กแถวข้อมูลซ้ำก่อนวิเคราะห์ เพราะทำให้ยอดรวมคลาดเคลื่อนได้ง่าย
- รวมหลายมุมมอง (สัดส่วน + แนวโน้ม) เข้าด้วยกันเป็นข้อสรุปเดียวที่นำไปใช้ตัดสินใจได้จริง
คำศัพท์ที่เจอในบทนี้
- Proportion / % of Total
- สัดส่วนของค่าหนึ่งเทียบกับผลรวมทั้งหมด มักแสดงเป็นเปอร์เซ็นต์ ช่วยตอบคำถามว่า "เยอะแค่ไหนเมื่อเทียบกับภาพรวม"
- Pie Chart / Donut Chart
- กราฟวงกลมที่ใช้แสดงสัดส่วนของแต่ละกลุ่มเทียบกับทั้งหมด เหมาะกับคำถามเรื่อง "สัดส่วน" ไม่ใช่ "ค่าเปรียบเทียบ"
- Line Chart
- กราฟเส้นที่ใช้แสดงการเปลี่ยนแปลงของตัวเลขต่อเนื่องตามเวลา เหมาะกับการดูแนวโน้ม (Trend)
- Trend
- ทิศทางการเปลี่ยนแปลงของข้อมูลเมื่อเวลาผ่านไป เช่น เพิ่มขึ้นต่อเนื่อง ลดลงต่อเนื่อง หรือคงที่
- 50/30/20 Rule
- หลักการแบ่งงบประมาณส่วนบุคคล แนะนำให้แบ่งรายได้เป็น 50% รายจ่ายจำเป็น 30% รายจ่ายตามใจอยาก และ 20% เงินออม
✍️ เขียนทบทวนโปรเจคนี้
ลองเขียนสรุปด้วยคำพูดของตัวเอง — เก็บไว้ใช้ตอนเล่าโปรเจคนี้ตอนสัมภาษณ์งานได้เลย เช่น ได้เรียนรู้อะไรบ้าง ติดปัญหาอะไร แล้วแก้ยังไง