পাঠ ৩১ · ৫৭-এর মধ্যে · মডিউল ৭
Home / Courses / Engineering Economics / ডেপ্রিসিয়েশন

ডিক্লাইনিং ব্যালান্স ও ডাবল-ডিক্লাইনিং ব্যালান্স

Declining balance & double-declining balance
৮ মিনিট পড়া মধ্যম · Intermediate Python কোডসহ সম্পূর্ণ বাংলায়

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

  • ডিক্লাইনিং ব্যালান্স ও ডাবল-ডিক্লাইনিং ব্যালান্স (DDB)-এর সূত্র এবং কেন এটি "অ্যাক্সিলারেটেড"
  • কেন বুক ভ্যালু স্যালভেজের নিচে নামতে দেওয়া যায় না, এবং কীভাবে সেই বছরের ডেপ্রিসিয়েশন ক্যাপ করতে হয়
  • Python-এ declining_balance(B, S, N, multiplier) ফাংশন লিখে ফ্লোর-লজিকসহ পূর্ণ শিডিউল তৈরি করা
  • স্ট্রেইট-লাইনের তুলনায় প্রথম বছরগুলোতে কেন বেশি ডেপ্রিসিয়েশন হয় তার আর্থিক তাৎপর্য (ট্যাক্স ডেফারমেন্ট)

১ · সূত্র ও যুক্তি

ডিক্লাইনিং ব্যালান্সDeclining balanceপ্রতি বছর আগের বছরের বুক ভ্যালুর একটি নির্দিষ্ট শতাংশ ডেপ্রিসিয়েট করার অ্যাক্সিলারেটেড পদ্ধতি। পদ্ধতিতে স্ট্রেইট-লাইনের মতো $B-S$-কে সমান ভাগে ভাগ করা হয় না — বরং প্রতি বছর আগের বছরের অবশিষ্ট বুক ভ্যালুর একটি নির্দিষ্ট শতাংশ ডেপ্রিসিয়েট হয় —

$$D_t = d \times BV_{t-1}, \qquad d = \frac{\text{multiplier}}{N}, \qquad BV_0 = B$$

ডাবল-ডিক্লাইনিং ব্যালান্স (DDB)Double-declining balancemultiplier = 2.0 নিয়ে ডিক্লাইনিং ব্যালান্স — স্ট্রেইট-লাইন হারের দ্বিগুণ হারে শুরু হয়। -এ multiplier = 2.0 (১৫০%-DB পদ্ধতিতে multiplier = 1.5)। যেহেতু $BV_{t-1}$ প্রতি বছর কমতে থাকে, $D_t$-ও কমতে থাকে — শুরুতে বড় ডেপ্রিসিয়েশন, পরে ছোট। এই "অ্যাক্সিলারেটেড" প্যাটার্ন কোম্পানিগুলোর কাছে আকর্ষণীয়, কারণ শুরুর বছরগুলোতে বড় ট্যাক্স-কর্তনযোগ্য খরচ দেখিয়ে ট্যাক্স পেমেন্ট পরের বছরগুলোতে পিছিয়ে দেওয়া যায় (ট্যাক্স ডেফারমেন্ট) — টাইম ভ্যালু অফ মানির কারণে দেরিতে দেওয়া ট্যাক্স আজকের হিসাবে সস্তা।

স্যালভেজ-ফ্লোর নিয়ম

সূত্র $D_t = d \times BV_{t-1}$ শুধু $BV_{t-1}$-এর একটি অংশ, তাই তাত্ত্বিকভাবে বুক ভ্যালু কখনোই একদম শূন্যে পৌঁছায় না — কিন্তু বাস্তবে এটি স্যালভেজ ভ্যালু S-এর নিচেও নেমে যেতে পারে, যা অনুমোদিত নয়। তাই নিয়ম — যদি কোনো বছর $BV_{t-1} - D_t < S$ হয়ে যায়, তাহলে সেই বছরের $D_t$-কে বদলে $D_t = BV_{t-1} - S$ ধরতে হবে, যাতে $BV_t = S$ ঠিক হয়ে যায় — এবং তার পরের সব বছরে $D_t = 0$ (কারণ সম্পদ ইতিমধ্যে স্যালভেজে পৌঁছে গেছে)।

২ · Python-এ গণনা

ধরা যাক একটি সম্পদের বেসিস $50,000, স্যালভেজ $5,000, ইউজফুল লাইফ ৫ বছর, DDB পদ্ধতিতে (multiplier=2.0), তাই $d = 2.0/5 = 0.4$। নিচের declining_balance() ফাংশন প্রতি বছর ফ্লোর-চেক করে সঠিক শিডিউল তৈরি করে।

Python
# ডিক্লাইনিং ব্যালান্স / ডাবল-ডিক্লাইনিং ব্যালান্স -- D_t = d * BV_(t-1), d = multiplier / N
# বুক ভ্যালু কখনো স্যালভেজের নিচে নামতে দেওয়া হবে না -- নামলে সেই বছরেই ক্যাপ করে দিতে হবে

def declining_balance(B, S, N, multiplier=2.0):
    d = multiplier / N
    bv = B
    schedule = []
    for t in range(1, N + 1):
        D_t = d * bv
        if bv - D_t < S:
            D_t = bv - S          # এই বছরেই বুক ভ্যালু ঠিক S-এ ক্যাপ করা
        bv = bv - D_t
        schedule.append(D_t)
    return schedule

B, S, N = 50000, 5000, 5
schedule = declining_balance(B, S, N, multiplier=2.0)

print(f"B = ${B:,.2f}, S = ${S:,.2f}, N = {N}, d = 2.0/{N} = {2.0/N:.2f}\n")
print(f"{'বছর':>4} | {'D_t':>10} | {'বুক ভ্যালু':>12}")
print("-" * 34)

accumulated = 0.0
bv = B
for t, D_t in enumerate(schedule, start=1):
    accumulated += D_t
    bv = B - accumulated
    print(f"{t:>4} | ${D_t:>9,.2f} | ${bv:>11,.2f}")

print("-" * 34)
check = abs(bv - S) < 1e-9
print(f"যাচাই -- শেষ বুক ভ্যালু == S ?  ${bv:,.2f} == ${S:,.2f} -> {check}")

    
হাতে যাচাই করি — বছর ১: $D_1 = 0.4 \times 50{,}000 = \$20{,}000$, $BV_1 = 30{,}000$। বছর ২: $D_2 = 0.4 \times 30{,}000 = \$12{,}000$, $BV_2 = 18{,}000$। বছর ৩: $D_3 = 0.4 \times 18{,}000 = \$7{,}200$, $BV_3 = 10{,}800$। বছর ৪: $D_4 = 0.4 \times 10{,}800 = \$4{,}320$, $BV_4 = 6{,}480$। বছর ৫-এ সূত্র অনুযায়ী $D_5 = 0.4 \times 6{,}480 = \$2{,}592$ হতো, যা $BV_5 = 3{,}888$ দিত — এটি স্যালভেজ $5,000-এর নিচে, তাই ক্যাপ সক্রিয় হয়: $D_5 = 6{,}480 - 5{,}000 = \$1{,}480$, দিয়ে $BV_5 = \$5{,}000$ ঠিক স্যালভেজে থামে। মোট ডেপ্রিসিয়েশন $20{,}000+12{,}000+7{,}200+4{,}320+1{,}480 = \$45{,}000 = B - S$ — ঠিক আছে, এবং যাচাই True প্রিন্ট করে।
মূল কথা · Key takeaway

ডিক্লাইনিং ব্যালান্স একটি অ্যাক্সিলারেটেড পদ্ধতি — শুরুতে বড়, পরে ছোট ডেপ্রিসিয়েশন — এবং সবসময় বুক ভ্যালুকে স্যালভেজে ক্যাপ করার লজিক থাকতে হবে, নয়তো বুক ভ্যালু ভুলভাবে স্যালভেজের নিচে নেমে যাবে। এই একই ফ্লোর-লজিক প্রতিটি বাস্তব ডিক্লাইনিং-ব্যালান্স ইমপ্লিমেন্টেশনে থাকা আবশ্যক।

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

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

প্র ০১ স্ট্রেইট-লাইনের তুলনায় DDB-তে প্রথম বছরের ডেপ্রিসিয়েশন কেন বেশি হয়, এবং এটি কোম্পানির জন্য কেন সুবিধাজনক হতে পারে?

DDB-তে $D_t = d \times BV_{t-1}$, আর $BV_0 = B$ সবচেয়ে বড়, তাই প্রথম বছরেই সবচেয়ে বেশি ডেপ্রিসিয়েশন হয় (উদাহরণে $0.4 \times 50{,}000 = \$20{,}000$, যা স্ট্রেইট-লাইনের $45{,}000/5 = \$9{,}000$-এর চেয়ে অনেক বেশি)। বেশি ডেপ্রিসিয়েশন মানে বেশি ট্যাক্স-কর্তন, যা প্রথম বছরগুলোতে কম ট্যাক্স দিতে সাহায্য করে — সেই সাশ্রয় করা টাকা এখনই বিনিয়োগ করে সুদ অর্জন করা যায় (ট্যাক্স ডেফারমেন্টের টাইম-ভ্যালু সুবিধা)।

প্র ০২ যদি উদাহরণে স্যালভেজ ভ্যালু $0 হতো, তাহলে কি ৫ বছরে কখনো ক্যাপ-লজিক সক্রিয় হতো?

হ্যাঁ, তবে ভিন্নভাবে। বুক ভ্যালু তত্ত্বগতভাবে কখনো ঠিক শূন্যে পৌঁছায় না (প্রতিবার শুধু একটি অংশ কমে), তাই ৫ বছরের মধ্যে সাধারণত ক্যাপ সক্রিয় হবে না — বুক ভ্যালু $6,480-এর কাছাকাছি (আসলে $0.6^5 \times 50{,}000 \approx \$3{,}888$) থেকেই যাবে। বাস্তবে MACRS-এর মতো ট্যাক্স পদ্ধতিতে অবশিষ্ট বুক ভ্যালু পরে স্ট্রেইট-লাইনে "সুইচ" করে শূন্যে নামানো হয় — সেটি এই পাঠের সরল সংস্করণে দেখানো হয়নি।

প্র ০৩ কোড সেলে if bv - D_t < S: শর্তটি কেন <= এর বদলে < ব্যবহার করেছে — এতে কোনো ব্যবহারিক পার্থক্য হয় কি?

বাস্তবে কার্যত কোনো পার্থক্য নেই — যদি bv - D_t ঠিক S-এর সমান হয়, তাহলে < শর্ত False হবে এবং কোড স্বাভাবিক D_t-ই ব্যবহার করবে, যা এমনিতেই bv = S দেবে — ক্যাপ করার দরকারই পড়ে না, কারণ ফলাফল একই। শর্তটি শুধু তখনই সক্রিয় হয় যখন স্বাভাবিক হিসাব সীমা ছাড়িয়ে যেত।

অনুশীলন

  1. চিন্তা করুন: একটি $10,000 বেসিসের সম্পদ, $1,000 স্যালভেজ, ২ বছরের DDB ($d = 2.0/2 = 1.0$)। বছর ১-এ $D_1$ ও $BV_1$ হাতে হিসাব করুন — এখানে $d=1.0$ মানে প্রথম বছরেই পুরো বুক ভ্যালু ডেপ্রিসিয়েট হয়ে যেত, তাই ফ্লোর-লজিক কী করবে বলে মনে হয়?

    সূত্র অনুযায়ী $D_1 = 1.0 \times 10{,}000 = \$10{,}000$ হতো, যা $BV_1 = 0$ দিত — কিন্তু এটি স্যালভেজ $1,000-এর নিচে, তাই ফ্লোর-লজিক সক্রিয় হয়ে $D_1 = 10{,}000 - 1{,}000 = \$9{,}000$ ধরবে, $BV_1 = \$1{,}000$ — অর্থাৎ পুরো সম্পদ প্রথম বছরেই স্যালভেজে নেমে আসবে, আর বছর ২-এ $D_2 = 0$।

  2. পরীক্ষা করুন: উপরের কোড সেলে multiplier=2.0-কে multiplier=1.5 (১৫০%-DB) করে Run চেপে দেখুন প্রথম বছরের D_t কীভাবে বদলায়, এবং কোন বছরে (যদি হয়) ফ্লোর-লজিক সক্রিয় হয়।

    d = 1.5/5 = 0.3। বছর ১: D=0.3*50000=15000, BV=35000। বছর ২: D=0.3*35000=10500, BV=24500। বছর ৩: D=0.3*24500=7350, BV=17150। বছর ৪: D=0.3*17150=5145, BV=12005। বছর ৫: D=0.3*12005=3601.5, যা BV=8403.5 দিত — এখনো $5,000-এর উপরে, তাই এখানে ফ্লোর-লজিক সক্রিয় হয় না; পুরো ৫ বছরেও বুক ভ্যালু স্যালভেজে পৌঁছায় না (150%-DB, DDB-এর চেয়ে ধীর)।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

  • কোর্সের সম্পূর্ণ সিলেবাস দেখুন ৫৭টি পাঠ টাইম ভ্যালু অফ মানি, ক্যাশ ফ্লো সিরিজ, ওয়ার্থ-ভিত্তিক তুলনা, রেট অফ রিটার্ন, ডেপ্রিসিয়েশন, ট্যাক্স, ইনফ্লেশন, রিস্ক অ্যানালাইসিস ও ক্যাপিটাল বাজেটিং সহ সম্পূর্ণ ৫৭টি পাঠ।
  • পরের পাঠ L32 সাম-অফ-ইয়ার্স-ডিজিট ও ইউনিটস-অফ-প্রোডাকশন — আরও দুটি ভিন্ন ডেপ্রিসিয়েশন প্যাটার্ন।
  • সব 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 — সব এক জায়গায়।
আগের পাঠ
স্ট্রেইট-লাইন ডেপ্রিসিয়েশন