Gross Margin ที่ CFO เห็นผิดมาตลอด
ค่า AWS ทั้งก้อนไม่ใช่ COGS ทั้งหมด ต้องแยกต้นทุนที่ให้บริการลูกค้าโดยตรง (COGS) ออกจากค่าใช้จ่ายภายใน (OpEx) ถึงจะเห็น Gross Margin ที่แท้จริง จัดประเภทผิดตั้งแต่ต้น = ตัดสินใจผิดทั้งหมด
14 ก.พ. 2569 | 13 นาที
- Tag ครบแล้ว ถึงเวลาแยก COGS
- COGS vs OpEx: ความแตกต่างที่สำคัญมาก
- COGS (Cost of Goods Sold) คืออะไร?
- OpEx (Operating Expenses) คืออะไร?
- เปรียบเทียบให้เห็นภาพ
- แยก AWS ทีละรายการ
- COGS: ต้นทุนที่ให้บริการลูกค้าโดยตรง
- OpEx: ค่าใช้จ่ายภายในที่ลูกค้าไม่สัมผัส
- Gross Margin: ก่อน vs หลังแยก
- Gross Margin (อัตรากำไรขั้นต้น) คืออะไร?
- ผลกระทบจากการแยกผิด
- ทำไมสำคัญ: ตัวเลขผิด = ตัดสินใจผิด
- 1. Pricing: ตั้งราคาผิด
- 2. Fundraising: Valuation ต่ำกว่าที่ควร
- 3. Product Decision: ไม่รู้ว่า feature ไหนกำไร
- วิธีแยก COGS ใน AWS: ใช้ Cost Allocation Tags
- สรุป: จัดประเภทผิด = ตัดสินใจผิดทั้งหมด
- ค่า AWS ทั้งก้อน ≠ COGS ต้องแยกต้นทุนที่ให้บริการลูกค้า (COGS) ออกจากค่าใช้จ่ายภายใน (OpEx)
- วิธีแยกง่ายๆ: ถ้าปิด service นี้แล้วลูกค้าใช้แอปไม่ได้ → COGS / ถ้าปิดแล้วลูกค้าไม่รู้ → OpEx
- HotelGO แยกแล้ว Gross Margin จริงสูงกว่าที่ CFO คิด 2.9% ผลต่างนี้เปลี่ยนการตัดสินใจทั้งเรื่อง Pricing, Fundraising และ Product
Tag ครบแล้ว ถึงเวลาแยก COGS
หลังจากติด Tag ครบทุก resource ในตอนที่แล้ว ตอนนี้ FinOps Practitioner พร้อมแยก COGS ออกจาก OpEx แล้ว
วันนี้ FinOps Practitioner นั่งคุยกับ CFO ถามคำถามสำคัญ
ค่า AWS แยก COGS กับ OpEx หรือยังครับ?
CFO ตอบว่า
AWS ทั้งก้อน 2.1 ล้านบาท อยู่ในบรรทัดเดียว เขียนว่า ‘ค่า IT’ ไม่ได้แยกอะไร
FinOps Practitioner พยักหน้า
นั่นแหละครับปัญหา ถ้าไม่แยก เราจะไม่มีทางรู้เลยว่า Gross Margin จริงๆ ของ HotelGO เป็นเท่าไหร่ แต่ตอนนี้เรามี Tag ครบแล้ว แยกได้เลยครับ
COGS vs OpEx: ความแตกต่างที่สำคัญมาก
CFO ถามกลับว่า “COGS กับ OpEx ต่างกันยังไง?”
FinOps Practitioner อธิบายว่า ค่าใช้จ่ายของบริษัทแบ่งได้เป็น 2 กลุ่มใหญ่ๆ ตามหลักการบัญชี
COGS (Cost of Goods Sold) คืออะไร?
ต้นทุนขาย หรือ ต้นทุนสินค้าที่ขาย คือค่าใช้จ่ายที่เกิดขึ้นโดยตรงจากการผลิตสินค้าหรือให้บริการลูกค้า
ลักษณะสำคัญ:
- ถ้าไม่มี COGS → ลูกค้าใช้บริการไม่ได้เลย
- ยิ่งขายเยอะ → COGS ยิ่งสูง (Variable Cost)
- แสดงใน งบกำไรขาดทุน ก่อน Gross Profit
ตัวอย่างในธุรกิจต่างๆ:
- ร้านอาหาร: วัตถุดิบ, แก๊สหุงต้ม
- โรงงาน: วัตถุดิบ, ค่าแรงคนงานผลิต
- SaaS/Cloud: Server ที่รัน production, Database ที่เก็บข้อมูลลูกค้า
OpEx (Operating Expenses) คืออะไร?
ค่าใช้จ่ายในการดำเนินงาน คือค่าใช้จ่ายที่ช่วยให้บริษัททำงานได้ แต่ไม่ได้เกี่ยวกับการผลิตสินค้าหรือให้บริการลูกค้าโดยตรง
ลักษณะสำคัญ:
- ถ้าไม่มี OpEx → ลูกค้ายังใช้บริการได้ (อย่างน้อยในระยะสั้น)
- มักเป็น Fixed Cost ที่จ่ายเท่าเดิมไม่ว่าจะขายได้เท่าไหร่
- แสดงใน งบกำไรขาดทุน หลัง Gross Profit
ตัวอย่างในธุรกิจต่างๆ:
- ร้านอาหาร: กล้องวงจรปิด, โปรแกรมบัญชี
- โรงงาน: ค่าเช่าออฟฟิศ, เงินเดือนฝ่ายบัญชี
- SaaS/Cloud: Monitoring, CI/CD, Security tools
เปรียบเทียบให้เห็นภาพ
ถ้า HotelGO เป็นร้านอาหาร:
| ประเภท | ร้านอาหาร | HotelGO (Cloud) |
|---|---|---|
| COGS | วัตถุดิบ, แก๊สหุงต้ม, จาน | Lambda, RDS, CloudFront |
| OpEx | กล้องวงจรปิด, โปรแกรมบัญชี | CloudWatch, CI/CD, Security |
| ถ้าไม่มี | ทำอาหารขายไม่ได้ vs บริหารร้านลำบาก | ลูกค้าใช้ไม่ได้ vs ทีมทำงานลำบาก |
วิธีทดสอบง่ายๆ
ลองถามว่า “ถ้าปิด service นี้ทิ้ง ลูกค้าใช้แอปไม่ได้เลยใช่ไหม?”
- ✅ ใช่ → COGS (ต้นทุนขาย)
- ❌ ไม่ ลูกค้ายังใช้ได้ปกติ → OpEx (ค่าใช้จ่ายดำเนินงาน)
แยก AWS ทีละรายการ
FinOps Practitioner เปิดบิล AWS แล้วไล่ทีละ service ใช้คำถามเดิมว่า “ปิดแล้วลูกค้าใช้แอปไม่ได้ใช่ไหม?”
COGS: ต้นทุนที่ให้บริการลูกค้าโดยตรง
จากยอดบิล AWS รวม 2.1 ล้านบาท เมื่อใช้ Tag Environment ที่ติดไว้ในตอนที่แล้ว กรองเฉพาะ Production จะเห็นว่าต้นทุนที่ให้บริการลูกค้าจริงๆ มีดังนี้:
| Service (Production Only) | Cost/เดือน | ทำไมเป็น COGS |
|---|---|---|
| Lambda | 4.5 แสนบาท | รัน search, booking, payment logic ปิดแล้วจองไม่ได้ |
| RDS PostgreSQL | 4.2 แสนบาท | เก็บข้อมูลโรงแรมและการจอง ปิดแล้วไม่มีข้อมูล |
| ElastiCache Redis | 2.5 แสนบาท | Cache ข้อมูลโรงแรม ปิดแล้วหน้า search ช้ามาก (เห็นแล้วจากตอนที่ 2) |
| CloudFront | 1.8 แสนบาท | ส่งหน้าเว็บให้ลูกค้า ปิดแล้วเปิดเว็บไม่ได้ |
| S3 (รูปโรงแรม) | 8 หมื่นบาท | เก็บรูปที่แสดงให้ลูกค้า ปิดแล้วไม่เห็นรูป |
| API Gateway | 7 หมื่นบาท | รับ request จากลูกค้า ปิดแล้วเรียก API ไม่ได้ |
| รวม COGS | 1.45 ล้านบาท |
ทำไมตัวเลขน้อยกว่าตอนที่ 4?
ตอนที่ 4 เราเห็น RDS รวม 6 แสนบาท แต่ตอนนี้เหลือ 4.2 แสนบาท เพราะเราใช้ Tag Environment กรองเฉพาะ Production ส่วนที่เหลือ 1.8 แสนบาทคือ Staging/Dev ซึ่งจะถูกจัดเป็น OpEx แทน เช่นเดียวกับ Lambda, ElastiCache, CloudFront, S3 และ API Gateway ที่ก็มี Dev/Staging แยกออกไปด้วย
OpEx: ค่าใช้จ่ายภายในที่ลูกค้าไม่สัมผัส
| Service | Cost/เดือน | ทำไมเป็น OpEx |
|---|---|---|
| RDS (Dev/Staging) | 1.8 แสนบาท | ฐานข้อมูลสำหรับทดสอบ ลูกค้าไม่ได้ใช้ |
| CloudWatch (Monitoring + Logs) | 1.5 แสนบาท | ทีม DevOps ใช้ดู metrics ปิดแล้วลูกค้ายังจองได้ |
| S3 (backups + logs) | 1 แสนบาท | เก็บ backup กับ log ลูกค้าไม่ได้ใช้ |
| Lambda (Dev/Staging) | 5 หมื่นบาท | Lambda สำหรับทดสอบ |
| ElastiCache (Dev/Staging) | 5 หมื่นบาท | Cache สำหรับทดสอบ |
| API Gateway (Dev/Staging) | 3 หมื่นบาท | API สำหรับทดสอบ |
| CloudFront (Dev) | 2 หมื่นบาท | CDN สำหรับทดสอบ |
| อื่นๆ (Support, Security, CI/CD) | 7 หมื่นบาท | AWS Support, GuardDuty, WAF, CodeBuild |
| รวม OpEx | 6.5 แสนบาท |
รวมทั้งหมด: 1.45 ล้านบาท (COGS) + 6.5 แสนบาท (OpEx) = 2.1 ล้านบาท ตรงกับบิล AWS
ข้อควรระวัง: บาง Service อาจเป็นได้ทั้ง COGS และ OpEx
ตัวอย่างเช่น S3:
- S3 ที่เก็บ รูปโรงแรม = COGS (ลูกค้าต้องเห็น)
- S3 ที่เก็บ backup และ logs = OpEx (ลูกค้าไม่เกี่ยว)
หรือ Lambda:
- Lambda ที่รัน Production = COGS (ลูกค้าใช้โดยตรง)
- Lambda ที่รัน Dev/Staging = OpEx (ทีมใช้ทดสอบ)
ต้องแยกตาม การใช้งานจริง ไม่ใช่แยกตาม service
CFO มองตารางแล้วพูดว่า
ผมรวมค่า Monitoring กับ CI/CD เข้าไปในต้นทุนขายด้วยตลอดเลย
FinOps Practitioner ตอบว่า
ใช่ครับ 6.5 แสนบาทต่อเดือนที่ไม่ใช่ต้นทุนขาย ถูกนับเป็นต้นทุนขายมาตลอด ทำให้ Gross Margin ที่เห็นต่ำกว่าความเป็นจริง
มาดูสัดส่วนกัน
สัดส่วนค่า AWS: COGS vs OpEx
จาก Donut Chart จะเห็นว่าค่า AWS ส่วนใหญ่ (~69%) เป็น COGS จริง แต่อีก ~31% เป็น OpEx ที่ไม่ควรนับเป็นต้นทุนขาย ถ้ารวมทั้งก้อน ตัวเลข Gross Margin จะผิดไปทันที
Gross Margin: ก่อน vs หลังแยก
FinOps Practitioner อธิบายต่อว่า
ทีนี้มาดูกันว่า ตัวเลขที่แยกผิดมันส่งผลยังไง
Gross Margin (อัตรากำไรขั้นต้น) คืออะไร?
ตัวเลขที่บอกว่า หลังหักต้นทุนขายแล้ว เหลือกำไรกี่เปอร์เซ็นต์
สูตร: Gross Margin = (Revenue − COGS) ÷ Revenue × 100%
ตัวอย่าง:
- Revenue = 22.5 ล้านบาท
- COGS = 1.45 ล้านบาท
- Gross Profit = 22.5 − 1.45 = 21.05 ล้านบาท
- Gross Margin = 21.05 ÷ 22.5 × 100% = 93.6%
ยิ่งสูงยิ่งดี เพราะแปลว่าธุรกิจเก็บกำไรได้เยอะจากทุกบาทที่ขายได้
ผลกระทบจากการแยกผิด
ถ้าใส่ COGS ผิด Gross Margin ก็ผิดตาม
| วิธีคำนวณ | COGS | Gross Profit | Gross Margin |
|---|---|---|---|
| ❌ รวม AWS ทั้งก้อน | 2.1 ล้านบาท | 20.4 ล้านบาท | Gross Margin 90.7% |
| ✅ แยกเฉพาะต้นทุนขาย | 1.45 ล้านบาท | 21.05 ล้านบาท | Gross Margin 93.6% |
สูงกว่า 2.9% ฟังดูอาจไม่เยอะ แต่ที่ Revenue 22.5 ล้านบาทต่อเดือน ผลต่างนี้คิดเป็น 6.5 แสนบาทต่อเดือน หรือ 7.8 ล้านบาทต่อปี ซึ่งก็คือค่า Monitoring, CI/CD, Security และ Support ทั้งก้อนที่ถูกจัดผิดประเภทมาตลอด
ทำไมสำคัญ: ตัวเลขผิด = ตัดสินใจผิด
FinOps Practitioner อธิบายให้ CFO ฟังว่า Gross Margin ที่ผิดไม่ใช่แค่ตัวเลขในงบ แต่มันส่งผลต่อการตัดสินใจสำคัญ 3 เรื่อง
1. Pricing: ตั้งราคาผิด
ปัญหา: ถ้าคิดว่า Gross Margin ต่ำกว่าจริง อาจตั้ง Commission สูงเกินไปเพื่อชดเชย
ผลกระทบ: แข่งกับ OTA รายอื่นไม่ได้ ทั้งที่จริงๆ แล้วมี margin เหลือเฟือ
ตัวอย่าง:
- คิดว่า Gross Margin = 90.7% → ตั้ง Commission 18% เพื่อให้ปลอดภัย
- จริงๆ Gross Margin = 93.6% → Commission 15% ก็เหลือเฟือแล้ว
- ผลคือตั้งราคาแพงกว่าคู่แข่ง 3% โดยไม่จำเป็น
2. Fundraising: Valuation ต่ำกว่าที่ควร
ปัญหา: Investor ดู Gross Margin เป็น key metric ของ SaaS/OTA
ทำไม Investor สนใจ Gross Margin?
- Gross Margin สูง = ธุรกิจ scale ได้ โดยต้นทุนไม่โตตาม
- Gross Margin ต่ำ = ยิ่งขายเยอะ ยิ่งต้องจ่ายเยอะ (ไม่น่าลงทุน)
ผลกระทบ:
- นำเสนอ 90.7% แทนที่จะเป็น 93.6%
- Investor อาจให้ Valuation ต่ำกว่าที่ควร 10-20%
- ถ้า Valuation ควรเป็น 500 ล้านบาท อาจได้แค่ 400-450 ล้านบาท
3. Product Decision: ไม่รู้ว่า feature ไหนกำไร
ปัญหา: ถ้าไม่แยก COGS ตามบริการ จะไม่มีทางรู้ว่า feature ไหนมีต้นทุนสูงกว่า
ตัวอย่าง:
- Search feature ใช้ Lambda + ElastiCache เยอะ → COGS สูง
- Booking feature ใช้ RDS เป็นหลัก → COGS ต่ำกว่า
ถ้าไม่แยก:
- ไม่รู้ว่าควรลงทุน optimize feature ไหน
- ไม่รู้ว่า feature ไหนควรตั้งราคาสูงกว่า
- ตัดสินใจแบบมั่วๆ
วิธีแยก COGS ใน AWS: ใช้ Cost Allocation Tags
FinOps Practitioner แนะนำวิธีแยก COGS อย่างเป็นระบบ
AWS Cost Allocation Tags คืออะไร?
ระบบติดป้าย (Tag) ให้ทุก AWS resource เพื่อแยกค่าใช้จ่ายตามหมวดหมู่ที่ต้องการ
วิธีใช้:
- เปิด AWS Billing Console → Cost Allocation Tags
- สร้าง Tag เช่น
CostTypeมีค่าเป็นCOGSหรือOpEx - ติด Tag ให้ทุก resource
- รอ 24 ชั่วโมง → เริ่มเห็นค่าใช้จ่ายแยกตาม Tag
ข้อดี:
- แยกค่าใช้จ่ายได้อัตโนมัติ ไม่ต้องมานั่งแยกเอง
- ดูย้อนหลังได้ (หลังจากติด Tag แล้ว)
- Export ไป Excel หรือ BI tools ได้
สรุป: จัดประเภทผิด = ตัดสินใจผิดทั้งหมด
FinOps Practitioner สรุปให้ CFO ฟังว่า
ค่า Cloud ไม่ใช่ก้อนเดียว ต้องแยกว่าอะไรเป็นต้นทุนขาย อะไรเป็นค่าดำเนินงาน ถึงจะเห็นกำไรขั้นต้นที่แท้จริง
บทเรียนจากตอนนี้:
| บทเรียน | รายละเอียด |
|---|---|
| ใช้คำถามง่ายๆ แยก COGS | ”ปิด service นี้แล้วลูกค้าใช้แอปไม่ได้ใช่ไหม?” |
| Gross Margin ที่ผิดส่งผลต่อทุกการตัดสินใจ | Pricing, Fundraising, Product ล้วนใช้ตัวเลขนี้ |
| ติด Tag ตั้งแต่วันนี้ | ใช้ AWS Cost Allocation Tags แยก service ตามประเภท |
Action Item สำหรับแต่ละ Role
- CFO/บัญชี: ตรวจสอบว่างบกำไรขาดทุนแยก Cloud COGS ถูกต้องหรือไม่
- DevOps/Cloud: ติด Cost Allocation Tags ให้ทุก resource
- FinOps: สร้าง Dashboard แยก COGS vs OpEx ให้ทุกคนเห็น
- Manager: ใช้ Gross Margin ที่ถูกต้องในการตัดสินใจ
ตอนนี้ HotelGO เห็น Gross Margin จริงแล้ว แต่ยังมีปัญหาอีกอย่าง ไม่มีใครรู้ว่าทีมตัวเองใช้ค่า Cloud เท่าไหร่ ทุกครั้งที่ประชุมเรื่อง Cloud Cost ทุกทีมพูดเหมือนกันว่า “ทีมอื่นน่าจะใช้เยอะกว่า” ตอนหน้า FinOps Practitioner จะเริ่ม Showback ให้แต่ละทีมเห็นตัวเลขของตัวเอง
รับบทความผ่านทางอีเมล
บทความที่เกี่ยวข้อง
State of FinOps 2026: องค์กร ทีม และอนาคต
ทีมที่มี executive engagement ระดับ VP+ มีอิทธิพลมากกว่า 2-4 เท่า, FinOps for AI ขึ้นเป็น priority อันดับ 1 ใน 12 เดือนข้างหน้า, และ Shift Left ยังเป็น unsolved challenge (สรุปตอนจบ State of FinOps 2026)
ประหยัดค่า Cloud 2 หมื่น เสียรายได้ 1.2 แสน
เรื่องราวของ FreshCart ที่ลดค่า cloud ได้ 29% แต่กลับทำให้ revenue หายไปมากกว่า 6 เท่า — บทเรียนราคาแพงสำหรับคนที่กำลังศึกษา FinOps
State of FinOps 2026: AI คือตัวเปลี่ยนเกม
98% ขององค์กรบริหาร AI spend แล้ว (จาก 31% เมื่อ 2 ปีก่อน) แต่ยังมองไม่เห็น cost ที่แท้จริงและวัด ROI ไม่ได้ สรุปทุกมิติของ AI ใน State of FinOps 2026