আফটার-ট্যাক্স রিপ্লেসমেন্ট ও তুলনা অ্যানালাইসিস
এই পাঠে যা শিখবেন
- দুটো মিউচুয়ালি এক্সক্লুসিভ বিকল্পকে আফটার-ট্যাক্স ভিত্তিতে তুলনা করার পূর্ণ পদ্ধতি
- কেন ট্যাক্স বিবেচনায় নিলে PW-এর ব্যবধান বদলে যায়, এমনকি র্যাংকিং না বদলালেও
- আগে-ট্যাক্স ও আফটার-ট্যাক্স তুলনার ফলাফল পাশাপাশি দেখে সিদ্ধান্তের নির্ভরযোগ্যতা যাচাই করা
- Python দিয়ে দুটো সম্পূর্ণ ATCF টেবিল বানিয়ে বাস্তব একটি তুলনার সত্যিকারের গণনা
১ · কেন আফটার-ট্যাক্স তুলনা প্রয়োজন
M4-M5-এ আমরা PW, FW, AW ও রেট অফ রিটার্ন দিয়ে বিকল্প তুলনা করেছি — কিন্তু সেই সবগুলো বিশ্লেষণ ছিল আগে-ট্যাক্স (before-tax)। বাস্তবে দুটো বিকল্পের খরচ ও ডেপ্রিসিয়েশন শিডিউল ভিন্ন হলে, তাদের ট্যাক্স-বাঁচানোর পরিমাণও ভিন্ন হয় (L36-এ দেখা "ট্যাক্স শিল্ড")। ফলে যে বিকল্পটি আগে-ট্যাক্স ভিত্তিতে সেরা মনে হয়, আফটার-ট্যাক্স ভিত্তিতে তা নাও থাকতে পারে — তাই চূড়ান্ত সিদ্ধান্তের আগে সবসময় আফটার-ট্যাক্স তুলনা করে নিশ্চিত হওয়া প্রয়োজন।
২ · পদ্ধতি — প্রতিটি বিকল্পের জন্য ATCF টেবিল
পদ্ধতিটি L35-এ শেখা একক-বিকল্প ATCF টেবিলেরই সম্প্রসারণ — শুধু এবার দুটো বিকল্পের জন্য আলাদা আলাদা টেবিল বানিয়ে, প্রতিটির আফটার-ট্যাক্স PW বের করে পাশাপাশি রাখা হয়।
প্রতিটি বিকল্পের জন্য ATCF টেবিল বানানো — BTCF, D, taxable income, tax, ATCF।
প্রতিটির ATCF সিরিজ থেকে আফটার-ট্যাক্স MARR-এ PW বের করা।
বেশি PW-যুক্ত বিকল্পটি বাছাই করা — আগে-ট্যাক্স ফলাফলের সাথে তুলনা করে যাচাই করা।
৩ · একটি সম্পূর্ণ উদাহরণ
দুটো ইকুইপমেন্ট অপশন — অপশন ১: দাম $25,000, স্ট্রেইট-লাইনে ৫ বছরে ডেপ্রিসিয়েশন, বার্ষিক নেট রেভিনিউ $9,000; অপশন ২: দাম $32,000, স্ট্রেইট-লাইনে ৫ বছরে ডেপ্রিসিয়েশন, বার্ষিক নেট রেভিনিউ $11,000। ট্যাক্স রেট ২৫%, আফটার-ট্যাক্স MARR ৭%। নিচের কোড সেলে দুটো বিকল্পের ATCF ও PW বের করে আগে-ট্যাক্স ফলাফলের সাথে পাশাপাশি তুলনা করা হলো।
# আফটার-ট্যাক্স বনাম আগে-ট্যাক্স রিপ্লেসমেন্ট/তুলনা বিশ্লেষণ -- দুটি মিউচুয়ালি এক্সক্লুসিভ অপশন
def pa_factor(i, n):
return ((1 + i) ** n - 1) / (i * (1 + i) ** n)
def build_atcf(cost, annual_net, life, salvage, tax_rate):
d = (cost - salvage) / life
atcf = []
for t in range(0, life + 1):
if t == 0:
atcf.append(-cost)
else:
btcf = annual_net
ti = btcf - d
tax = tax_rate * ti
atcf.append(btcf - tax)
return atcf, d
tax_rate = 0.25
marr = 0.07 # আফটার-ট্যাক্স MARR
# অপশন ১
cost1, net1, life1, salvage1 = 25_000, 9_000, 5, 0
atcf1, d1 = build_atcf(cost1, net1, life1, salvage1, tax_rate)
# অপশন ২
cost2, net2, life2, salvage2 = 32_000, 11_000, 5, 0
atcf2, d2 = build_atcf(cost2, net2, life2, salvage2, tax_rate)
pw1_after = atcf1[0] + atcf1[1] * pa_factor(marr, life1)
pw2_after = atcf2[0] + atcf2[1] * pa_factor(marr, life2)
pw1_before = -cost1 + net1 * pa_factor(marr, life1)
pw2_before = -cost2 + net2 * pa_factor(marr, life2)
print(f"অপশন ১ -- cost=${cost1:,.0f}, D=${d1:,.2f}/yr, ATCF (বছর ১-৫)=${atcf1[1]:,.2f}")
print(f"অপশন ২ -- cost=${cost2:,.0f}, D=${d2:,.2f}/yr, ATCF (বছর ১-৫)=${atcf2[1]:,.2f}")
print()
print(f"{'':28}{'অপশন ১':>14}{'অপশন ২':>14}")
print(f"{'আগে-ট্যাক্স PW @ 7%':28}{pw1_before:>14,.2f}{pw2_before:>14,.2f}")
print(f"{'আফটার-ট্যাক্স PW @ 7%':28}{pw1_after:>14,.2f}{pw2_after:>14,.2f}")
before_winner = "অপশন ১" if pw1_before > pw2_before else "অপশন ২"
after_winner = "অপশন ১" if pw1_after > pw2_after else "অপশন ২"
margin_before = abs(pw2_before - pw1_before)
margin_after = abs(pw2_after - pw1_after)
print(f"\nআগে-ট্যাক্স বিজয়ী: {before_winner} (PW ব্যবধান: ${margin_before:,.2f})")
print(f"আফটার-ট্যাক্স বিজয়ী: {after_winner} (PW ব্যবধান: ${margin_after:,.2f})")
print("রেজাল্ট:", "র্যাংকিং অপরিবর্তিত" if before_winner == after_winner else "র্যাংকিং উল্টে গেছে!")
বিকল্প তুলনার চূড়ান্ত সিদ্ধান্ত সবসময় আফটার-ট্যাক্স ক্যাশ ফ্লোর উপর ভিত্তি করে নেওয়া উচিত। আগে-ট্যাক্স তুলনা একটি দ্রুত প্রাথমিক ধারণা দিতে পারে, কিন্তু ট্যাক্স শিল্ডের পার্থক্য (L36) কখনও কখনও র্যাংকিং বদলে দিতে পারে — তাই M4-M5-এর তুলনা পদ্ধতিগুলো এখন থেকে ATCF সিরিজের উপর প্রয়োগ করাই সঠিক অনুশীলন।
ভাবনার প্রশ্ন
প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।
প্র ০১ এই উদাহরণে র্যাংকিং না বদলালেও আফটার-ট্যাক্স তুলনা করাটা কেন গুরুত্বপূর্ণ ছিল?
কারণ শুধু "কোনটা জিতল" জানাই যথেষ্ট নয় — PW-এর ব্যবধান কতটা বড়, সেটাও সিদ্ধান্তের নির্ভরযোগ্যতা বোঝায়। এই উদাহরণে ব্যবধান ট্যাক্সের পর প্রায় অর্ধেকে নেমে এসেছে ($1,200 থেকে $585) — অর্থাৎ যদি অনুমানে সামান্য ভুল থাকে (যেমন রেভিনিউ কিছুটা কম হয়), আফটার-ট্যাক্স ভিত্তিতে র্যাংকিং সহজেই উল্টে যেতে পারত। আগে-ট্যাক্স তুলনায় এই ঝুঁকি বোঝা যেত না।
প্র ০২ কোন পরিস্থিতিতে আফটার-ট্যাক্স র্যাংকিং আগে-ট্যাক্স র্যাংকিং থেকে সম্পূর্ণ ভিন্ন হতে পারে?
যখন দুই বিকল্পের ডেপ্রিসিয়েশন বেসিস, লাইফ, বা পদ্ধতি (যেমন একটি স্ট্রেইট-লাইন, অন্যটি MACRS) ভিন্ন হয় — তখন তাদের ট্যাক্স শিল্ডের পরিমাণ ও সময়সূচি ভিন্ন হয়ে যায় (L36)। যদি কম ব্যয়বহুল বিকল্পের PW আগে-ট্যাক্সে সামান্য এগিয়ে থাকে, কিন্তু বেশি ব্যয়বহুল বিকল্পের ডেপ্রিসিয়েশন বেসিস অনেক বড় হওয়ায় তার ট্যাক্স শিল্ড বেশি হয়, তাহলে আফটার-ট্যাক্সে র্যাংকিং উল্টে যেতে পারে।
প্র ০৩ দুটো বিকল্পের জীবনকাল (life) ভিন্ন হলে এই পদ্ধতিতে কী সমস্যা হতে পারে?
এই কোড সেলে দুটো বিকল্পেরই জীবনকাল ৫ বছর, তাই সরাসরি PW তুলনা করা বৈধ। কিন্তু যদি জীবনকাল ভিন্ন হতো (যেমন একটি ৫ বছর, অন্যটি ৮ বছর), তাহলে সরাসরি PW তুলনা বিভ্রান্তিকর হতো — তখন M4-এ শেখা "অসম জীবনকালের বিকল্প তুলনা" কৌশল (কমন মাল্টিপল বা AW ভিত্তিক তুলনা) আফটার-ট্যাক্স ক্যাশ ফ্লোর উপর প্রয়োগ করতে হতো।
অনুশীলন
-
চিন্তা করুন: যদি অপশন ১-এর ডেপ্রিসিয়েশন পদ্ধতি স্ট্রেইট-লাইনের বদলে MACRS হতো
(একই মোট বেসিস), তাহলে তার আফটার-ট্যাক্স PW বাড়বে না কমবে বলে আপনার ধারণা?
বাড়বে — কারণ L36-এ দেখা গেছে MACRS-এর ফ্রন্ট-লোডেড ডেপ্রিসিয়েশন একই মোট শিল্ডের জন্য বেশি প্রেজেন্ট-ওয়ার্থ শিল্ড দেয়। তাই অপশন ১ MACRS ব্যবহার করলে তার ATCF-এর প্রথম বছরগুলোতে বেশি ট্যাক্স বাঁচবে, ফলে আফটার-ট্যাক্স PW বাড়বে — এবং সেই বাড়তি PW র্যাংকিংকেও প্রভাবিত করতে পারে।
-
পরীক্ষা করুন: উপরের কোড সেলে
net1 = 9_000-কেnet1 = 11_500-এ বদলে Run চেপে দেখুন র্যাংকিং উল্টে যায় কি না।net1=11,500হলে অপশন ১-এর D=5,000, ti=6,500, tax=1,625, ATCF=9,875/yr। pw1_after = −25,000 + 9,875×4.100197 ≈ −25,000+40,489.4 ≈ $15,489.4 — এখন অপশন ২-এর $8,386.94-এর চেয়ে অনেক বেশি, তাই র্যাংকিং সম্পূর্ণ উল্টে যায় (অপশন ১ জিতে যায়)। এটি নিশ্চিত করে ইনপুট অনুমানের ছোট পরিবর্তনও চূড়ান্ত সিদ্ধান্ত বদলে দিতে পারে।
আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ
- কোর্সের সম্পূর্ণ সিলেবাস দেখুন ৫৭টি পাঠ টাইম ভ্যালু অফ মানি, ক্যাশ ফ্লো সিরিজ, ওয়ার্থ-ভিত্তিক তুলনা, রেট অফ রিটার্ন, ডেপ্রিসিয়েশন, ট্যাক্স, ইনফ্লেশন, রিস্ক অ্যানালাইসিস ও ক্যাপিটাল বাজেটিং — সম্পূর্ণ টুলকিট।
- Discrete Mathematics কোর্স সহোদর কোর্স সিকোয়েন্স ও সিরিজ অধ্যায় — এই পাঠের PW গণনায় ব্যবহৃত অ্যানুইটি ফ্যাক্টরের গাণিতিক ভিত্তি সেখানেই প্রতিষ্ঠিত হয়েছিল।
- সব 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 — সব এক জায়গায়।