ক্যাশ ফ্লো ডায়াগ্রাম ও কনভেনশন
এই পাঠে যা শিখবেন
- ক্যাশ ফ্লো ডায়াগ্রাম আঁকার ও পড়ার নিয়ম — টাইম অ্যাক্সিস, তীরের দিক, ও চিহ্ন কনভেনশন
- এন্ড-অফ-পিরিয়ড কনভেনশন কী এবং কেন এটি ইঞ্জিনিয়ারিং ইকোনমিক্সে মানক ধরে নেওয়া হয়
- বরোয়ার বনাম লেন্ডার ভিউপয়েন্ট কীভাবে ডায়াগ্রামের দিক পাল্টে দেয়
- Python দিয়ে একগুচ্ছ (year, amount) ক্যাশ ফ্লো থেকে বছরভিত্তিক নেট ক্যাশ ফ্লো টেবিল বানানো
১ · ক্যাশ ফ্লো ডায়াগ্রামের নিয়ম
একটি ক্যাশ ফ্লো ডায়াগ্রামCash Flow Diagramসময়ের সাথে অর্থের প্রাপ্তি ও ব্যয়কে একটি অনুভূমিক টাইমলাইনে ভিজ্যুয়ালি উপস্থাপন করার চিত্র। হলো একটি সরল কিন্তু অপরিহার্য টুল — এটি একটি লেনদেনের সব নগদ প্রবাহকে একনজরে দেখায়, যাতে ভুল হওয়ার সম্ভাবনা কমে। নিয়মগুলো সবসময় একই —
- অনুভূমিক অক্ষ = সময়: বাম থেকে ডানে ০ থেকে n পিরিয়ড পর্যন্ত সমান দূরত্বে চিহ্নিত থাকে (সাধারণত বছর)।
- ঊর্ধ্বমুখী তীর = ইনফ্লো (receipt): অর্থ প্রাপ্তি — যেমন আয়, সঞ্চয়, বিক্রয়মূল্য, ঋণ গ্রহণ।
- নিম্নমুখী তীর = আউটফ্লো (disbursement): অর্থ ব্যয় — যেমন বিনিয়োগ, খরচ, ঋণ পরিশোধ।
- তীরের দৈর্ঘ্য (আনুপাতিকভাবে) পরিমাণ বোঝায়: বড় অংকের ক্যাশ ফ্লো বড় তীর দিয়ে দেখানো ভালো অভ্যাস, যদিও সবসময় নিখুঁত স্কেলে আঁকা হয় না।
২ · এন্ড-অফ-পিরিয়ড কনভেনশন
বাস্তবে একটি পুরো বছর জুড়ে ধারাবাহিকভাবে আয় বা ব্যয় হতে থাকে — প্রতিদিন কিছু না কিছু লেনদেন ঘটে। কিন্তু হিসাব সহজ রাখতে ইঞ্জিনিয়ারিং ইকোনমিক্স একটি সরলীকরণ ধরে নেয় —
একটি পিরিয়ড (সাধারণত এক বছর)-এর মধ্যে ঘটা সব ক্যাশ ফ্লো — সেগুলো আসলে পিরিয়ডের যেকোনো দিন ঘটুক না কেন — হিসাবের সুবিধার্থে ধরে নেওয়া হয় সেই পিরিয়ডের শেষে একসাথে ঘটেছে। যেমন "বছর ৩"-এর সব আয়-ব্যয় একত্রে "বছরের শেষে" (year-end) ঘটেছে বলে গণ্য করা হয় — এটিই পরবর্তী মডিউলগুলোর সব সূত্রের (F=P(1+i)^n ইত্যাদি) ভিত্তি ধরে নেওয়া শর্ত।
৩ · ভিউপয়েন্ট গুরুত্বপূর্ণ — বরোয়ার বনাম লেন্ডার
একই লেনদেনের দুটো পক্ষ থাকলে (যেমন একটি ঋণ) — প্রতিটি পক্ষের ক্যাশ ফ্লো ডায়াগ্রাম একে অপরের বিপরীত, কারণ একজনের ইনফ্লো আরেকজনের আউটফ্লো।
বছর ০-এ ঋণ গ্রহণ = ইনফ্লো (ঊর্ধ্বমুখী তীর); পরবর্তী বছরগুলোতে কিস্তি পরিশোধ = আউটফ্লো (নিম্নমুখী তীর)।
একই লেনদেনে বছর ০-এ ঋণ প্রদান = আউটফ্লো; পরবর্তী বছরগুলোতে কিস্তি প্রাপ্তি = ইনফ্লো — ঠিক বরোয়ারের ডায়াগ্রামের আয়না-প্রতিবিম্ব।
ডায়াগ্রাম আঁকার আগে সবসময় স্পষ্ট করুন — "আমি কার দৃষ্টিকোণ থেকে এই ডায়াগ্রাম আঁকছি?" — একটি বিশ্লেষণের মধ্যে ভিউপয়েন্ট বদলানো চলবে না।
৪ · কোড: বছরভিত্তিক নেট ক্যাশ ফ্লো টেবিল
একই বছরে একাধিক ক্যাশ ফ্লো থাকতে পারে — যেমন বছর ৩-এ আয়ের পাশাপাশি রক্ষণাবেক্ষণ খরচও থাকতে পারে। নিচের
কোড সেলে (year, amount) জোড়ার একটি তালিকা থেকে প্রতিটি বছরের নেট ক্যাশ ফ্লো
বের করে একটি টেবিল ছাপানো হচ্ছে — ধনাত্মক নেট মানে ইনফ্লো, ঋণাত্মক নেট মানে আউটফ্লো।
# (year, amount) জোড়ার তালিকা থেকে বছরভিত্তিক নেট ক্যাশ ফ্লো টেবিল
# ধনাত্মক amount = inflow (প্রাপ্তি), ঋণাত্মক amount = outflow (ব্যয়)
flows = [
(0, -10000), # প্রাথমিক বিনিয়োগ
(1, 3000),
(2, 3000),
(3, 3000),
(3, -500), # বছর ৩-এ অতিরিক্ত রক্ষণাবেক্ষণ খরচ (একই বছরে দ্বিতীয় এন্ট্রি)
(4, 3000),
(5, 3000),
(5, 500), # বছর ৫-এ সালভেজ ভ্যালু (একই বছরে দ্বিতীয় এন্ট্রি)
]
# একই বছরের সব এন্ট্রি যোগ করে নেট ক্যাশ ফ্লো বের করা
net_by_year = {}
for year, amount in flows:
net_by_year[year] = net_by_year.get(year, 0) + amount
print(f"{'বছর':<6}{'নেট ক্যাশ ফ্লো':>18} দিক")
print("-" * 44)
total = 0
for year in sorted(net_by_year):
net = net_by_year[year]
total += net
if net > 0:
direction = "▲ inflow (প্রাপ্তি)"
elif net < 0:
direction = "▼ outflow (ব্যয়)"
else:
direction = "— (শূন্য)"
print(f"{year:<6}{net:>18,.0f} {direction}")
print("-" * 44)
print(f"{'সর্বমোট':<6}{total:>18,.0f}")
net_by_year.get(year, 0) + amount প্রতিটি বছরের সব এন্ট্রি যোগ করছে।
ক্যাশ ফ্লো ডায়াগ্রাম একটি লেনদেনের সব সময়-বিন্দুর আর্থিক প্রভাব একনজরে দেখানোর টুল — টাইম অ্যাক্সিস, তীরের দিক (ইনফ্লো/আউটফ্লো), এন্ড-অফ-পিরিয়ড কনভেনশন, এবং সঠিক ভিউপয়েন্ট বজায় রাখা এই ডায়াগ্রামের চারটি মূল ভিত্তি। M4-এ এই ডায়াগ্রামগুলোই PW/FW/AW বিশ্লেষণের কাঁচামাল হিসেবে ব্যবহৃত হবে।
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।
প্র ০১ এন্ড-অফ-পিরিয়ড কনভেনশন বাস্তবতার সাথে পুরোপুরি না মিললেও কেন ব্যবহার করা হয়?
কারণ প্রতিটি লেনদেনকে তার প্রকৃত তারিখে আলাদাভাবে হিসাব করা অত্যন্ত জটিল ও অবাস্তব হয়ে যেত। বছরের শেষে সব ক্যাশ ফ্লো একত্র করার সরলীকরণ সামান্য নির্ভুলতা ত্যাগ করে বিনিময়ে হিসাবকে ব্যবস্থাপনাযোগ্য করে তোলে — এবং এই সরলীকরণের প্রভাব সাধারণত ব্যবহারিক সিদ্ধান্তে নগণ্য।
প্র ০২ একটি ঋণচুক্তিতে ব্যাংক (lender) ও গ্রাহক (borrower)-এর ক্যাশ ফ্লো ডায়াগ্রাম কেন একে অপরের আয়না-প্রতিবিম্ব?
কারণ একই ডলার একদিকে ইনফ্লো হলে অন্যদিকে অগত্যা আউটফ্লো — ব্যাংক ঋণ দিলে তার জন্য এটি আউটফ্লো, গ্রাহকের জন্য একই টাকা ইনফ্লো। পরে কিস্তি পরিশোধের সময় উল্টো — গ্রাহকের আউটফ্লো ব্যাংকের ইনফ্লো। তাই তীরের দিক ঠিক উল্টে যায়, কিন্তু পরিমাণ একই থাকে।
প্র ০৩ উপরের কোড সেলে বছর ৩-এ যদি রক্ষণাবেক্ষণ খরচ $500-এর বদলে $3500 হতো, নেট ক্যাশ ফ্লোর দিক (direction) কী হতো?
তাহলে বছর ৩-এর নেট = $3,000 − $3,500 = −$500, অর্থাৎ ঋণাত্মক — কোডে net < 0 শর্ত সত্যি
হবে এবং সেই বছরটি "▼ outflow (ব্যয়)" হিসেবে দেখাবে, যদিও সেই বছরে একটি ইনফ্লো এন্ট্রিও ছিল। এটিই দেখায়
কেন "নেট" হিসাব করা জরুরি — শুধু একটি এন্ট্রি দেখে পুরো বছরের দিক বোঝা যায় না।
অনুশীলন
-
চিন্তা করুন: আপনি একটি গাড়ি কেনার জন্য ৩ বছর মেয়াদী ঋণ নিচ্ছেন। আপনার নিজের (borrower)
দৃষ্টিকোণ থেকে ক্যাশ ফ্লো ডায়াগ্রামে বছর ০ ও পরবর্তী বছরগুলোতে তীরগুলো কোন দিকে থাকবে?
বছর ০-এ ঋণ গ্রহণ আপনার জন্য একটি ইনফ্লো (ঊর্ধ্বমুখী তীর) — যদিও আপনি গাড়ি কেনায় সাথে সাথে খরচ করছেন, ঋণের ক্যাশ ফ্লো হিসেবে এটি প্রাপ্তি। পরবর্তী বছরগুলোতে (বছর ১, ২, ৩) প্রতিটি কিস্তি পরিশোধ আপনার জন্য আউটফ্লো (নিম্নমুখী তীর)।
-
পরীক্ষা করুন: উপরের কোড সেলে
flowsতালিকায় একটি নতুন এন্ট্রি(2, -1000)যোগ করুন এবং Run চেপে দেখুন বছর ২-এর নেট ক্যাশ ফ্লো ও তার দিক কীভাবে বদলায়।বছর ২-এর আগের নেট ছিল $3,000; নতুন এন্ট্রি যোগ করলে নেট হবে $3,000 − $1,000 = $2,000 — এখনও ধনাত্মক, তাই দিক অপরিবর্তিত থাকবে "▲ inflow", শুধু পরিমাণ কমে যাবে এবং সর্বমোটও $1,000 কমে $4,000 হয়ে যাবে।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- কোর্সের সম্পূর্ণ সিলেবাস দেখুন ৫৭টি পাঠ টাইম ভ্যালু অফ মানি, ক্যাশ ফ্লো সিরিজ, ওয়ার্থ-ভিত্তিক তুলনা, রেট অফ রিটার্ন, ডেপ্রিসিয়েশন, ট্যাক্স, ইনফ্লেশন, রিস্ক অ্যানালাইসিস ও ক্যাপিটাল বাজেটিং — সব ৫৭টি পাঠ।
- Discrete Mathematics কোর্স সহোদর কোর্স সিকোয়েন্স ও সিরিজ অধ্যায় — এই কোর্সের ক্যাশ ফ্লো সিরিজ (M3) বিশ্লেষণের গাণিতিক ভিত্তি সেই কোর্সেই তৈরি হয়েছে।
- সব Courses দেখুন ABCL TECH C, C++, Python, Java, JavaScript, DSA, DBMS, Discrete Mathematics, System Design, Cybersecurity, Cloud Computing & DevOps, Computer Networks, Operating Systems, Computer Architecture, Programming Languages & Compiler Design, Software Engineering & Git, Theory of Computation ও Engineering Economics — সব এক জায়গায়।