Azure Machine Learning

Machine Learning กับการพยากรณ์กระแสเงินสดบน Business Central

Dynamics 365 Business Central มีเครื่องมือที่ธุรกิจสามารถใช้ในการวิเคราะห์กระแสเงินสด (Cash flow forecasts) ในการวิเคราะห์ข้อมูลย้อนหลังเพื่อทำการพยากรณ์ความเป็นไปได้สำหรับข้อมูลในอนาคต

เพราะกระแสเงินสด (Cash flow) ในธุรกิจเป็นตัวบ่งชี้ที่ดีของความสามารถทางการเงินและบอกได้ว่าธุรกิจสามารถปฏิบัติตามภาระผูกพันทางการเงินได้หรือไม่ บทความนี้จะพูดถึงคุณสมบัติของฟังก์ชั่นการพยากรณ์กระแสเงินสด (Cash Flow Forecasting) ซึ่งเป็นเครื่องมือการสร้างรายงานขั้นสูงที่สามารถใช้บริการจาก Azure Machine Learning เพื่อจำลองสถานการณ์ต่างๆและให้ข้อมูลเชิงลึกเกี่ยวกับความคาดหวังและปัจจัยเสี่ยงต่างๆ ของธุรกิจได้อย่างไร

Calculating a basic forecast

ในการพยากรณ์กระแสเงินสดนั้น โดยพื้นฐานจะใช้ข้อเท็จจริง (known facts) ในระบบ ขั้นแรกให้กำหนดสถานะปัจจุบันของกองทุนสภาพคล่อง (Liquid funds) ซึ่งปกติแล้วจะดึงข้อมูลมาจากยอดคงเหลือในบัญชีธนาคาร (bank balance) และบัญชีเงินสด (cash account) แต่ทั้งนี้ก็สามารถรวมจากบัญชีอื่น ๆ เข้ามาด้วย

Cash Flow Forecasting
กำหนดข้อมูลพื้นฐานจาก Liquid funds

จากนั้นให้เพิ่มหรือลบจำนวนเงินสดตามการชำระเงินที่คาดว่าจะจ่ายและจะรับในอนาคต ซึ่งข้อมูลนี้มาจาก “รายการคงค้างในบัญชีแยกประเภทลูกค้า (customer ledger) และบัญชีแยกประเภทผู้ขาย (vendor ledger)” เช่น การขายที่ลงบันทึกบัญชีแล้ว หรือใบกำกับสินค้าที่ผ่านรายการแล้ว ซึ่งเอกสารเหล่านี้จะมีวันครบกำหนดชำระเงิน (due date) กำกับอยู่

Business Central Cash Flow Forecasts
กราฟแสดงการเปลี่ยนแปลงจากยอดกระทบที่มาจากรายการคงค้าง

อย่างไรก็ตาม ข้อมูลในรายการบัญชีแยกประเภทมีข้อจำกัดในแง่ของการพยากรณ์ เนื่องจากมีวันครบกำหนดตามเงื่อนไขการชำระเงิน ซึ่งธุรกิจส่วนใหญ่จะใช้วันที่ครบกำหนด (due date) มาเป็นเงื่อนไขในการกำหนดขอบเขตของช่วงเวลาในอนาคตที่สามารถพยากรณ์ได้ ตัวอย่างเช่น หากเงื่อนไขการชำระเงินสำหรับใบแจ้งหนี้การขายคือ 1W (หนึ่งสัปดาห์) นั่นแปลว่า การพยากรณ์จะไม่มีข้อมูลใด ๆ เป็นเวลาแปดวันนับจากวันที่ปัจจุบัน

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

Business Central Cash Flow Forecasts

โดยผู้ใช้งานสามารถป้อนตัวเลขงบประมาณดังกล่าวด้วยตนเองในหน้าจอต่อไปนี้:

  • G/L Budgets: บันทึกการพยากรณ์งบประมาณและระบุวันที่ต่างๆ
  • Cash Flow Manual Expense: สำหรับการบันทึกค่าเช่า และค่าใช้จ่ายอื่นๆ เช่น โทรศัพท์ อินเทอร์เนต
  • Cash Flow Manual Revenue: สำหรับการบันทึกกระแสเงินสดดอกเบี้ยหรือคืนเงินกู้

Using Azure Machine Learning to Extend the Horizon for Cash Flow Forecasts

ที่กล่าวมาข้างต้น การใช้ 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)
MS_Azure_ML
Microsoft Azure Machine Learning Studio

แต่สิ่งที่แตกต่างกันคือ Azure ML จะเป็นการนำวิธีการทางสถิติขั้นสูงเข้ามาใช้ร่วมกับข้อมูลดังกล่าว เพื่อสร้างข้อมูลในอนาคตและรวบรวมข้อมูลนั้นเพื่อคำนวณการพยากรณ์ เมื่อทำนายลูกหนี้หรือเจ้าหนี้ เราจะใช้วันที่ครบกำหนด (due date) เป็นเกณฑ์ ไม่ใช่วันที่เอกสารหรือวันที่โพสต์ (document or posting date) ดังนั้นเราไม่จำเป็นต้องกำหนดและใช้เงื่อนไขการชำระเงินกับการพยากรณ์ผลลัพธ์นี้ ทั้งนี้สามารถระบุโมเดลที่จะใช้ในฟิลด์ Time Serie Model ที่หน้าจอ Cash Flow Setup แต่ถ้าหากไม่แน่ใจว่ารูปแบบใดจะเหมาะสม ก็ให้เลือกตัวเลือกทั้งหมด เพราะ Business Central จะใช้แต่ละโมเดลเพื่อคำนวณการพยากรณ์เปรียบเทียบผลลัพธ์และสะท้อนผลลัพธ์ที่ดีที่สุดกลับมาให้เอง

NOTE: Azure ML ให้บริการฟรีสำหรับผู้ใช้งาน Business Central แบบออนไลน์ แต่จำกัดระยะเวลาการคำนวณที่สามารถใช้ได้ในแต่ละเดือน ข้อควรระวังคือ การเลือกโมเดลทั้งหมดจะใช้เวลามากกว่าแบบจำลองเดียว ดังนั้นเมื่อถึงขีดกำหนด จะต้องรอจนกว่าจะถึงเดือนถัดไปหรือเปลี่ยนเป็นการสมัครแบบมีค่าใช้จ่ายแทน

ข้อสังเกตุอีกอย่างคือ ค่าที่พยากรณ์คือช่วงที่คาดว่าค่านั้นจะอยู่ภายในมีความน่าจะเป็นบางส่วนและไม่ใช่ดาต้าพอยท์เดียว ความน่าจะเป็นเริ่มต้นคือ 80% และไม่สามารถเปลี่ยนการตั้งค่านี้ผ่านหน้าจอ

Business Central Cash Flow Forecasts

หากคุณมีข้อมูลเป็นเวลาอย่างน้อยสองปี คุณสามารถพยากรณ์ค่าได้ล่วงหน้าถึงสี่เดือนด้วยคุณภาพที่เหมาะสม หากคุณมีข้อมูลน้อยกว่านี้ก็ควรใช้ช่วงขอบเขตที่สั้นกว่ามิฉะนั้นช่วงของค่าที่พยากรณ์อาจกว้างเกินไปและไม่มีประโยชน์

ทั้งนี้ อาจมีโอกาสเป็นอย่างมากที่การพยากรณ์จะผิดพลาดแบบ “100%” ดังนั้นระบบจึงต้องมีการใส่ค่าเปอร์เซนต์ความแปรปรวน (Variance %) ใน Cash Flow Setup เพื่อให้ระบุช่วงของความเบี่ยงเบนที่ยอมรับได้ในการพยากรณ์ ซึ่งส่วนใหญ่จะอยู่ในช่วง 20-40 เปอร์เซนต์ ซึ่งหากการพยากรณ์ที่เกิดขึ้นนอกช่วงที่ระบุ จะถือว่าไม่มีความน่าเชื่อถือเนื่องจากการพยากรณ์เริ่มนับจากวันที่ปัจจุบัน จึงจำเป็นต้องเรียงค่าผลลัพธ์ที่พยากรณ์ได้เก็บไว้ในระบบ เช่น รายการบัญชีแยกประเภทลูกค้าที่เปิดอยู่หรือคำสั่งขาย

ยกตัวอย่างให้เห็นง่ายๆ ดังภาพข้างล่างนี้

ในสองปีที่ผ่านมาคุณขายดินสอได้เฉลี่ย 10 ด้ามต่อเดือน ต่อมาในช่วงกลางเดือนมีคนถามคุณว่า “คุณจะขายดินสอในเดือนหน้าได้เท่าไหร่” ซึ่งถ้าหากพิจารณาจากข้อมูลในอดีตแล้ว คุณอาจตอบได้ว่า 10 ด้าม

ตอนนี้ลูกค้ามาถึงที่ร้านของคุณและต้องการสั่งซื้อดินสอ 6 ด้ามในเดือนหน้า คำสั่งซื้อนี้เปลี่ยนสิ่งที่คุณคาดว่าจะขายในเดือนหน้าหรือไม่ อาจจะไม่. คุณยังคงคาดหวังที่จะขายดินสอทั้งหมด 10 ด้าม แต่ตอนนี้คุณรู้แล้วว่า 6 ด้ามจะไปอยู่ที่ลูกค้ารายนั้น

Business Central Cash Flow Forecasts

เช่นเดียวกับรายได้และค่าใช้จ่าย หากคุณมีข้อมูลที่เชื่อถือได้เกี่ยวกับรายได้ในช่วงเวลาที่จะเกิดขึ้น เช่น มีคำสั่งซื้อเพิ่ม จำนวนเงินนั้นจะกลายเป็นยอดรายได้จริงและควรลบออกจากรายได้ที่พยากรณ์ไว้

ศึกษาเพิ่มเติมได้ที่: https://docs.microsoft.com/en-us/dynamics365/business-central/finance-analyze-cash-flow

Posted in Dynamics 365 Business Central.