সাক্ষী

পদ্ধতি

এই পাতায় লেখা আছে সাইটের প্রতিটি সংখ্যা কীভাবে হিসাব করা হয়, কোন সীমার নিচে কী দেখানো হয় না, এবং কেন। যে হিসাবগুলো এখানে বর্ণনা করা হয়নি, সেগুলো সাইটে প্রকাশও করা হয় না।

সবচেয়ে জরুরি কথাটি প্রথমে

এটি স্বেচ্ছায় জমা দেওয়া রিপোর্ট — বাংলাদেশে হয়রানি ও নির্যাতনের প্রকৃত হার নয়।

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

কারা এই ফর্মটি ভরতে পারেন

এই ফর্মটি ভরতে একসাথে চারটি জিনিস লাগে — একটি ফোন বা কম্পিউটার, ইন্টারনেট, পড়তে পারা, এবং একা থাকার একটি মুহূর্ত। যাঁদের হয়রানির ঝুঁকি সবচেয়ে বেশি, তাঁদের অনেকের কাছেই এই চারটি একসাথে থাকে না — যেমন গৃহকর্মী, যিনি অন্যের বাড়িতে থাকেন, কিংবা যিনি পড়তে পারেন না।

এর একটি সরাসরি ফল আছে, এবং সেটি এখানে লিখে রাখা দরকার: বিভাগভিত্তিক হারের পার্থক্য কেবল হয়রানির পার্থক্য নয়। যেখানে ইন্টারনেট ও ফোনের ব্যবহার বেশি, সেখান থেকে রিপোর্টও বেশি আসবে। তাই একটি বিভাগের সংখ্যা আরেকটির চেয়ে বেশি দেখলে সেটিকে সেখানে বেশি হয়রানি হয় বলে পড়া ভুল হবে।

একই কারণে পুরনো বছরের সংখ্যা কম দেখাবে। ফর্মটি ২০০৯ সাল থেকে ঘটনা নেয়, কিন্তু বহু বছর আগের ঘটনা কম মানুষই জানান — কেউ ভুলে যান, কেউ আর অনলাইনে নেই। তাই বছর ধরে সংখ্যা বাড়তে দেখলে সেটিকে হয়রানি বেড়েছে বলে পড়া ভুল হবে; ওটি মূলত সাম্প্রতিক ঘটনা বেশি জানানো হয় তারই ছবি।

আরও একটি কথা। রিপোর্ট জমা দিতে চারটি ধাপই যথেষ্ট; বাকি প্রশ্নগুলো ঐচ্ছিক। ফলে কিছু হিসাব সবার উত্তর থেকে আসে, আর কিছু আসে কেবল যাঁরা শেষ পর্যন্ত গিয়েছেন তাঁদের থেকে — এবং তাঁরা আলাদা মানুষ। তাই প্রতিটি সংখ্যার পাশে n লেখা থাকে, আর n কম হলে সংখ্যাটি দেখানোই হয় না।

কোন রিপোর্টগুলো হিসাবে আসে

প্রকাশিত প্রতিটি সংখ্যা কেবল সেই রিপোর্টগুলো থেকে আসে যেগুলোর—

অন্যের হয়ে জানানো রিপোর্ট এবং সাক্ষীদের রিপোর্ট এই সংখ্যাগুলোর সাথে মেশানো হয় না। একই ঘটনা তিনবার গোনা হয়ে যেতে পারে — ভুক্তভোগী, তাঁর পরিবারের কেউ, এবং একজন প্রতিবেশী — সেটি ঠেকাতেই এই আলাদা রাখা।

এই দুই ধারার রিপোর্ট আলাদা করে গোনা হয় এবং তথ্যের পাতায় (/data) আলাদা করেই দেখানো হয় — নিজস্ব সংখ্যা, নিজস্ব হর। কোনো হিসাবে এদের এক করা হয় না। উপরের ও নিচের বাকি প্রতিটি সংখ্যা কেবল নিজের সাথে ঘটেছে এমন রিপোর্ট থেকে আসা।

তবে খাতায় (/ledger) তিন ধারার সব রিপোর্টই থাকে, আর প্রতিটি সারির উপরে লেখা থাকে কে জানিয়েছেন। খাতা একটি তালিকা, হিসাব নয় — তালিকায় সব রাখলে কোনো সংখ্যা মেশে না। উপরের নিয়মটি ভাগ করার নিয়ম: কোনো শতাংশের হরে তিন ধারা এক হয় না, এখনো নয়, কখনো নয়।

খাতায় এখন কেবল মানুষের পাঠানো রিপোর্ট

সাইটটি বানানোর সময় পাতা ও চার্টগুলো পরীক্ষা করার জন্য স্ক্রিপ্ট দিয়ে মোট ৩৩০টি নমুনা সারি বসানো হয়েছিল — ২৮০টি সরাসরি ডেটাবেসে, আর ৫০টি ফর্মের নিজের পথ ধরে, জমা দেওয়ার ব্যবস্থাটি পরীক্ষা করতে গিয়ে। সবগুলোই ১৪ সেপ্টেম্বর ২০২৬ তারিখে ডেটাবেস থেকে পুরোপুরি মুছে ফেলা হয়েছে। এই সাইটের কোনো সংখ্যায় আর সেগুলো নেই — খাতায় এখন যা আছে, প্রতিটি কেউ নিজে ফর্ম পূরণ করে পাঠিয়েছেন।

কেন লেখা থাকল: নমুনাগুলো কিছু সময় খাতায় প্রকাশিত ছিল এবং তখনকার সংখ্যাগুলোতে গোনা হয়েছিল। কেউ যদি সেই সময়ের কোনো সংখ্যা দেখে থাকেন, সেটি কী দিয়ে তৈরি ছিল তা জানার অধিকার তাঁর আছে। সারিগুলো মুছে ফেলা যায়, কিন্তু সেগুলো যে দেখানো হয়েছিল সেই সময়টুকু মোছা যায় না।

রিপোর্ট যাচাই করা হয় না

এখানে জমা পড়া কোনো রিপোর্ট কেউ পড়ে সত্য-মিথ্যা বিচার করেন না। করার উপায়ও নেই — কে জানিয়েছেন তা সংরক্ষণ করা হয় না, প্রমাণ নেওয়া হয় না, এবং ফর্মে লেখার কোনো ঘর নেই বলে যাচাই করার মতো কোনো বিবরণও থাকে না। প্রতিটি উত্তর একটি নির্দিষ্ট তালিকা থেকে বেছে নেওয়া।

এর একটি ফল খাতায় সরাসরি চোখে পড়ে: প্রতিটি সারি একই ছাঁচে লেখা। বাক্যগুলো কেউ লেখেননি — বেছে নেওয়া উত্তরগুলো একটি নির্দিষ্ট কাঠামোয় বসিয়ে তৈরি করা হয়, তাই একশো সারি পড়লে একই গড়ন বারবার আসে। এটি ত্রুটি নয়; নাম, ঠিকানা বা অভিযোগ লেখার কোনো ঘর না রাখার সরাসরি ফল, এবং সেটিই এই সাইটের প্রধান সুরক্ষা।

তাই এই সাইটের সংখ্যাগুলো হলো মানুষ যা জানিয়েছেন তার হিসাব — যা প্রমাণিত হয়েছে তার নয়। এটি সাইটের একটি সীমা, এবং এটি লুকানো হয়নি; প্রতিটি পাতার নিচে একই কথা লেখা আছে।

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

প্রতিটি হিসাব

নিচের নামগুলো ডেটাবেসের প্রকৃত ক্ষেত্রের নাম। প্রতিটি হারের হর (denominator) হলো সেই প্রশ্নের উত্তর দেওয়া রিপোর্টের সংখ্যা, খাতার মোট সংখ্যা নয় — কেউ উত্তর না দিলে সেই রিপোর্ট ওই হিসাবের বাইরে থাকে।

নীরবতার হার

count(toldAnyone = NO_ONE) ÷ count(toldAnyone ≠ null)

যাঁরা ঘটনার কথা কাউকে জানাননি, তাঁদের অনুপাত। প্রথম পাতার বড় সংখ্যাটি এটিই।

প্রকাশিত রিপোর্ট

count(status = APPROVED এবং reporterType = SELF)

যাচাই শেষে প্রকাশিত রিপোর্টের মোট সংখ্যা। এটি হার নয়, তাই কোনো ন্যূনতম সীমা প্রযোজ্য নয়।

পাশে মানুষ ছিল

count(bystander ∈ {PRESENT_DID_NOT_HELP, PRESENT_HELPED}) ÷ count(bystander ≠ null)

ঘটনার সময় আশেপাশে কেউ ছিল, এমন রিপোর্টের অনুপাত।

কেউ এগিয়ে এসেছিল

count(bystander = PRESENT_HELPED) ÷ count(bystander ≠ null)

হর এখানে সব উত্তরদাতা, শুধু যাঁদের পাশে কেউ ছিল তাঁরা নন। অর্থাৎ এটি 'সব ঘটনার কত অংশে কেউ এগিয়ে এসেছিল', 'পাশে লোক থাকা ঘটনার কত অংশে' নয়।

একবারের বেশি বা চলমান

count(frequency ∈ {MULTIPLE, ONGOING}) ÷ count(frequency ≠ null)

একবারের বেশি ঘটেছে বা এখনো চলছে, এমন রিপোর্টের অনুপাত।

জানানোর পথ (ফানেল)

মোট → count(toldAnyone ≠ NO_ONE) → count(toldAnyone ∈ {INSTITUTION, POLICE_OR_LEGAL}) → count(reportOutcome = ACTION_TAKEN)

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

কেন জানাননি

silenceReason অনুযায়ী ভাগ, শুধু toldAnyone = NO_ONE রিপোর্টের মধ্যে

ছয়টি কারণের প্রতিটির অনুপাত। হর হলো যাঁরা কাউকে জানাননি এবং কারণ জানিয়েছেন, তাঁদের সংখ্যা।

বিভাগ অনুযায়ী প্রতি ১ লাখে

(বিভাগের রিপোর্ট সংখ্যা ÷ বিভাগের জনসংখ্যা) × ১,০০,০০০

ঢাকার জনসংখ্যা বরিশালের প্রায় পাঁচ গুণ, তাই কেবল সংখ্যা তুলনা করলে তা হয়রানির কথা কম, কে কোথায় থাকে তার কথা বেশি বলে। জনসংখ্যার উৎস নিচে দেওয়া আছে।

জানানোর পরেও কিছু হয়নি

count(reportOutcome = NOTHING_HAPPENED) ÷ count(reportOutcome ≠ null)

হর হলো যাঁরা প্রতিষ্ঠান, পুলিশ বা আইনি সহায়তায় গিয়েছেন এবং ফল জানিয়েছেন — খাতার মোট নয়। যাঁরা কাউকে জানাননি, তাঁরা এই হিসাবের বাইরে।

জানানোর পর ক্ষতি

count(reportOutcome ∈ {BLAMED_INSTEAD, HARMED_AFTER_REPORTING}) ÷ count(reportOutcome ≠ null)

জানানোর পর উল্টো দোষারোপ করা হয়েছে, বা জানানোর কারণে ক্ষতি হয়েছে — দুটি একসাথে।

কীভাবে থেমেছে

howStopped অনুযায়ী ভাগ, হর = count(howStopped ≠ null)

ছয়টি উত্তরের প্রতিটির অনুপাত। এটি দেখায় থামানোর ভার কার উপর পড়ে — ভুক্তভোগীর নিজের, না প্রতিষ্ঠানের।

কী মূল্য দিতে হয়েছে

প্রতিটি অপশনের জন্য count(costs ∋ অপশন) ÷ count(costs খালি নয়)

এটি একাধিক-উত্তরের প্রশ্ন, তাই একজন একই সাথে চাকরি ছাড়া ও বাসা বদলানো দুটোই বেছে নিতে পারেন। ফলে শতাংশগুলো যোগ করলে ১০০-র বেশি হয়; এটি ভুল নয়, প্রশ্নের গড়ন।

গ্রাম ও শহরের ফারাক

প্রতিটি areaType-এর জন্য আলাদাভাবে: count(toldAnyone = NO_ONE) ÷ count(toldAnyone ≠ null)

প্রতিটি এলাকার নিজের হর ও নিজের সীমা। একটি এলাকায় ৩০-এর কম উত্তর থাকলে শুধু সেই এলাকার শতাংশ বাদ যায়, বাকিগুলো থাকে।

পরিসর অনুযায়ী রিপোর্ট

setting অনুযায়ী ভাগ, হর = প্রকাশিত মোট

এটি সংখ্যার ভাগ, হয়রানির হার নয়। কোনো পরিসরে বেশি রিপোর্ট মানে সেখানে বেশি হয়রানি নয় — সেখান থেকে বেশি মানুষ জানিয়েছেন।

অভিযোগ কমিটি

count(hadComplaintCommittee = HAD_ONE) ÷ count(hadComplaintCommittee ≠ null), শুধু setting ∈ {WORKPLACE, EDUCATIONAL}

প্রশ্নটি কেবল কর্মস্থল ও শিক্ষাপ্রতিষ্ঠানের রিপোর্টেই করা হয়, তাই হরও কেবল সেই দুই পরিসরের। নিষ্পত্তির প্রশ্নটি শুধু তাঁদের করা হয় যাঁদের প্রতিষ্ঠানে কমিটি ছিল।

কোথায় জানাতে হয় জানতেন না

count(knewWhereToReport = NO) ÷ count(knewWhereToReport ≠ null)

ঘটনার সময় অভিযোগ জানানোর জায়গা সম্পর্কে জানতেন কি না। এটি আইন সম্পর্কে জ্ঞানের মাপ নয়, শুধু পথ জানার।

একাধিক ব্যক্তি জড়িত

count(perpetratorCount = MULTIPLE) ÷ count(perpetratorCount ≠ null)

ঘটনায় একজন নাকি একাধিক ব্যক্তি জড়িত ছিলেন।

ভুক্তভোগীর লিঙ্গ

victimGender অনুযায়ী ভাগ, হর = count(victimGender ≠ null)

প্রশ্নটি ঐচ্ছিক, তাই হর খাতার মোটের চেয়ে ছোট এবং যাঁরা উত্তর দেননি তাঁরা কোনো ভাগেই পড়েন না।

অন্য কারো হয়ে জমা

count(reporterType = ON_BEHALF) ÷ count(status = APPROVED, তিন ধারা মিলিয়ে)

সাইটের একমাত্র হিসাব যার হর তিন ধারার সব রিপোর্ট, কারণ প্রশ্নটাই তাই — জমা পড়া রিপোর্টের কত অংশ অন্য কারো হয়ে লেখা। এটি ঘটনার সংখ্যা নয়, জমার সংখ্যা।

সাক্ষী ও ভুক্তভোগীর দুই হিসাব

সাক্ষী: count(witnessIntervened = YES) ÷ count(witnessIntervened ≠ null) · ভুক্তভোগী: count(bystander = PRESENT_HELPED) ÷ count(bystander ≠ null)

দুই দলের দুই হিসাব, পাশাপাশি দেখানো হয়, কিন্তু একটিকে অন্যটি দিয়ে ভাগ করা হয় না — সাক্ষী ও ভুক্তভোগী একই ঘটনার কথা বলছেন না। দুই সংখ্যার দূরত্বটাই যা বলার তা বলে।

টাকার দাবি

count(bribeResponse ∈ {PAID, DEMANDED_DID_NOT_PAY}) ÷ count(bribeResponse ≠ null)

প্রশ্নটি কেবল ঘুষ-সংক্রান্ত ধরন বেছে নেওয়া রিপোর্টেই করা হয়, তাই হরও সেগুলোই। টাকার পরিমাণ কখনো নেওয়া হয় না, তাই কোনো অঙ্কের হিসাবও নেই।

কোন সীমার নিচে কী দেখানো হয় না

সীমার নিচে কোনো আন্দাজ দেখানো হয় না — লেখা হয় পর্যাপ্ত তথ্য নেই।

শতাংশ সবসময় পূর্ণসংখ্যায় দেখানো হয়, দশমিক ছাড়া। n = ৩০-এ একটি রিপোর্ট হিসাবটি প্রায় সোয়া তিন শতাংশ নাড়িয়ে দেয়, তাই দশমিক বসালে তা নির্ভুলতার ভান হতো।

জনসংখ্যার উৎস

প্রতি ১ লাখে হিসাবের হর হিসেবে ব্যবহৃত জনসংখ্যা:

প্রতিবেদন — Population and Housing Census 2022, National Report (Volume I)

প্রকাশক — Bangladesh Bureau of Statistics (BBS), Statistics and Informatics Division, Ministry of Planning

প্রকাশকাল — November 2023

টেবিল — Table 3.1.4, "Enumerated and Adjusted Population by Division, 2022", p. 43

ক্রস-চেক — Table 3.2.2, "Population by Type of Dwelling, Sex and Division, 2022", p. 51 · Table 3.1.2 (Net Coverage Error 2.75%), p. 42

মূল ঠিকানা — https://bbs.portal.gov.bd/sites/default/files/files/bbs.portal.gov.bd/page/b343a8b4_956b_45ca_872f_4cf9b2f1a6e0/2024-01-31-15-51-b53c55dd692233ae401ba013060b9cbb.pdf

মূল ঠিকানার অবস্থা — unreachable when recorded — BBS moved to bbs.gov.bd and the census PDF has no known address on the new site

আর্কাইভ কপি (27 December 2025) — https://web.archive.org/web/20251227/https://bbs.portal.gov.bd/sites/default/files/files/bbs.portal.gov.bd/page/b343a8b4_956b_45ca_872f_4cf9b2f1a6e0/2024-01-31-15-51-b53c55dd692233ae401ba013060b9cbb.pdf

ওই টেবিলে প্রতিটি বিভাগের দুটি সংখ্যা পাশাপাশি ছাপা আছে — গণনায় যা পাওয়া গেছে (enumerated), এবং গণনা-পরবর্তী যাচাইয়ে বাদ পড়া মানুষের সমন্বয়ের পর (adjusted)। এই সাইট adjusted সংখ্যাগুলো ব্যবহার করে।

কারণটি পছন্দের নয়। সমন্বয়ের মাত্রা সব বিভাগে এক নয় — রাজশাহীতে ২.১৬৬%, সিলেটে ৩.৪৪৫%, অর্থাৎ ১.২৮ শতাংশ বিন্দুর পার্থক্য। ফলে কোন কলাম বেছে নেওয়া হচ্ছে তার উপর বিভাগে বিভাগে তুলনা বদলে যায়। গণনার সংখ্যা ব্যবহার করলে ঠিক সেই বিভাগগুলোতেই হর কম হতো যেখানে সবচেয়ে বেশি মানুষ গণনার বাইরে ছিলেন, এবং সাইটটি সিলেট ও ময়মনসিংহে এমন উঁচু হার দেখাত যা আসলে আদমশুমারির আওতার ফল। সমন্বিত সংখ্যাটিই বিবিএস বাংলাদেশের জনসংখ্যা হিসেবে প্রকাশ করে (১৬,৯৮,২৮,৯১১)।

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

সীমাবদ্ধতা

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

এটি আইনি রেকর্ড নয়, প্রমাণ নয়। এখানকার কোনো রিপোর্ট আদালতে বা তদন্তে প্রমাণ হিসেবে গণ্য হওয়ার জন্য তৈরি নয়। কোনো রিপোর্ট স্বাধীনভাবে যাচাই করা হয়নি — যাচাই বলতে প্রকাশের আগে নিয়ম মেনে চলা হয়েছে কি না তা দেখা বোঝায়, ঘটনাটি সত্য কি না তা নয়।

সংখ্যাগুলো ঘটনার সংখ্যা নয়, রিপোর্টের সংখ্যা। হয়রানির হার বাড়লে সংখ্যা বাড়তে পারে, আবার সাইটটি বেশি মানুষ চিনলেও বাড়তে পারে। দুটি আলাদা করার কোনো উপায় এই তথ্যের মধ্যে নেই।

সময়ের তুলনা সাবধানে পড়তে হবে। পুরনো বছরের ঘটনা মানুষ আজ জানাতে পারেন, তাই বছরভিত্তিক সংখ্যা ওই বছরে কী ঘটেছিল তার চেয়ে কখন জানানো হয়েছে তার কথা বেশি বলতে পারে।

কে জানাননি, তা এখানে নেই। যে হয়রানির কথা কেউ কোথাও জানাননি, তা কোনো খাতায় থাকে না — এটিতেও না।

সংশোধন

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