Trong phần này sẽ giới thiệu công cụ mô phỏng @Risk, được phát triển bới tập đoàn Palisade. Ưu điểm của việc sử dụng add-in là: Thứ nhất, một add-in cung cấp chức năng nhiều hơn so với gọi Excel cơ bản; Thứ hai, một add-in cho phép ta thực hiện mô phỏng dễ dàng hơn nhiều so với Excel. Với các ví dụ ở trên, ta thường sử dụng bảng dữ liệu excel để nhân rộng mô phỏng. Sau đó phải tính toán số liệu thống kê tổng hợp như giá trị trung bình, độ lệch chuẩn và khoảng tin cậy với hàm Built-in của excel. Nếu muốn có các đồ thị để tăng khả năng phân tích thì cần tạo ra chúng. Giải quyết dạng bài toán mô phỏng này sẽ hiệu quả hơn nếu ta sử dụng công cụ chuyên dụng như @Risk, @Risk sẽ thực hiện các bước điển hình của mô phỏng một cách tự động.
@Risk được phát triển vào năm 1984, sản phẩm đầu tiên của Palisade mang tên Prims, sản phẩm này dành cho người sử dụng máy tính có khả năng để định lượng rủi ro bằng cách chạy các mô phỏng Monte Carlo. Năm 1987, Prism mang lại thành công lớn nhờ công cụ @Risk dành cho Lotus 1-2-3, @Risk là công cụ mô phỏng đầu tiên trên thế giới được add-in vào bảng tính. Ngày nay, @Risk đã trở thành công cụ hàng đầu trong lĩnh vực dự báo, phân tích các nguy cơ rủi ro cho doanh nghiệp, các tổ chức chính phủ….@Risk có thể giúp ta trả lời các câu hỏi như “Liệu ta có thiếu hụt ngân sách nếu ta xây dựng công trình này?” hay “Khả năng của dự án này kết thúc đúng thời hạn là bao nhiêu?” hoặc “Khả năng ta đạt được mức lợi nhuận của dự án này là bao nhiêu?”. Với công cụ @Risk, ta sẽ trở thành người ra quyết định chính xác, hiệu quả và tự tin hơn.
Để thực hiện mô phỏng tin học, ngoài công cụ @Risk, trên thế giới cũng phổ biến với phần mềm mô phỏng của Crystal Ball, Crystal Ball là một chương trình phân tích rủi ro và dự báo với giao diện người dùng khá thân thiện và dễ sử dụng. Crystal Ball sử dụng các đồ thị trong phân tích và minh họa các báo cáo nhằm giúp loại trừ các yếu tố bất định khi ra quyết định.
Thông qua sức mạnh mô phỏng, Crystal Ball cũng như @Risk đã trở thành công cụ hiệu quả cho những người ra quyết định.
Để sử dụng Crystal Ball, tương tự như @Risk, ta chỉ cần tạo một bảng tính mới và lập mô hình bài toán trên đó, tiếp theo thực hiện một số khai báo các thông số cho chương trình và bắt đầu mô phỏng. Kỹ thuật mô phỏng này gọi là
mô phỏng Monte Carlo, Crystal Ball sẽ dự báo toàn bộ dãy kết quả có thể của một tình huống cho trước và đồng thời cung cấp thêm các thông tin về mức tin cậy của dự báo đó, do đó ta có thể dự đoán được khả năng xuất hiện của một sự kiện nào đó.
Ngoài ra còn có các phần mềm mô phỏng khác như Hyperworks, Solar System 3D Simulator… được sử dụng tùy thuộc vào đặc điểm công việc cần mô phỏng.
Một số hàm của @Risk:
1. @Risk gồm một số chức năng như Risknormal và Riskdiscrete làm thuận lợi trong việc tạo ra những quan sát từ phân phối xác suất phù hợp nhất như được thực hiện trong các ví dụ 2.1 đến 2.3.
2. Với @Risk, ta có thể chỉ định bất kỳ ô hoặc vùng đầu ra trong mô hình mô phỏng. Khi thực hiện mô phỏng, @Risk tự động lưu trữ số liệu thống kê (độ lệch chuẩn và trung bình) trên các giá trị được tạo ra trong các ô xuất dữ liệu đó trong suốt những lần lặp. @Risk tự động tạo ra các đồ thị, biểu đồ tự động dựa trên các giá trị này.
3. @Risk có một chức năng đặc biệt là RiskSimTable, chức năng này cho phép người làm mô phỏng thực hiện mô phỏng nhiều lần trên tập giá trị khác nhau của một vài đầu vào chủ yếu mỗi khi thực hiện. Ví dụ, giả sử rằng, ta muốn mô phỏng một chính sách đặt hàng (như trong ví dụ đặt hàng của Công ty Sách thiết bị trường học Hà Tĩnh, ví dụ 2.1). Mục đích cuối cùng của ta là so sánh kết quả mô phỏng trên một số số lượng đặt hàng có thể như là 1100, 1150, 1200 và 1250. Nếu ta sử dụng công thức mô phỏng toàn bộ sẽ thực hiện cho từng số lượng đặt hàng riêng biệt. Sau đó ta có thể so sánh đầu ra của chúng để lựa chọn số lượng đặt hàng tốt nhất.
Trong phần tiếp theo, chúng ta sẽ thực hiện một số ví dụ để minh họa một số chức năng của @Risk. Sau đó sẽ sử dụng @Risk để giải quyết các ứng dụng mô phỏng này.
Ví dụ 2.4. Minh họa ứng dụng @Risk trong mô phỏng
Công ty ACC muốn phát triển một báo cáo thu thập dự kiến hàng tháng cho năm tới. Tuy nhiên, công ty ACC nhận ra nhiều đầu vào cần thiết để hình thành báo cáo thu thập này là một bài toán dự báo. Do đó, muốn sử dụng @Risk để biểu thị số liệu cho báo cáo thu nhập này, chẳng hạn như thu nhập ròng hàng năm sau thuế…. Để có thể ứng dụng @Risk cho bài toán này, chúng ta xây dựng bảng mô hình như sau:
(Trong ví dụ này, giá trị tiền tệ được tính ngàn USD)
a) Bán hàng tháng một được phân phối bình thường ở mức 2225 và lệch chuẩn 150
* Chi phí của hàng hóa trong tháng một được phân phối đồng đều từ 870 đến 910.
* Chi phí maketing trong tháng một được phân phối tam giác với giá trị tối thiểu là 90, nhiều khả năng là 93 và tối đa là 96.
* Chi phí hành chính trong tháng một được phân phối tam giác với giá trị tối thiểu là 75, nhiều khả năng là 78 và tối đa là 81.
* Chi phí khác trong tháng một được phân phối tam giác với giá trị tối thiểu là 23, nhiều khả năng là 24 và tối đa là 25.
* Các mức thuế được tính là 33%
* Những thay đổi tỷ lệ phần trăm doanh số bán hàng hàng tháng và chi phí được độc lập với nhau và được phân phối bình thường ở mức 1,5% và lệch chuẩn là 1%.
Yêu cầu: Với số liệu đầu vào ở trên, sử dụng mô phỏng @Risk để phân tích và mô phỏng một báo cáo thu nhận dự kiến hàng tháng cho năm tới của công ty ACC.
Giải pháp
Mô hình bảng tính trong hình 2.14 cho thấy báo cáo thu nhập ước tính của công ty ACC cho 12 tháng tới (file Acc.xls). Các đầu vào được thể hiện ở phía trên cùng của bảng tính bao gồm doanh thu ước tính và chi phí cho tháng một, thueeus suất của công ty và dự kiến thay đổi tỷ lệ phần trăm doanh số và chi phí. Ví dụ, sự thay đổi tỷ lệ phần trăm tháng một về doanh số (tại ô B13) là sự thay đổi tỷ lệ phần trăm từ tháng một đến tháng hai. Phần còn lại của bảng tính trong báo cáo thu nhập được sử dụng công thức Excel chuẩn tham chiếu các ô đầu vào, cụ thể, xác định doanh thu, chi phí bán hàng cho các tháng và tổng lợi nhuận cũng như chi phí tiếp thị, chi phí quản lý và các chi phí khác trong bảng mô hình 2.14.
Với dữ liệu đầu vào như trên, chúng ta thực hiện mô phỏng để đưa ra báo cáo thu nhập hàng tháng của công ty ACC như sau:
Xây dựng mô hình bảng tính đầu vào. Sự khác biệt chủ yếu giữa bảng tính này và loại bảng tính thông thường là phân phối xác suất đã được đưa vào một số ô đầu vào. Chúng ta nhập vào phân phối xác suất cụ thể trong một ô bằng cách sử dụng một số hàm của @Risk trong ô đó. Cụ thể, các hàm RiskNormal, RiskUniform và RiskTriang như trong ví dụ hình 2.14.
1. Doanh thu. Nhập vào phân phối doanh số tháng một với công thức RiskNormal (2225 ; 150)
2. Chi phí hàng hóa. Nhập vào chi phí hàng hóa cho tháng một với công thức RiskUniform(870 ;910)
3. Chi phí marketing. Nhập vào phân phối chi phí marketing cho tháng một với công thức Risktriang (90;93;96)
4. Chi phí quản lý. Nhập vào chi phí quản lý cho tháng một với công thức RiskTriang(75;78;81)
5. Các chi phí khác. Nhập vào chi phí khác của tháng một với công thức RiskTriang (23;24;25)
6. Thuế. Thuế suất không biến đổi, nhập giá trị thuế 33%
7. Tỷ lệ % thay đổi hàng tháng. Tạo tỷ lệ phần trăm thay đổi hàng tháng, xác định giá trị này bởi công thức RiskNormal (0,015;0,01).
Mặc dầu tất cả các ô trong vùng này đều có phân phối xác suất giống nhau, các giá trị riêng của chúng sẽ được tạo ra độc lập trên mỗi lần lặp. Do đó, sự gia tăng tỷ lệ phần trăm sẽ khác nhau.
Như vậy, mô hình bài toán đã được thiết kế tại bảng tính Acc.xls (hình 2.14). Chương trình @Risk chính thức theo dõi các công thức nhập vào, nó cho thấy ý nghĩa của sự phân phối này trong các ô đầu vào và sau đó cho các kết quả đầu ra dựa vào ý nghĩa của dữ liệu đầu vào. Các kết quả đầu ra thể hiện trong bảng mô hình phản ảnh một tập hợp giá trị đầu vào. Tuy nhiên, khi @Risk thực hiện mô phỏng nhiều giá trị khác nhau cho các đầu vào và tính toán kết quả đầu ra tương ứng cho mỗi tập hợp các giá trị đầu vào này.
Mô phỏng bởi công cụ @Risk. Sau khi thiết kế xong bảng mô hình và các công thức liên quan đến kết quả đầu ra, các bước thực hiện mô phỏng với @Risk như sau:
1. Xác định ô đầu ra. Xác định một ô hoặc một vùng ô đầu ra, với ví dụ này,
ô đầu ra là N35 (thu nhập hàng năm sau thuế) và vùng đầu ra B36:M36 (tích lũy thu nhập ròng hàng tháng sau thuế). Như mô phỏng tiến trình, @Risk tự động theo dõi những giá trị trong các vùng đầu ra. Để @Risk hiểu các ô này như là các ô đầu ra cần kích hoạt chức năng RiskOutput() cho các ô này (chức năng Add Output trên thanh công cụ @Risk).
2. Chỉ định thiết lập mô phỏng. Thiết lập mô phòng với số lần lặp 1000 (lựa
chọn #Iteration). Với @Risk có nhiều sự lựa chọn thiết lập ở giai đoạn này, trong nghiên cứu của luận văn, tất cả các thiết lập để ở chế độ mặc định của @Risk.
3. Thực hiện mô phỏng. Thực hiện mô phỏng thông qua nút lệnh Start Simulation. Khi mô phỏng thực hiện xong, một cửa sổ Summary Statistics và một danh sách Explorer-like bên trái của tất cả các đầu vào và đầu ra trong mô hình (hình 2.15).
* Kết quả thu được từ mô phỏng cho thấy bảng thống kê tóm tắt giữa các ô đầu ra và các ô đầu vào chứa các phân phối ngẫu nhiên. Ví dụ chúng ta thấy rằng giá trị trung bình của thu nhập ròng sau thuế (trung bình trên 1000 lần mô phỏng) là 9959,85. Giá trị tối thiểu thu được trong bất kỳ lần mô phỏng là 6155,4 và giá trị tối đa là 14633,63.
* Để biết bảng thống kê chi tiết, chọn mục Detailed Statics, màn hình mô phỏng xuất hiện một cửa sổ (hình 2.16). Ví dụ, độ lệch chuẩn của lợi tức ròng sau thuế tại ô N35 là 1.353 USD. Tương tự, lần thứ 5 là 7776, lần thứ 50 là 9999 và lần thứ 95 là 12.228 (hình 2.16). Lần mô phỏng thứ 50 cho kết quả trung bình, có nghĩa là một nửa của giá trị lợi tức ròng mô phỏng là nhỏ hơn và một
Hình 2.16. Chi tiết kết quả mô phỏng của công ty ACC Hình 2.15. Tóm tắt kết quả mô phỏng của công ty ACC
nữa là lớn hơn giá trị này. Những kết quả này là căn cứ để ước tính các trường hợp tốt nhất và xấu nhất có khả năng xảy ra với công ty cho năm sản xuất kinh doanh mới.
Để xem biểu đồ thu nhập ròng sau thuế, kích chuột phải vào ô đầu ra N35 trong danh sách các đầu ra ở màn hình trái, chọn mục Histogram, biểu đồ như hình 2.17 xuất hiện. Biểu đồ này cho thấy một phân phối hình chuông xung quanh giá trị trung bình của mô phỏng.
* Nếu chúng ta xác định một vùng đâu ra như B36:M36, theo dõi sự biến động đầu ra này theo thời gian thông qua biểu đồ tóm tắt biểu diễn hành vi chuỗi thời gian. Thực hiện vấn đề này, chọn chức năng Summary Graph (hình 2.18).
Trong biểu đồ minh họa này di chuyển từ trái sang phải, đường trung tâm trong Hình 2.17. Biểu đồ thu nhập ròng sau thuế
CumNetIncome (B36 to M36) In T h o u s a n d s 0 2 4 6 8 10 12 14 B36 C36 D36 E36 F36 G36 H36 I36 J36 K36 L36 M36 Cell: =Mean,+1/-1SD =+95%,-5%
@RISK Student Version For Academic Use Only
biểu đồ là giá trị trung bình cho mỗi tháng. Dải bao quanh đường trung tâm này mở rộng đến một độ lệch chuẩn hai bên của đường trung bình. Các dải ngoài cùng mở rộng tới 5% và 95%. Đồ thị này cho thấy xu hướng tăng của thu nhập ròng tích lũy và nó cũng cho thấy sự không chắc chắn tăng lên cho nhiều tháng được bao gồm trong giá trị tích lũy.