ผมได้เคยสอนใช้ฟังก์ชันทางการเงินอย่าง NPV และ IRR กันไปคร่าวๆแล้ว ซึ่งมันเป็นฟังก์ชันทางการเงินที่มีประโยชน์ในการช่วยตัดสินใจได้ว่า Project ให้ผลตอบแทนคุ้มค่าแค่ไหน น่าลงทุนหรือไม่? แต่ถ้าเราสังเกตดูแล้วมันจะมีฟังก์ชันชื่อคล้ายๆ กันอย่าง XNPV และ XIRR อยู่ด้วย แถมใน DAX ของ Power BI, Power Pivot ก็มีแค่ XNPV กับ XIRR ให้ใช้อีก
แบบนี้มันสามารถใช้แทนกันได้มั้ย หรือมีความแตกต่างกันอย่างไร? เดี๋ยวบทความนี้ผมจะอธิบายให้เข้าใจอย่างละเอียดกันทั้งหมดตั้งแต่ NPV IRR ปกติกันเลยครับ
สารบัญ
พื้นฐานของ NPV และ IRR
ปกติแล้ว Concept ของ NPV ก็คือการเปลี่ยน Cashflow ตลอดทั้งโครงการให้ไปอยู่ที่จุดเดียวกันคือเริ่มต้น (ใช้ PV กับทุก Cashflow) แล้วทำการ Net หักลบ Cashflow ที่เป็นบวกกับลบ เพื่อให้ได้ Cash Flow สุทธินั่นเอง ซึ่งสามารถใช้ฟังก์ชัน NPV ช่วยหาได้ (แต่ไม่ต้องเลือก CF ที่ 0)
ส่วน IRR คือ ค่า rate% อัตราผลตอบแทน ที่ทำให้ NPV เป็น 0 พอดี
สามารถคำนวณด้วยสูตร IRR ครอบ CF ทั้งหมด หรือจะ Goal Seek ให้ค่า NPV เป็น 0 ก็ได้
ถ้าลองเอาค่า % ที่ได้ไปแทนค่า ก็จะทำให้ NPV เป็น 0 พอดีเป๊ะ
ทุกอย่างก็ดูดีไม่ได้มีปัญหาอะไร… แต่สังเกตหรือไม่ว่า เวลาเราใช้ NPV หรือ IRR เราไม่ต้องระบุวันที่ที่เกิด Cash Flow แต่ละก้อนเลย…
นั่นก็เป็นเพราะว่าเจ้า NPV และ IRR นั้น ตั้งอยู่บน Assumption ที่สำคัญมากๆ อันนึงก็คือ Cash Flow แต่ละก้อนนั้นต้องห่างเท่ากันเป๊ะๆๆๆๆๆ ทุกก้อน และหน่วยของ period ต้องต้องกับ rate% ด้วย เช่น
- ถ้า Cashflow แต่ละก้อนห่างกัน 1 ปี ตัว Rate% ก็ต้องคิดต่อ 1 ปี
- ถ้า Cashflow แต่ละก้อนห่าง 1 เดือน ตัว Rate% ก็ต้องคิดต่อ 1 เดือนด้วย
ทำความเข้าใจเรื่องการคิดดอกเบี้ย
อัตราดอกเบี้ยที่ธนาคารบอกเรานั้น จริงๆ แล้วมีอยู่ 2 ลักษณะ คือ Annual Percentage Rate (APR) กับ Effective Interest Rate (EIR) ซึ่งเราต้องทำความเข้าใจดีๆ ว่าเลขที่เรากำลังเห็นคืออะไรกันแน่? เพราะว่า Annual Percentage Rate เป็นแค่การแปลงหน่วยเป็นต่อปี โดยไม่ได้สนใจการคิดดอกเบี้ยทบต้น ในขณะที่ Effective Interest Rate นั้นสนใจเรื่องดอกเบี้ยทบต้น (ซึ่งจะตรงกับความจริงมากกว่า)
สมมติว่าเราไปกู้เงิน 100 บาท ที่ต้องคิดดอกเบี้ยเดือนละครั้ง โดยอัตราดอกเบี้ยอยู่ที่เดือนละ 0.5% …
ถ้าถามว่า Annual Percentage Rate (APR) มีค่าเป็นเท่าไหร่? มันก็คือการเอาดอกเบี้ย 0.5% /เดือน * 12 เดือน/ปี = 6% ต่อปี ตรงๆ ง่ายๆ แบบนี้เลย (ซึ่งการคิด APR บางทีก็จะเรียกว่า Nominal Rate)
แต่ถ้าถามว่า Effective Interest Rate (EIR) มีค่าเท่าไหร่? วิธีคิดคือ ต้องทำให้เป็นดอกเบี้ยทบต้น 12 รอบด้วย ดังนั้นจะคำนวณได้จาก (1+0.5%)^12 -1 = 6.168% ต่อปี ซึ่งจะเห็นว่ามันมากกว่า APR นิดหน่อย
ซึ่งเวลาที่ธนาคารต่างๆ บอกดอกเบี้ยต่างๆ มักจะบอกเป็น APR ครับ แต่เวลาคิดดอกเบี้ยจริงๆ จะคิดแบบ EIR นะ (แถมไม่ได้คิดดอกเบี้ยทุกเดือน แต่คิด Compound ทุกวันด้วยซ้ำ)
ดังนั้นถ้าบอกว่า ดอกเบี้ยต่อปี คือ 10% APR เวลาที่คิด EIR ก็อาจจะได้ค่าต่างกัน ถ้าความถี่ในการคิดดอกเบี้ยทบต้นต่างกัน (ยิ่งถี่ยิ่ง EIR สูงขึ้น)
ซึ่งการคิด NPV ที่เราเรียนรู้ไป ตัว %Rate ก็ต้องเป็น EIR ต่อ Period ของ Cash Flow นั้นๆด้วยนะครับ
กรณีที่ Cashflow สอดคล้องกับความถี่การคิดดอกเบี้ย
ตัวอย่างเช่นแบบนี้ครับ ตัวข้างบนคิดดอกเบี้ยปีละครั้ง ตัวล่างคิดดอกเบี้ยเดือนละครั้ง ถ้ามันสอนคล้องกับ Cashflow ที่ให้มาก็จะง่ายหน่อย คือให้คิด EIR ต่อ Period นั้นๆ เลย
ถ้า Cashflow ไม่สอดคล้องกับความถี่การคิดดอกเบี้ย
แต่ถ้า Cashflow ไม่สอดคล้องกับ Period การคิดดอกเบี้ย ก็จะยุ่งยากขึ้น เช่น Cashflow มีเดือนละครั้ง แต่ดันคิดดอกเบี้ยทุกวัน แบบนี้จะเป็นยังไงมาดูกัน
ทางเลือกแรกก็คือ ทำให้ %Rate มันสอดคล้องกับ Period Cashflow ซะ เช่น ถ้า CF มาเดือนละครั้ง เราก็ต้องทำ EIR แบบต่อ 1 เดือนซะ
แต่ปัญหาอยู่ที่ว่า จะคิดว่า 1 เดือน ต้อง Compound ดอกเบี้ยทุกวันกี่รอบดี? 30, 31 หรือจะเป็น 365/12 รอบ? ซึ่งค่าที่ได้ไม่เท่ากัน
อย่างไรก็ตาม จะเห็นว่าค่าที่ได้ก็จะไม่ต่างจากการคิด Compound เดือนละรอบ (901.966) นักหรอกครับ… ถ้าไม่ซีเรียสมากก็คิดว่า Compound เดือนละรอบไปเลยก็ได้
คราวนี้สมมติว่า ถ้าเราสามารถลงรายละเอียดวันที่ ที่เกิด Cash Flow ได้เลยล่ะ มันจะคำนวณ NPV ได้เท่าไหร่? ถ้ามัน Compound ทุกวัน แต่ Cashflow มาทุกสิ้นเดือน โดยที่เริ่ม CF 1 ที่สิ้นมกรา 2021 โดยที่ผสมใส่ Cashflow เป็นรายวันเลยให้ครบทุกวัน (วันที่ไม่มี CF ต้องใส่เป็น 0 ไปนะ ห้ามเว้น แต่ในรูปผม Hide Row ไว้) จะเห็นว่าได้ผลลัพธ์เป็น 902.826 ซึ่งก็ไม่ได้ตรงกับตัวไหนเลย (แต่ตัวนี้เป๊ะสุด จริงมั้ย?)
XNPV และ XIRR คิดตามวันที่เกิด Cash Flow จริงๆ
จริงๆ แล้วถ้าเราสามารถระบุวันที่ของ Cashflow ได้ และไม่อยากมาใส่ข้อมูลทุกวันแบบตารางข้างบน ทาง Microsoft จึงได้มีการพัฒนาฟังก์ชัน XNPV และ XIRR ขึ้นมา ซึ่งเป็นฟังก์ชันที่เราจะต้องระบุวันที่ ที่เกิด Cashflow แต่ละก้อนควบคู่ไปด้วย ซึ่งมันจะฉลาดกว่า NPV ธรรมดาตรงที่มันไม่ต้อง Assume ว่าแต่ละ Cashflow มีระยะห่างเท่ากัน (เพราะเราระบุวันที่ให้แล้วไง) อย่างไรก็ตาม ตัว %Rate ของ XNPV จะต้องใส่เป็น EIR ต่อ 1 ปีเท่านั้นนะครับ (อันนี้ไม่เกี่ยวกับ Period ของ Cashflow) เช่น
การใช้ XNPV เราจะสามารถเลือกให้ครอบคลุม CF0 ได้เลย ไม่ต้องเว้นไว้แบบ NPV ปกติ โดยที่ XNPV จะไม่ Discount CF0 แต่จะ Discount CF อื่นๆทั้งหมดไปยังวันที่ของ CF0 นั่นเอง
จะเห็นว่า ถ้าเราใช้ XNPV เราแค่ระบุ CF ตามวันที่ที่เกิด CF นั้นๆ พอ ไม่ต้องใส่ 0 ให้ครบทุกวัน ซึ่งชีวิตจะง่ายขึ้นมาก และค่าที่ได้ก็ยังถูกต้องด้วย คือ ได้ 902.826 ตามตัวอย่างข้างบนเป๊ะเลย
Assumption สำคัญ ของ XNPV
XNPV นั้นดูเหมือนจะ Perfect กว่า NPV ปกติทุกอย่าง อย่างไรก็ตาม XNPV มันมี Assumption สำคัญอย่างหนึ่งก็คือ สูตร XNPV นั้นทำการ Discount บนฐานปีที่มี 365 วันเสมอ ดังนั้น ถ้า Cashflow จริงๆ มี 366 วัน ตัว XNPV มันก็จะได้ผลลัพธ์ไม่เท่ากับการ Discount Manual ด้วย PV ปกตินะครับ
จะเห็นว่าถ้ามี 366 วันเมื่อไหร่ XNPV มันก็จะ Discount ผิดคือได้น้อยไปนิดหน่อย (หลักทศนิยม) แต่ถ้ามีระยะห่างของวันในแต่ละ Cash Flow ไม่เท่ากัน (เช่นบางปีมี 365 วัน บางปีมี 366 วัน) เจ้า NPV ธรรมดาก็ถือว่าคำนวณผิดไปนิดหน่อยอยู่ดี…
เช่น ลองดูตัวอย่างนี้ได้ กลับมา Compound ปีละครั้ง แบบ Basic เลย
จะเห็นว่า ถ้าจำนวนวันในแต่ละปีห่างกัน 365 วันตลอด XNPV จะคำนวณได้เท่ากับ NPV เป๊ะเลย (ซึ่งหาช่วงเวลาที่จะมี 365 ปีตลอดหลายๆ ปียากอยู่นะ) แต่พอเรามาดูช่วงเวลาปกติ ที่จะมี 365 วันบ้าง 366 วันบ้าง จะเห็นว่า XNPV นั้นมีค่าน้อยกว่า NPV เล็กน้อย เพราะว่าการ Discount CF กลับไปยังจุดปัจจุบัน มันใช้เวลามากขึ้น 1 วันนั่นเอง (แม้จะผิดนิดหน่อย)
สรุปแล้วใช้อะไรดี?
ความเห็นของผมคือ ค่า XNPV จะถูกต้องมากกว่า NPV โดยเฉพาะอย่างยิ่งหากมี Cash Flow ที่ระยะห่างไม่เท่ากันเมื่อไหร่นี่ต้องใช้ XNPV เท่านั้นเลยครับ แม้ว่าปีที่มี 366 วันค่ามันจะผิดไปนิดหน่อย แต่ส่วนตัวผมคิดว่ามันเล็กน้อยมากๆ ครับ
แต่ถ้าเราสามารถ Assume ได้ว่า CF แต่ละก้อนห่างกันเท่าๆ กันหมด เราก็สามารถใช้ NPV ได้เช่นกันนะครับ ค่าที่ได้ก็ไม่ได้ต่างจาก XNPV ขนาดนั้นนะ
อย่างไรก็ตามใน DAX ของ Power BI และ Power Pivot จะไม่มี NPV ธรรมดาให้ใช้นะครับ อันนั้นก็ต้องเลือก XNPV เท่านั้นล่ะ
แล้ว XIRR ล่ะ?
ถ้าเราเข้าใจตัว XNPV แล้ว เจ้า XIRR ก็ใช้งานเหมือนๆ กันเลยครับ ซึ่งความหมายของวันคือ จะคำนวณ %Rate EIR ต่อปี ที่ทำให้ XNPV เป็น 0 เป๊ะ นั่นเองครับ ซึ่งผลจาก XIRR จะมีหน่วยเป็นต่อ 1 ปีเสมอนะครับ
ดังนั้นข้อสรุปของการคิด IRR ก็เช่นเดียวกันครับ ถ้ามี Cash Flow ระยะห่างไม่เท่ากัน ยังไงก็ควรใช้ XIRR มากกว่า IRR ครับผม
ค่าที่ได้ในที่นี้ คิดออกมาแล้ว XIRR ได้ % มากกว่า IRR เล็กน้อยครับ แปลว่าในความเป็นจริง เราได้ %Return จาก Project นี้มากกว่าที่เคยคิดได้จาก IRR นิดหน่อยนะ 555
สรุปของสรุป
ถ้าคุณใช้ DAX ใน Power BI หรือ Power Pivot คุณต้องใช้ XNPV กับ XIRR เท่านั้น ไม่มีทางเลือก
ถ้าคุณใช้ Excel แล้วสามารถระบุวันที่ที่เกิด CF ได้ ควรใช้ XNPV กับ XIRR
แต่ถ้าคุณใช้ Excel แล้วไม่สามารถระบุวันที่ได้ หรือว่าคิดว่า Assumption เรื่องระยะห่างของ CF ต้องเท่ากันนั้น ok สำหรับโปรเจคคุณ คุณก็ใช้ NPV กับ IRR ปกติได้เช่นกัน (ค่าที่ได้แต่ละวิธีก็ไม่ได้ต่างกันมากหรอครับ)
Leave a Reply