পাঠ ২৮ · ৫৭-এর মধ্যে · মডিউল ৬
Home / Courses / Engineering Economics / কস্ট অ্যালোকেশন

কস্ট অ্যালোকেশন মেথড

Cost allocation methods
১০ মিনিট পড়া মধ্যম · Intermediate Python কোডসহ সম্পূর্ণ বাংলায়

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

  • মাল্টি-পারপাস প্রজেক্টে "সেপারেবল খরচ" ও "যৌথ (joint) খরচ"-এর মধ্যে পার্থক্য
  • প্রোপোরশনাল (equal apportionment) মেথড — সেপারেবল খরচের অনুপাতে যৌথ খরচ ভাগ করা
  • SCRB মেথড — রেমেইনিং বেনিফিটের অনুপাতে বাকি যৌথ খরচ ভাগ করা
  • Python দিয়ে দুটো পদ্ধতিরই বাস্তবায়ন, এবং উভয়ের বরাদ্দের যোগফল মোট খরচের সমান কি না তার রানটাইম যাচাই

১ · মাল্টি-পারপাস প্রজেক্ট ও যৌথ খরচের সমস্যা

অনেক বড় প্রকৌশল প্রজেক্ট একাধিক উদ্দেশ্যে একসাথে কাজ করে — একটি বাঁধ একইসাথে সেচের জন্য পানি সরবরাহ করতে পারে এবং বন্যা নিয়ন্ত্রণেও সাহায্য করতে পারে। এই ধরনের প্রজেক্টে কিছু খরচ প্রতিটি উদ্দেশ্যের জন্য আলাদাভাবে চিহ্নিত করা যায় (যেমন সেচ-নালা শুধু সেচের জন্যই তৈরি) — একে বলে সেপারেবল কস্টSeparable Costএকটি নির্দিষ্ট উদ্দেশ্যের জন্য সরাসরি ও এককভাবে চিহ্নিত করা যায় এমন খরচ — যদি সেই উদ্দেশ্যটি বাদ দেওয়া হতো, এই খরচও লাগত না।। কিন্তু বাঁধের মূল কাঠামো, জলাধার (reservoir) ইত্যাদি — এগুলোর খরচ কোনো একক উদ্দেশ্যের জন্য নয়, বরং সবগুলো উদ্দেশ্যই একসাথে ব্যবহার করে — একে বলে যৌথ (joint) খরচ। প্রশ্ন হলো: এই যৌথ খরচ প্রতিটি উদ্দেশ্যের মধ্যে কীভাবে ন্যায্যভাবে ভাগ করা যায়, যাতে প্রতিটি উদ্দেশ্যের প্রকৃত আর্থিক ন্যায্যতা (যেমন তার নিজস্ব B/C রেশিও) আলাদাভাবে মূল্যায়ন করা যায়?

সেপারেবল কস্ট
একটি নির্দিষ্ট উদ্দেশ্যের জন্য সরাসরি খরচ — সরাসরি সেই উদ্দেশ্যকেই বরাদ্দ করা হয়, ভাগাভাগির প্রশ্নই আসে না।
যৌথ (Joint) কস্ট
সব উদ্দেশ্য একসাথে ব্যবহার করে এমন অবকাঠামোর খরচ — এটিই ন্যায্যভাবে ভাগ করার আসল চ্যালেঞ্জ।
লক্ষ্য
যেকোনো বরাদ্দ পদ্ধতিতেই প্রতিটি উদ্দেশ্যের বরাদ্দকৃত অংশের যোগফল ঠিক মোট যৌথ খরচের সমান হতে হবে — কোনো অংশ বাদ বা বাড়তি থাকা যাবে না।

২ · মেথড ১ — প্রোপোরশনাল (সেপারেবল খরচ অনুপাতে)

সবচেয়ে সহজ পদ্ধতি — যৌথ খরচকে প্রতিটি উদ্দেশ্যের নিজস্ব সেপারেবল খরচের অনুপাতে ভাগ করা —

$$\text{Allocated}_k = X \times \dfrac{\text{Separable}_k}{\sum_j \text{Separable}_j}$$

যেখানে $X$ মোট যৌথ খরচ। যুক্তি হলো — যে উদ্দেশ্যের নিজস্ব খরচের অংশ যত বেশি, সেই উদ্দেশ্য প্রজেক্টের অবকাঠামো তত বেশি ব্যবহার করে ধরে নেওয়া হয়, তাই যৌথ খরচেরও তত বেশি অংশ তার উপর বর্তায়।

৩ · মেথড ২ — SCRB (Separable Costs - Remaining Benefits)

SCRB পদ্ধতি বেশি ন্যায্য বলে বিবেচিত হয়, কারণ এটি প্রতিটি উদ্দেশ্যের বেনিফিটকেও হিসাবে আনে, শুধু খরচ নয়। তিনটি ধাপ —

  1. প্রতিটি উদ্দেশ্য প্রথমে তার নিজস্ব সেপারেবল খরচ সরাসরি বরাদ্দ পায়।
  2. বাকি (remaining) যৌথ খরচ = মোট যৌথ খরচ − সব উদ্দেশ্যের সেপারেবল খরচের যোগফল।
  3. প্রতিটি উদ্দেশ্যের রেমেইনিং বেনিফিট = তার স্ট্যান্ডঅ্যালোন বেনিফিট (একা প্রজেক্ট করলে যা পাওয়া যেত) − তার সেপারেবল খরচ। বাকি যৌথ খরচ এই রেমেইনিং বেনিফিটের অনুপাতে ভাগ হয়, এবং সেটি প্রতিটি উদ্দেশ্যের সেপারেবল খরচের সাথে যোগ হয়ে চূড়ান্ত বরাদ্দ হয়।

$$\text{Allocated}_k = \text{Separable}_k + \left(X - \sum_j \text{Separable}_j\right) \times \dfrac{\text{Benefit}_k - \text{Separable}_k}{\sum_j (\text{Benefit}_j - \text{Separable}_j)}$$

দুটো পদ্ধতির মূল পার্থক্য

প্রোপোরশনাল পদ্ধতি শুধু খরচ-ভিত্তিক অনুপাত ব্যবহার করে, তাই যে উদ্দেশ্যের সেপারেবল খরচ বেশি তার বরাদ্দও বেশি হয় — বেনিফিটের সাথে কোনো সম্পর্ক ছাড়াই। SCRB পদ্ধতি বেনিফিট বিবেচনা করে — যে উদ্দেশ্য প্রজেক্ট থেকে তুলনামূলক বেশি "উদ্বৃত্ত" (বেনিফিট বাদ তার নিজস্ব খরচ) পায়, তাকেই বাকি যৌথ খরচের বেশি অংশ বহন করতে বলা হয়, যা "সামর্থ্য অনুযায়ী প্রদান" নীতির কাছাকাছি।

৪ · কোড: দুটো পদ্ধতিই একটি বাঁধ প্রজেক্টে প্রয়োগ

একটি বাঁধ প্রজেক্টের মোট যৌথ খরচ $10,000,000। পারপাস A (সেচ)-এর সেপারেবল খরচ $2,000,000 এবং স্ট্যান্ডঅ্যালোন বেনিফিট $7,000,000। পারপাস B (বন্যা নিয়ন্ত্রণ)-এর সেপারেবল খরচ $3,000,000 এবং স্ট্যান্ডঅ্যালোন বেনিফিট $9,000,000। উভয় পদ্ধতিতে বরাদ্দ গণনা করে যোগফল মোট খরচের সমান কি না তা assert দিয়ে যাচাই করা হচ্ছে।

Python
# কস্ট অ্যালোকেশন মেথড -- একটি মাল্টি-পারপাস ড্যাম প্রজেক্ট
# পারপাস A: সেচ (irrigation), পারপাস B: বন্যা নিয়ন্ত্রণ (flood control)

total_joint_cost = 10_000_000

separable_A = 2_000_000     # সেচের জন্য সরাসরি (separable) খরচ
separable_B = 3_000_000     # বন্যা নিয়ন্ত্রণের জন্য সরাসরি খরচ

standalone_benefit_A = 7_000_000   # শুধু সেচ প্রজেক্ট হলে যে বেনিফিট পাওয়া যেত
standalone_benefit_B = 9_000_000   # শুধু বন্যা নিয়ন্ত্রণ প্রজেক্ট হলে যে বেনিফিট পাওয়া যেত

# --- মেথড ১: প্রোপোরশনাল (সেপারেবল খরচের অনুপাতে যৌথ খরচ ভাগ) ---
sum_separable = separable_A + separable_B
share_A_1 = total_joint_cost * (separable_A / sum_separable)
share_B_1 = total_joint_cost * (separable_B / sum_separable)

# --- মেথড ২: SCRB (Separable Costs - Remaining Benefits) ---
remaining_joint_cost  = total_joint_cost - sum_separable
remaining_benefit_A   = standalone_benefit_A - separable_A
remaining_benefit_B   = standalone_benefit_B - separable_B
sum_remaining_benefit = remaining_benefit_A + remaining_benefit_B

share_of_remaining_A = remaining_joint_cost * (remaining_benefit_A / sum_remaining_benefit)
share_of_remaining_B = remaining_joint_cost * (remaining_benefit_B / sum_remaining_benefit)

allocated_A_2 = separable_A + share_of_remaining_A
allocated_B_2 = separable_B + share_of_remaining_B

print(f"মোট যৌথ খরচ: ${total_joint_cost:,.2f}\n")

print("মেথড ১ -- প্রোপোরশনাল (সেপারেবল খরচ অনুপাতে):")
print(f"  পারপাস A (সেচ)          = ${share_A_1:,.2f}")
print(f"  পারপাস B (বন্যা নিয়ন্ত্রণ)  = ${share_B_1:,.2f}")
print(f"  যোগফল                   = ${share_A_1 + share_B_1:,.2f}")
assert abs((share_A_1 + share_B_1) - total_joint_cost) < 0.01, "মেথড ১: যোগফল মোট খরচের সমান নয়!"
print("  চেক: যোগফল == মোট যৌথ খরচ  -> ঠিক আছে\n")

print("মেথড ২ -- SCRB (Separable Cost - Remaining Benefits):")
print(f"  বাকি যৌথ খরচ (remaining joint cost)  = ${remaining_joint_cost:,.2f}")
print(f"  পারপাস A: separable=${separable_A:,.2f} + remaining share=${share_of_remaining_A:,.2f} = ${allocated_A_2:,.2f}")
print(f"  পারপাস B: separable=${separable_B:,.2f} + remaining share=${share_of_remaining_B:,.2f} = ${allocated_B_2:,.2f}")
print(f"  যোগফল = ${allocated_A_2 + allocated_B_2:,.2f}")
assert abs((allocated_A_2 + allocated_B_2) - total_joint_cost) < 0.01, "মেথড ২: যোগফল মোট খরচের সমান নয়!"
print("  চেক: যোগফল == মোট যৌথ খরচ  -> ঠিক আছে")

    
লক্ষ্য করুন দুটো পদ্ধতি ভিন্ন সংখ্যা দেয় — মেথড ১-এ A পায় $4,000,000 ও B পায় $6,000,000 (শুধু সেপারেবল খরচের ২:৩ অনুপাতে), কিন্তু মেথড ২ (SCRB)-এ A পায় প্রায় $4,272,727 ও B পায় প্রায় $5,727,273 — কারণ SCRB বেনিফিটও বিবেচনা করে, আর এখানে A-এর রেমেইনিং বেনিফিট (স্ট্যান্ডঅ্যালোন বেনিফিট বাদ সেপারেবল খরচ) B-এর তুলনায় আনুপাতিকভাবে বেশি। তবুও দুটো পদ্ধতিতেই assert নিশ্চিত করে যে বরাদ্দের যোগফল ঠিক $10,000,000-ই থাকে — শুধু ভাগের অনুপাত ভিন্ন, মোট খরচ অপরিবর্তিত।
মূল কথা · Key takeaway

মাল্টি-পারপাস প্রজেক্টের যৌথ খরচ ভাগ করার একাধিক ন্যায্য পদ্ধতি আছে — প্রোপোরশনাল পদ্ধতি সহজ কিন্তু শুধু খরচ দেখে, SCRB পদ্ধতি বেনিফিটও বিবেচনা করে বলে অর্থনৈতিকভাবে বেশি যুক্তিসঙ্গত ধরা হয়। কোন পদ্ধতিই ব্যবহার করা হোক না কেন, যেকোনো সঠিক বরাদ্দে বরাদ্দকৃত অংশের যোগফল সবসময় মোট যৌথ খরচের সমান হতে হবে — এটিই একটি বৈধ কস্ট-অ্যালোকেশন পদ্ধতির ন্যূনতম শর্ত।

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

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

প্র ০১ কেন প্রোপোরশনাল পদ্ধতি "শুধু খরচ দেখে, বেনিফিট দেখে না" — এটি একটি সীমাবদ্ধতা হতে পারে কেন?

কারণ একটি উদ্দেশ্যের সেপারেবল খরচ বেশি হওয়া মানেই এই নয় যে সেই উদ্দেশ্য প্রজেক্ট থেকে বেশি উপকৃত হচ্ছে। যেমন যদি সেচের সেপারেবল খরচ বেশি হয় কিন্তু তার বেনিফিট তুলনামূলক কম হয়, প্রোপোরশনাল পদ্ধতি তবুও সেচকেই বেশি যৌথ খরচ বরাদ্দ করবে — যা "সামর্থ্য বা উপকারের অনুপাতে খরচ" নীতির সাথে সাংঘর্ষিক হতে পারে। SCRB এই সমস্যা এড়ায় বেনিফিটকে হিসাবে এনে।

প্র ০২ যদি কোনো একটি উদ্দেশ্যের স্ট্যান্ডঅ্যালোন বেনিফিট তার সেপারেবল খরচের চেয়ে কম হয় (রেমেইনিং বেনিফিট ঋণাত্মক), SCRB পদ্ধতিতে কী সমস্যা হতে পারে?

তাত্ত্বিকভাবে সেই উদ্দেশ্যটি একা করলেই আর্থিকভাবে ন্যায্য হতো না (বেনিফিট < সেপারেবল খরচ), যা বাস্তবে বিরল কিন্তু সম্ভব। এক্ষেত্রে সরল SCRB সূত্র একটি ঋণাত্মক রেমেইনিং বেনিফিট নিয়ে কাজ করবে, যা negative share তৈরি করতে পারে — বাস্তবে তখন সাধারণত সেই উদ্দেশ্যের রেমেইনিং বেনিফিট শূন্যে ক্যাপ করে বাকি অংশ অন্য উদ্দেশ্যগুলোর মধ্যে পুনর্বণ্টন করা হয়, যা এই পাঠের মৌলিক সূত্রের একটি বাস্তবসম্মত সম্প্রসারণ।

প্র ০৩ উপরের কোড সেলে যদি standalone_benefit_A $7,000,000 থেকে বাড়িয়ে $8,500,000 করা হয়, SCRB-তে পারপাস A-এর বরাদ্দ কীভাবে বদলাবে?

remaining_benefit_A = 8,500,000 - 2,000,000 = 6,500,000 (আগে ছিল ৫,০০০,০০০), আর remaining_benefit_B অপরিবর্তিত (৬,০০০,০০০)। নতুন sum_remaining_benefit = 12,500,000, তাই A-এর ভাগ share_of_remaining_A = 5,000,000 * (6,500,000/12,500,000) = 2,600,000 — আগের ≈$2,272,727 থেকে বেড়ে যাবে, ফলে A-এর মোট বরাদ্দও বাড়বে ($2,000,000+$2,600,000=$4,600,000) — কারণ A-এর আপেক্ষিক রেমেইনিং বেনিফিট বেড়েছে, তাই SCRB তাকে বাকি যৌথ খরচের বেশি অংশ বরাদ্দ করছে।

অনুশীলন

  1. চিন্তা করুন: একটি সরকারি সংস্থা কেন মাল্টি-পারপাস প্রজেক্টের খরচ প্রতিটি উদ্দেশ্যের মধ্যে ভাগ করতে চাইবে, যখন পুরো প্রজেক্টের মোট খরচ ও মোট বেনিফিট একসাথে হিসাব করলেই তো B/C রেশিও পাওয়া যায়?

    কারণ বাস্তবে বিভিন্ন উদ্দেশ্যের অর্থায়ন প্রায়ই ভিন্ন ভিন্ন সরকারি বিভাগ বা তহবিল থেকে আসে (যেমন কৃষি মন্ত্রণালয় সেচের জন্য, পানিসম্পদ মন্ত্রণালয় বন্যা নিয়ন্ত্রণের জন্য) — প্রতিটি বিভাগকে তার নিজের বাজেট বরাদ্দ ও জবাবদিহিতার জন্য জানতে হয় তাদের অংশ কত। এছাড়া ব্যবহারকারীদের কাছ থেকে সেবা-মূল্য (user fee) নির্ধারণ করতে হলেও প্রতিটি উদ্দেশ্যের প্রকৃত খরচ আলাদাভাবে জানা প্রয়োজন।

  2. পরীক্ষা করুন: উপরের কোড সেলে separable_A ও separable_B সমান করে দিন (উভয়ই $2,500,000) এবং বাকি সব অপরিবর্তিত রেখে Run চাপুন। মেথড ১-এ কি A ও B সমান ভাগ পাবে?

    হ্যাঁ — sum_separable = 5,000,000 অপরিবর্তিত থাকলে share_A_1 = share_B_1 = 10,000,000 * (2,500,000/5,000,000) = 5,000,000 — মেথড ১ শুধু সেপারেবল খরচের অনুপাত দেখে বলে সমান সেপারেবল খরচ মানেই সমান বরাদ্দ। কিন্তু মেথড ২ (SCRB)-এ যেহেতু স্ট্যান্ডঅ্যালোন বেনিফিট এখনও অসমান ($7,000,000 বনাম $9,000,000), তাই রেমেইনিং বেনিফিটও অসমান থাকবে এবং SCRB বরাদ্দ তবুও অসমান থাকবে — এটাই দুটো পদ্ধতির মৌলিক পার্থক্য স্পষ্ট করে।

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

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