Dynamics 365 Business Central มีเครื่องมือที่ธุรกิจสามารถใช้ในการวิเคราะห์กระแสเงินสดในการวิเคราะห์ข้อมูลย้อนหลังเพื่อทำการพยากรณ์ความเป็นไปได้สำหรับข้อมูลในอนาคต
เพราะกระแสเงินสด (Cash flow) ในธุรกิจเป็นตัวบ่งชี้ที่ดีของความสามารถทางการเงินและบอกได้ว่าธุรกิจสามารถปฏิบัติตามภาระผูกพันทางการเงินได้หรือไม่ บทความนี้จะพูดถึงคุณสมบัติของฟังก์ชั่นการพยากรณ์กระแสเงินสด (Cash Flow Forecast) ซึ่งเป็นเครื่องมือการสร้างรายงานขั้นสูงที่สามารถใช้บริการจาก Azure Machine Learning ร่วมกับข้อมูลทางบัญชีใน Dynamics 365 Business Central เพื่อจำลองสถานการณ์ต่างๆและให้ข้อมูลเชิงลึกเกี่ยวกับความคาดหวังและปัจจัยเสี่ยงต่างๆ ของธุรกิจได้อย่างไร
Calculating a basic forecast
ในการพยากรณ์กระแสเงินสดนั้น โดยพื้นฐานจะใช้ข้อเท็จจริง (known facts) ในระบบ ขั้นแรกให้กำหนดสถานะปัจจุบันของกองทุนสภาพคล่อง (Liquid funds) ซึ่งปกติแล้วจะดึงข้อมูลมาจากยอดคงเหลือในบัญชีธนาคาร (bank balance) และบัญชีเงินสด (cash account) แต่ทั้งนี้ก็สามารถรวมจากบัญชีอื่น ๆ เข้ามาด้วย
จากนั้นให้เพิ่มหรือลบจำนวนเงินสดตามการชำระเงินที่คาดว่าจะจ่ายและจะรับในอนาคต ซึ่งข้อมูลนี้มาจาก “รายการคงค้างในบัญชีแยกประเภทลูกค้า (customer ledger) และบัญชีแยกประเภทผู้ขาย (vendor ledger)” เช่น การขายที่ลงบันทึกบัญชีแล้ว หรือใบกำกับสินค้าที่ผ่านรายการแล้ว ซึ่งเอกสารเหล่านี้จะมีวันครบกำหนดชำระเงิน (due date) กำกับอยู่
อย่างไรก็ตาม ข้อมูลในรายการบัญชีแยกประเภทมีข้อจำกัดในแง่ของการพยากรณ์ เนื่องจากมีวันครบกำหนดตามเงื่อนไขการชำระเงิน ซึ่งธุรกิจส่วนใหญ่จะใช้วันที่ครบกำหนด (due date) มาเป็นเงื่อนไขในการกำหนดขอบเขตของช่วงเวลาในอนาคตที่สามารถพยากรณ์ได้ ตัวอย่างเช่น หากเงื่อนไขการชำระเงินสำหรับใบแจ้งหนี้การขายคือ 1W (หนึ่งสัปดาห์) นั่นแปลว่า การพยากรณ์จะไม่มีข้อมูลใด ๆ เป็นเวลาแปดวันนับจากวันที่ปัจจุบัน
ดังนั้น วิธีหนึ่งในการขยายขอบเขตการพยากรณ์คือ การป้อนตัวเลขงบประมาณด้วยตนเองตามข้อตกลงที่ตกลงไว้กับผู้ขายหรือลูกค้า ตัวอย่างเช่น การปรับยอดขาย การสั่งซื้อ การบริการและรายได้จากงานโครงการ แม้ว่าจะมีความเสี่ยงที่รายการเหล่านี้จะถูกยกเลิกหรือเปลี่ยนแปลงวันที่วันครบกำหนด แต่ก็ยังถือว่าเป็นข้อมูลที่สามารถใช้ได้ในระดับหนึ่ง
โดยผู้ใช้งานสามารถป้อนตัวเลขงบประมาณดังกล่าวด้วยตนเองในหน้าจอต่อไปนี้:
- G/L Budgets: บันทึกการพยากรณ์งบประมาณและระบุวันที่ต่างๆ
- Cash Flow Manual Expense: สำหรับการบันทึกค่าเช่า และค่าใช้จ่ายอื่นๆ เช่น โทรศัพท์ อินเทอร์เนต
- Cash Flow Manual Revenue: สำหรับการบันทึกกระแสเงินสดดอกเบี้ยหรือคืนเงินกู้
Using Azure Machine Learning to Extend the Horizon for Cash Flow Forecast
ที่กล่าวมาข้างต้น การใช้ budgeting tools เพื่อบันทึกรายได้และค่าใช้จ่ายนั้นเป็นเรื่องที่ดี แต่มีข้อจำกัดในเรื่องมุมมองต่อการพยากรณ์กระแสเงินสดล่วงหน้า เนื่องจากต้องมีการป้อนข้อมูลเข้าสู่ระบบด้วยตัวเองเป็นปริมาณมากเพื่อให้ได้ผลลัพธ์ ทางออกของปัญหานี้คือ การใช้ Azure Machine Learning Studio จากบริการ Cortana Intelligence เพื่อขยายขอบเขตการพยากรณ์กระแสเงินสดได้อย่างรวดเร็ว แม่นยำและง่ายดายกว่า โดยการป้อนข้อมูลเข้าไปในแบบจำลองข้อมูลอนุกรมเวลา (Time Series Model) ตามตัวเลือกด้านล่างเพื่อวิเคราะห์หาผลลัพธ์
- ARIMA (Auto Regressive Integrated Moving Average)
- ETS (Exponential Smoothing State Space)
- STL (Seasonal Decomposition of Time Series by Loess)
- TBATS (Exponential Smoothing State Space with Box-Cox transformation, ARMA errors, Trend and Seasonal components)
นอกจากนี้ยังใช้โมเดลเหล่านี้ร่วมกันได้ เช่น ETS + ARIMA และ ETS + STL ซึ่งในบางกรณี สามารถปรับปรุงความแม่นยำของค่าพยากรณ์ได้ (ข้อมูลเพิ่มเติมดูที่ Azure AI Gallery) ซึ่งโดยพื้นฐานแล้วเราจะใช้ข้อมูลในอดีตของระบบเพื่อคำนวณหาค่ากระแสเงินสด ได้แก่
- รายการบัญชีแยกประเภทลูกค้าสำหรับลูกหนี้ (Customer ledger entries)
- รายการบัญชีแยกประเภทผู้ขายสำหรับเจ้าหนี้ (Vendor ledger entries)
- รายการภาษี / ภาษีมูลค่าเพิ่มสำหรับภาษี (Tax/VAT entries)
แต่สิ่งที่แตกต่างกันคือ Azure ML จะเป็นการนำวิธีการทางสถิติขั้นสูงเข้ามาใช้ร่วมกับข้อมูลดังกล่าว เพื่อสร้างข้อมูลในอนาคตและรวบรวมข้อมูลนั้นเพื่อคำนวณการพยากรณ์ เมื่อทำนายลูกหนี้หรือเจ้าหนี้ เราจะใช้วันที่ครบกำหนด (due date) เป็นเกณฑ์ ไม่ใช่วันที่เอกสารหรือวันที่โพสต์ (document or posting date) ดังนั้นเราไม่จำเป็นต้องกำหนดและใช้เงื่อนไขการชำระเงินกับการพยากรณ์ผลลัพธ์นี้ ทั้งนี้สามารถระบุโมเดลที่จะใช้ในฟิลด์ Time Serie Model ที่หน้าจอ Cash Flow Setup แต่ถ้าหากไม่แน่ใจว่ารูปแบบใดจะเหมาะสม ก็ให้เลือกตัวเลือกทั้งหมด เพราะ Business Central จะใช้แต่ละโมเดลเพื่อคำนวณการพยากรณ์เปรียบเทียบผลลัพธ์และสะท้อนผลลัพธ์ที่ดีที่สุดกลับมาให้เอง
NOTE: Azure ML ให้บริการฟรีสำหรับผู้ใช้งาน Business Central แบบออนไลน์ แต่จำกัดระยะเวลาการคำนวณที่สามารถใช้ได้ในแต่ละเดือน ข้อควรระวังคือ การเลือกโมเดลทั้งหมดจะใช้เวลามากกว่าแบบจำลองเดียว ดังนั้นเมื่อถึงขีดกำหนด จะต้องรอจนกว่าจะถึงเดือนถัดไปหรือเปลี่ยนเป็นการสมัครแบบมีค่าใช้จ่ายแทน
ข้อสังเกตุอีกอย่างคือ ค่าที่พยากรณ์คือช่วงที่คาดว่าค่านั้นจะอยู่ภายในมีความน่าจะเป็นบางส่วนและไม่ใช่ดาต้าพอยท์เดียว ความน่าจะเป็นเริ่มต้นคือ 80% และไม่สามารถเปลี่ยนการตั้งค่านี้ผ่านหน้าจอของระบบได้
หากคุณมีข้อมูลเป็นเวลาอย่างน้อยสองปี คุณสามารถพยากรณ์ค่าได้ล่วงหน้าถึงสี่เดือนด้วยคุณภาพที่เหมาะสม หากคุณมีข้อมูลน้อยกว่านี้ก็ควรใช้ช่วงขอบเขตที่สั้นกว่ามิฉะนั้นช่วงของค่าที่พยากรณ์อาจกว้างเกินไปและไม่มีประโยชน์
ทั้งนี้ อาจมีโอกาสเป็นอย่างมากที่การพยากรณ์จะผิดพลาดแบบ “100%” ดังนั้นระบบจึงต้องมีการใส่ค่าเปอร์เซนต์ความแปรปรวน (Variance %) ใน Cash Flow Setup เพื่อให้ระบุช่วงของความเบี่ยงเบนที่ยอมรับได้ในการพยากรณ์ ซึ่งส่วนใหญ่จะอยู่ในช่วง 20-40 เปอร์เซนต์ ซึ่งหากการพยากรณ์ที่เกิดขึ้นนอกช่วงที่ระบุ จะถือว่าไม่มีความน่าเชื่อถือเนื่องจากการพยากรณ์เริ่มนับจากวันที่ปัจจุบัน จึงจำเป็นต้องเรียงค่าผลลัพธ์ที่พยากรณ์ได้เก็บไว้ในระบบ เช่น รายการบัญชีแยกประเภทลูกค้าที่เปิดอยู่หรือคำสั่งขาย
ยกตัวอย่างให้เห็นง่ายๆ ดังภาพข้างล่างนี้
ในสองปีที่ผ่านมาคุณขายดินสอได้เฉลี่ย 10 ด้ามต่อเดือน ต่อมาในช่วงกลางเดือนมีคนถามคุณว่า “คุณจะขายดินสอในเดือนหน้าได้เท่าไหร่” ซึ่งถ้าหากพิจารณาจากข้อมูลในอดีตแล้ว คุณอาจตอบได้ว่า 10 ด้าม
ตอนนี้ลูกค้ามาถึงที่ร้านของคุณและต้องการสั่งซื้อดินสอ 6 ด้ามในเดือนหน้า คำสั่งซื้อนี้เปลี่ยนสิ่งที่คุณคาดว่าจะขายในเดือนหน้าหรือไม่ อาจจะไม่. คุณยังคงคาดหวังที่จะขายดินสอทั้งหมด 10 ด้าม แต่ตอนนี้คุณรู้แล้วว่า 6 ด้ามจะไปอยู่ที่ลูกค้ารายนั้น
เช่นเดียวกับรายได้และค่าใช้จ่าย หากคุณมีข้อมูลที่เชื่อถือได้เกี่ยวกับรายได้ในช่วงเวลาที่จะเกิดขึ้น เช่น มีคำสั่งซื้อเพิ่ม จำนวนเงินนั้นจะกลายเป็นยอดรายได้จริงและควรลบออกจากรายได้ที่พยากรณ์ไว้
ศึกษาเพิ่มเติมได้ที่: https://docs.microsoft.com/en-us/dynamics365/business-central/finance-analyze-cash-flow