অসম জীবনকালের অল্টারনেটিভ তুলনা
এই পাঠে যা শিখবেন
- কেন অসম-লাইফ অল্টারনেটিভে সরাসরি PW তুলনা অন্যায্য
- LCM পদ্ধতি — ক্যাশ ফ্লো রিপিট করে সাধারণ স্টাডি পিরিয়ডে PW তুলনা
- AW পদ্ধতি — লাইফ-নিরপেক্ষ সরাসরি তুলনা, "রিপিটেবিলিটি" অনুমানসহ
- Python দিয়ে দুটো পদ্ধতি বাস্তবায়ন করে সংখ্যাগতভাবে যাচাই করা যে উভয়ে একই র্যাঙ্কিং দেয়
১ · সমস্যাটা কী
L15-এ আমরা ধরে নিয়েছিলাম দুই অল্টারনেটিভেরই লাইফ সমান (৬ বছর) — তাই সরাসরি PW তুলনা ন্যায্য ছিল। কিন্তু বাস্তবে দুটো মিউচুয়ালি এক্সক্লুসিভ অল্টারনেটিভের লাইফ প্রায়ই ভিন্ন হয় — একটি সস্তা মেশিন ৩ বছর টেকে, আরেকটি দামি মেশিন ৪ বছর। যদি সরাসরি PW তুলনা করা হয়, দীর্ঘ-লাইফ অল্টারনেটিভ অন্যায্য সুবিধা পায় — কারণ সে বেশি বছর ধরে আয় জমাতে পারছে। ন্যায্য তুলনার জন্য দুটো প্রমাণিত কৌশল আছে।
দুই লাইফের লসাগু পর্যন্ত প্রতিটি অল্টারনেটিভ পুনরাবৃত্তি করে সমান দৈর্ঘ্যের স্টাডি পিরিয়ডে PW তুলনা।
প্রতিটি অল্টারনেটিভের নিজস্ব লাইফেই AW গণনা — লাইফ-নিরপেক্ষ, LCM খোঁজার দরকার নেই।
২ · LCM পদ্ধতি
এই পদ্ধতিতে ধরে নেওয়া হয় প্রতিটি অল্টারনেটিভ তার নিজের লাইফ শেষ হওয়ার সাথে সাথেই ঠিক একই শর্তে (একই খরচ, একই আয়) পুনরাবৃত্ত হবে, যতক্ষণ না দুটো অল্টারনেটিভই একটি সাধারণ সময়-বিন্দুতে একসাথে শেষ হয় — অর্থাৎ দুই লাইফের লসাগু (LCM) পর্যন্ত। যেমন ৩ ও ৪ বছরের লাইফের জন্য LCM(3,4) = 12 বছর — ৩-বছরের অল্টারনেটিভ ৪ বার, আর ৪-বছরের অল্টারনেটিভ ৩ বার পুনরাবৃত্ত হয়ে উভয়েই ঠিক ১২ বছরে শেষ হবে।
৩ · AW পদ্ধতি
L17-এ দেখা গেছে AW জীবনকাল-নিরপেক্ষভাবে তুলনাযোগ্য, কারণ AW প্রতি বছরের সমতুল্য মূল্য প্রকাশ করে — এবং যদি "রিপিটেবিলিটি" অনুমান বৈধ হয় (প্রতিটি অল্টারনেটিভ তার নিজের লাইফ শেষে একই শর্তে পুনরাবৃত্ত হতে থাকবে, অনির্দিষ্টকাল ধরে), তাহলে প্রতিটি অল্টারনেটিভের নিজস্ব লাইফেই গণনা করা AW সরাসরি তুলনাযোগ্য — কোনো সাধারণ স্টাডি পিরিয়ড খোঁজার দরকার নেই।
৪ · উদাহরণ — দুই ভিন্ন-লাইফের অল্টারনেটিভ
ধরা যাক MARR = ১০%, এবং:
- অল্টারনেটিভ X: লাইফ ৩ বছর, প্রাথমিক খরচ $20,000, বার্ষিক নিট বেনিফিট $9,000
- অল্টারনেটিভ Y: লাইফ ৪ বছর, প্রাথমিক খরচ $28,000, বার্ষিক নিট বেনিফিট $9,500
নিচের কোড সেলে প্রথমে AW সরাসরি (নিজস্ব লাইফে) গণনা করা হয়েছে, তারপর LCM(3,4)=12 বছর পর্যন্ত ক্যাশ ফ্লো পুনরাবৃত্তি করে PW তুলনা করে দেখানো হয়েছে দুই পদ্ধতির র্যাঙ্কিং একই।
import math
# P/A ও A/P ফ্যাক্টর -- M3-এ প্রতিষ্ঠিত
def pa_factor(i, n):
return ((1 + i) ** n - 1) / (i * (1 + i) ** n)
def ap_factor(i, n):
return (i * (1 + i) ** n) / ((1 + i) ** n - 1)
def present_worth(cost, revenue, i, n):
return -cost + revenue * pa_factor(i, n)
def annual_worth(cost, revenue, i, n):
return present_worth(cost, revenue, i, n) * ap_factor(i, n)
i = 0.10
cost_X, revenue_X, life_X = 20000, 9000, 3
cost_Y, revenue_Y, life_Y = 28000, 9500, 4
# --- পদ্ধতি ১: সরাসরি AW, প্রতিটি অল্টারনেটিভের নিজস্ব লাইফে (জীবনকাল-নিরপেক্ষ) ---
AW_X = annual_worth(cost_X, revenue_X, i, life_X)
AW_Y = annual_worth(cost_Y, revenue_Y, i, life_Y)
print("পদ্ধতি ১ -- সরাসরি AW (নিজস্ব লাইফে, রিপিটেবিলিটি ধরে নিয়ে)")
print(f"AW_X (৩ বছরের লাইফে) = ${AW_X:,.2f}")
print(f"AW_Y (৪ বছরের লাইফে) = ${AW_Y:,.2f}")
winner_aw = "X" if AW_X > AW_Y else "Y"
print(f"AW পদ্ধতিতে বিজয়ী: অল্টারনেটিভ {winner_aw}")
# --- পদ্ধতি ২: LCM পর্যন্ত ক্যাশ ফ্লো পুনরাবৃত্তি করে PW তুলনা ---
lcm = life_X * life_Y // math.gcd(life_X, life_Y)
def lcm_present_worth(cost, revenue, life, i, horizon):
cycles = horizon // life
pw = 0.0
for c in range(cycles):
start = c * life
pw += -cost / (1 + i) ** start # প্রতি চক্রের শুরুতে প্রাথমিক খরচ (পুনর্বিনিয়োগ)
for t in range(1, life + 1):
pw += revenue / (1 + i) ** (start + t) # প্রতি বছরের বার্ষিক আয়
return pw
PW_X_lcm = lcm_present_worth(cost_X, revenue_X, life_X, i, lcm)
PW_Y_lcm = lcm_present_worth(cost_Y, revenue_Y, life_Y, i, lcm)
print(f"\nপদ্ধতি ২ -- LCM({life_X}, {life_Y}) = {lcm} বছর পর্যন্ত ক্যাশ ফ্লো রিপিট করে PW")
print(f"অল্টারনেটিভ X {lcm // life_X} বার পুনরাবৃত্ত হয়ে {lcm} বছরে PW_X = ${PW_X_lcm:,.2f}")
print(f"অল্টারনেটিভ Y {lcm // life_Y} বার পুনরাবৃত্ত হয়ে {lcm} বছরে PW_Y = ${PW_Y_lcm:,.2f}")
winner_lcm = "X" if PW_X_lcm > PW_Y_lcm else "Y"
print(f"LCM-PW পদ্ধতিতে বিজয়ী: অল্টারনেটিভ {winner_lcm}")
print(f"\nদুই পদ্ধতির র্যাঙ্কিং মিলেছে? {winner_aw == winner_lcm}")
# ক্রস-চেক: LCM-PW সবসময় AW x P/A(i, lcm)-এর সমান হওয়া উচিত (যেহেতু AW লাইফ-নিরপেক্ষ সমতুল্য মূল্য)
pa_lcm = pa_factor(i, lcm)
print(f"\nক্রস-চেক: AW_X x P/A(i,{lcm}) = {AW_X:,.2f} x {pa_lcm:.6f} = ${AW_X * pa_lcm:,.2f} (তুলনা করুন PW_X উপরের সাথে)")
print(f"ক্রস-চেক: AW_Y x P/A(i,{lcm}) = {AW_Y:,.2f} x {pa_lcm:.6f} = ${AW_Y * pa_lcm:,.2f} (তুলনা করুন PW_Y উপরের সাথে)")
অসম-লাইফ অল্টারনেটিভ তুলনায় সরাসরি PW ব্যবহার করা যায় না — হয় LCM পর্যন্ত ক্যাশ ফ্লো রিপিট করে সাধারণ স্টাডি পিরিয়ডে PW তুলনা করতে হয়, নয়তো রিপিটেবিলিটি ধরে নিয়ে সরাসরি AW তুলনা করতে হয়। দুটো পদ্ধতি গাণিতিকভাবে সমতুল্য এবং সবসময় একই সিদ্ধান্তে পৌঁছায় — ব্যবহারিকভাবে AW-ই সহজ পথ, কারণ তাতে LCM খোঁজার প্রয়োজন নেই।
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।
প্র ০১ "রিপিটেবিলিটি" অনুমান কখন অবাস্তব হতে পারে?
যখন প্রযুক্তি দ্রুত বদলে যাচ্ছে (যেমন কম্পিউটার হার্ডওয়্যার), বা ভবিষ্যতে ঠিক একই দামে একই মেশিন পাওয়া অনিশ্চিত, অথবা প্রজেক্টের প্রয়োজনীয়তা সময়ের সাথে বদলে যাবে বলে জানা থাকে — তখন "একই শর্তে পুনরাবৃত্তি" অনুমান অবাস্তব। এমন ক্ষেত্রে একটি নির্দিষ্ট, সসীম স্টাডি পিরিয়ড বেছে নিয়ে (যেমন প্ল্যানিং হরাইজন) উভয় অল্টারনেটিভের PW সেই নির্দিষ্ট পিরিয়ডে (প্রয়োজনে অনুমানকৃত সালভেজ ভ্যালুসহ) তুলনা করাই বেশি বাস্তবসম্মত।
প্র ০২ যদি দুটো লাইফের LCM অনেক বড় হয় (ধরুন ৭ ও ১১ বছর, LCM=৭৭), তাহলে কোন পদ্ধতি ব্যবহারিকভাবে সুবিধাজনক?
AW পদ্ধতি — কারণ ৭৭ বছরের ক্যাশ ফ্লো রিপিট করে PW গণনা করা অপ্রয়োজনীয়ভাবে জটিল এবং হিসাবে ত্রুটির ঝুঁকি বাড়ায়, অথচ AW সরাসরি প্রতিটি অল্টারনেটিভের নিজস্ব (ছোট) লাইফেই গণনা করা যায় এবং গাণিতিকভাবে ঠিক একই সিদ্ধান্ত দেয় — এটিই AW-কে অসম-লাইফ তুলনার ব্যবহারিক-প্রথম পছন্দ করে তোলে।
প্র ০৩ উপরের কোডে LCM পদ্ধতিতে প্রতি চক্রের শুরুতে (t=0, 3, 6, 9) পুনরায় প্রাথমিক খরচ বসানো হয়েছে কেন?
কারণ রিপিটেবিলিটি অনুমান অনুযায়ী, একটি অল্টারনেটিভের লাইফ শেষ হলে (যেমন X-এর ৩ বছর পর) সেই একই মেশিন/ প্রজেক্ট আবার নতুন করে কেনা হচ্ছে ধরে নেওয়া হয় — তাই প্রতিটি নতুন চক্রের শুরুতে একই প্রাথমিক খরচ আবার ঘটে। এভাবেই ১২ বছরের সাধারণ স্টাডি পিরিয়ডে উভয় অল্টারনেটিভের সম্পূর্ণ, তুলনাযোগ্য ক্যাশ ফ্লো তৈরি হয়।
অনুশীলন
-
চিন্তা করুন: দুটো অল্টারনেটিভের লাইফ যথাক্রমে ৫ ও ১০ বছর হলে LCM কত, এবং কোন অল্টারনেটিভ
কতবার পুনরাবৃত্ত হবে?
LCM(5, 10) = 10 (কারণ ১০, ৫-এর গুণিতক)। ৫-বছরের অল্টারনেটিভ ২ বার পুনরাবৃত্ত হবে, আর ১০-বছরের অল্টারনেটিভ মাত্র ১ বার (তার নিজের লাইফই সাধারণ স্টাডি পিরিয়ডের সমান) — এই বিশেষ ক্ষেত্রে LCM পদ্ধতি স্বয়ংক্রিয়ভাবে সহজ হয়ে যায়, কারণ ছোট লাইফটি বড়টির একটি উৎপাদক (factor)।
-
পরীক্ষা করুন: উপরের কোড সেলে
life_Y-কে4থেকে6-এ বদলে (এবংcost_Y,revenue_Yঅপরিবর্তিত রেখে) Run চেপে দেখুন নতুন LCM কত হয়, এবং AW ও LCM-PW র্যাঙ্কিং তখনও একে অপরের সাথে মেলে কি না।life_X=3,life_Y=6হলে LCM(3,6) = 6 (যেহেতু ৬, ৩-এর গুণিতক)। একই খরচ ও আয়ে লাইফ ৪ থেকে ৬ বছরে বাড়ায় AW_Y নাটকীয়ভাবে বেড়ে যায় (≈ $3,070.99, কারণ একই $28,000 খরচে এখন ২ বছর বেশি আয় পাওয়া যাচ্ছে) — এখন AW_Y, AW_X (≈ $957.70)-এর চেয়ে অনেক বেশি, তাই বিজয়ী পাল্টে অল্টারনেটিভ Y হয়ে যায়। তবুও কোডটি স্বয়ংক্রিয়ভাবে নতুন LCM ও নতুন PW গণনা করে, এবং যেহেতু AW ও LCM-PW পদ্ধতি গাণিতিকভাবে সমতুল্য, দুটো পদ্ধতির র্যাঙ্কিং (এখন উভয়ই Y-কে বিজয়ী দেখাবে) তখনও একে অপরের সাথে মিলবে, কোড পরিবর্তন না করেই।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- কোর্সের সম্পূর্ণ সিলেবাস দেখুন ৫৭টি পাঠ টাইম ভ্যালু অফ মানি, ক্যাশ ফ্লো সিরিজ, ওয়ার্থ-ভিত্তিক তুলনা, রেট অফ রিটার্ন, ডেপ্রিসিয়েশন, ট্যাক্স, ইনফ্লেশন, রিস্ক অ্যানালাইসিস ও ক্যাপিটাল বাজেটিং।
- পরের পাঠ: ইন্টারনাল রেট অফ রিটার্ন (IRR) — ধারণা ও হিসাব L20 অল্টারনেটিভ তুলনার আরেকটি বড় দৃষ্টিভঙ্গি — শতাংশ রিটার্ন হার দিয়ে সিদ্ধান্ত, শুরু হচ্ছে মডিউল ৫।
- Discrete Mathematics কোর্স সহোদর কোর্স সিকোয়েন্স ও সিরিজ অধ্যায় — LCM ও পুনরাবৃত্ত ক্যাশ ফ্লোর পেছনের সিরিজ-গণিত সেই কোর্সেই তৈরি হয়েছে।