পাঠ ০৩ · ৫৭-এর মধ্যে · মডিউল ১
Home / Courses / Engineering Economics / ক্যাশ ফ্লো ডায়াগ্রাম

ক্যাশ ফ্লো ডায়াগ্রাম ও কনভেনশন

Cash flow diagrams & conventions
৮ মিনিট পড়া শুরু · Beginner Python কোডসহ সম্পূর্ণ বাংলায়

এই পাঠে যা শিখবেন

  • ক্যাশ ফ্লো ডায়াগ্রাম আঁকার ও পড়ার নিয়ম — টাইম অ্যাক্সিস, তীরের দিক, ও চিহ্ন কনভেনশন
  • এন্ড-অফ-পিরিয়ড কনভেনশন কী এবং কেন এটি ইঞ্জিনিয়ারিং ইকোনমিক্সে মানক ধরে নেওয়া হয়
  • বরোয়ার বনাম লেন্ডার ভিউপয়েন্ট কীভাবে ডায়াগ্রামের দিক পাল্টে দেয়
  • Python দিয়ে একগুচ্ছ (year, amount) ক্যাশ ফ্লো থেকে বছরভিত্তিক নেট ক্যাশ ফ্লো টেবিল বানানো

১ · ক্যাশ ফ্লো ডায়াগ্রামের নিয়ম

একটি ক্যাশ ফ্লো ডায়াগ্রামCash Flow Diagramসময়ের সাথে অর্থের প্রাপ্তি ও ব্যয়কে একটি অনুভূমিক টাইমলাইনে ভিজ্যুয়ালি উপস্থাপন করার চিত্র। হলো একটি সরল কিন্তু অপরিহার্য টুল — এটি একটি লেনদেনের সব নগদ প্রবাহকে একনজরে দেখায়, যাতে ভুল হওয়ার সম্ভাবনা কমে। নিয়মগুলো সবসময় একই —

  • অনুভূমিক অক্ষ = সময়: বাম থেকে ডানে ০ থেকে n পিরিয়ড পর্যন্ত সমান দূরত্বে চিহ্নিত থাকে (সাধারণত বছর)।
  • ঊর্ধ্বমুখী তীর = ইনফ্লো (receipt): অর্থ প্রাপ্তি — যেমন আয়, সঞ্চয়, বিক্রয়মূল্য, ঋণ গ্রহণ।
  • নিম্নমুখী তীর = আউটফ্লো (disbursement): অর্থ ব্যয় — যেমন বিনিয়োগ, খরচ, ঋণ পরিশোধ।
  • তীরের দৈর্ঘ্য (আনুপাতিকভাবে) পরিমাণ বোঝায়: বড় অংকের ক্যাশ ফ্লো বড় তীর দিয়ে দেখানো ভালো অভ্যাস, যদিও সবসময় নিখুঁত স্কেলে আঁকা হয় না।
সময় (বছর) → ০ ১ ২ ৩ ৪ ৫ $10,000 বিনিয়োগ (outflow) $3,000 $3,000 $3,000 $3,000 $3,000
একটি প্রকল্পে বছর ০-এ $10,000 বিনিয়োগ (নিম্নমুখী তীর = আউটফ্লো), এবং বছর ১ থেকে ৫ পর্যন্ত প্রতি বছর $3,000 আয় (ঊর্ধ্বমুখী তীর = ইনফ্লো)।

২ · এন্ড-অফ-পিরিয়ড কনভেনশন

বাস্তবে একটি পুরো বছর জুড়ে ধারাবাহিকভাবে আয় বা ব্যয় হতে থাকে — প্রতিদিন কিছু না কিছু লেনদেন ঘটে। কিন্তু হিসাব সহজ রাখতে ইঞ্জিনিয়ারিং ইকোনমিক্স একটি সরলীকরণ ধরে নেয় —

এন্ড-অফ-পিরিয়ড কনভেনশন

একটি পিরিয়ড (সাধারণত এক বছর)-এর মধ্যে ঘটা সব ক্যাশ ফ্লো — সেগুলো আসলে পিরিয়ডের যেকোনো দিন ঘটুক না কেন — হিসাবের সুবিধার্থে ধরে নেওয়া হয় সেই পিরিয়ডের শেষে একসাথে ঘটেছে। যেমন "বছর ৩"-এর সব আয়-ব্যয় একত্রে "বছরের শেষে" (year-end) ঘটেছে বলে গণ্য করা হয় — এটিই পরবর্তী মডিউলগুলোর সব সূত্রের (F=P(1+i)^n ইত্যাদি) ভিত্তি ধরে নেওয়া শর্ত।

৩ · ভিউপয়েন্ট গুরুত্বপূর্ণ — বরোয়ার বনাম লেন্ডার

একই লেনদেনের দুটো পক্ষ থাকলে (যেমন একটি ঋণ) — প্রতিটি পক্ষের ক্যাশ ফ্লো ডায়াগ্রাম একে অপরের বিপরীত, কারণ একজনের ইনফ্লো আরেকজনের আউটফ্লো।

ঋণগ্রহীতা (Borrower)
বছর ০-এ ঋণ গ্রহণ = ইনফ্লো (ঊর্ধ্বমুখী তীর); পরবর্তী বছরগুলোতে কিস্তি পরিশোধ = আউটফ্লো (নিম্নমুখী তীর)।
ঋণদাতা (Lender)
একই লেনদেনে বছর ০-এ ঋণ প্রদান = আউটফ্লো; পরবর্তী বছরগুলোতে কিস্তি প্রাপ্তি = ইনফ্লো — ঠিক বরোয়ারের ডায়াগ্রামের আয়না-প্রতিবিম্ব।
নিয়ম
ডায়াগ্রাম আঁকার আগে সবসময় স্পষ্ট করুন — "আমি কার দৃষ্টিকোণ থেকে এই ডায়াগ্রাম আঁকছি?" — একটি বিশ্লেষণের মধ্যে ভিউপয়েন্ট বদলানো চলবে না।

৪ · কোড: বছরভিত্তিক নেট ক্যাশ ফ্লো টেবিল

একই বছরে একাধিক ক্যাশ ফ্লো থাকতে পারে — যেমন বছর ৩-এ আয়ের পাশাপাশি রক্ষণাবেক্ষণ খরচও থাকতে পারে। নিচের কোড সেলে (year, amount) জোড়ার একটি তালিকা থেকে প্রতিটি বছরের নেট ক্যাশ ফ্লো বের করে একটি টেবিল ছাপানো হচ্ছে — ধনাত্মক নেট মানে ইনফ্লো, ঋণাত্মক নেট মানে আউটফ্লো।

Python
# (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}")

    
হাতে যাচাই করা যাক — বছর ৩-এর নেট = $3,000 − $500 = $2,500, বছর ৫-এর নেট = $3,000 + $500 = $3,500। সর্বমোট = −$10,000 + $3,000 + $3,000 + $2,500 + $3,000 + $3,500 = $5,000। কোডটি ঠিক এই সংখ্যাগুলোই বের করবে, কারণ net_by_year.get(year, 0) + amount প্রতিটি বছরের সব এন্ট্রি যোগ করছে।
মূল কথা · Key takeaway

ক্যাশ ফ্লো ডায়াগ্রাম একটি লেনদেনের সব সময়-বিন্দুর আর্থিক প্রভাব একনজরে দেখানোর টুল — টাইম অ্যাক্সিস, তীরের দিক (ইনফ্লো/আউটফ্লো), এন্ড-অফ-পিরিয়ড কনভেনশন, এবং সঠিক ভিউপয়েন্ট বজায় রাখা এই ডায়াগ্রামের চারটি মূল ভিত্তি। M4-এ এই ডায়াগ্রামগুলোই PW/FW/AW বিশ্লেষণের কাঁচামাল হিসেবে ব্যবহৃত হবে।

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।

প্র ০১ এন্ড-অফ-পিরিয়ড কনভেনশন বাস্তবতার সাথে পুরোপুরি না মিললেও কেন ব্যবহার করা হয়?

কারণ প্রতিটি লেনদেনকে তার প্রকৃত তারিখে আলাদাভাবে হিসাব করা অত্যন্ত জটিল ও অবাস্তব হয়ে যেত। বছরের শেষে সব ক্যাশ ফ্লো একত্র করার সরলীকরণ সামান্য নির্ভুলতা ত্যাগ করে বিনিময়ে হিসাবকে ব্যবস্থাপনাযোগ্য করে তোলে — এবং এই সরলীকরণের প্রভাব সাধারণত ব্যবহারিক সিদ্ধান্তে নগণ্য।

প্র ০২ একটি ঋণচুক্তিতে ব্যাংক (lender) ও গ্রাহক (borrower)-এর ক্যাশ ফ্লো ডায়াগ্রাম কেন একে অপরের আয়না-প্রতিবিম্ব?

কারণ একই ডলার একদিকে ইনফ্লো হলে অন্যদিকে অগত্যা আউটফ্লো — ব্যাংক ঋণ দিলে তার জন্য এটি আউটফ্লো, গ্রাহকের জন্য একই টাকা ইনফ্লো। পরে কিস্তি পরিশোধের সময় উল্টো — গ্রাহকের আউটফ্লো ব্যাংকের ইনফ্লো। তাই তীরের দিক ঠিক উল্টে যায়, কিন্তু পরিমাণ একই থাকে।

প্র ০৩ উপরের কোড সেলে বছর ৩-এ যদি রক্ষণাবেক্ষণ খরচ $500-এর বদলে $3500 হতো, নেট ক্যাশ ফ্লোর দিক (direction) কী হতো?

তাহলে বছর ৩-এর নেট = $3,000 − $3,500 = −$500, অর্থাৎ ঋণাত্মক — কোডে net < 0 শর্ত সত্যি হবে এবং সেই বছরটি "▼ outflow (ব্যয়)" হিসেবে দেখাবে, যদিও সেই বছরে একটি ইনফ্লো এন্ট্রিও ছিল। এটিই দেখায় কেন "নেট" হিসাব করা জরুরি — শুধু একটি এন্ট্রি দেখে পুরো বছরের দিক বোঝা যায় না।

অনুশীলন

  1. চিন্তা করুন: আপনি একটি গাড়ি কেনার জন্য ৩ বছর মেয়াদী ঋণ নিচ্ছেন। আপনার নিজের (borrower) দৃষ্টিকোণ থেকে ক্যাশ ফ্লো ডায়াগ্রামে বছর ০ ও পরবর্তী বছরগুলোতে তীরগুলো কোন দিকে থাকবে?

    বছর ০-এ ঋণ গ্রহণ আপনার জন্য একটি ইনফ্লো (ঊর্ধ্বমুখী তীর) — যদিও আপনি গাড়ি কেনায় সাথে সাথে খরচ করছেন, ঋণের ক্যাশ ফ্লো হিসেবে এটি প্রাপ্তি। পরবর্তী বছরগুলোতে (বছর ১, ২, ৩) প্রতিটি কিস্তি পরিশোধ আপনার জন্য আউটফ্লো (নিম্নমুখী তীর)।

  2. পরীক্ষা করুন: উপরের কোড সেলে 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 — সব এক জায়গায়।
আগের পাঠ
ইঞ্জিনিয়ারিং ইকোনমিক ডিসিশন-মেকিং প্রসেস