Bangladesh banking supervision / Methodology
Bangladesh banking supervision: methodology
A system-level view of Bangladesh's banking sector, built from Bangladesh
Bank-sourced published data. This page documents what the /bd-supervision
module shows, how each figure is computed, why it is published at the system
and bank-category level only, and how the tracker's figures reconcile against
the IMF's Financial Soundness Indicators for Bangladesh.
What this is, in one paragraph
Bangladesh has 57 Bangladesh Bank-licensed scheduled banks. This module reports their condition only in aggregate: one system-wide row and four bank-category rows (state-owned commercial, private commercial, foreign commercial, specialized). It never names a bank, and it never attaches a weakness, distress signal, ranking, or score to a named institution. Two data layers are shown side by side: a single cross-sectional snapshot of the 57-bank register (assets, deposits, advances, a loan-weighted NPL ratio, an asset-weighted capital ratio, and a count of under-capitalised banks), and the IMF's multi-year Financial Soundness Indicators for Bangladesh, which are the authoritative complete-population figures the Bangladesh Bank itself reports to the IMF.
Source lineage
Primary origin: Bangladesh Bank publications. Every figure ultimately traces to Bangladesh Bank-regulated banks' own public disclosures (annual reports, audited financial statements) and Bangladesh Bank circulars and directives. These are public-interest regulatory and corporate disclosures, not a licensed commercial dataset.
The register layer comes from BDPolicyLab's 57-bank tracker
(~/bdpolicylab/data/bank_tracker/banks.parquet), a separate project's
read-only repository. BDPolicyLab collects the per-bank figures primarily from
bank annual reports and audited financial statements, Bangladesh Bank
circulars, and credit-rating-agency actions (CRAB/CRISL), AI-search-assisted,
on a semi-annual refresh. All 57 records carry a verification date of
2026-07-05, the most recent refresh run. FinWeave reads that parquet in memory,
computes the category and system aggregates, and discards the bank-level frame;
no bank-level copy of the register is persisted anywhere in this repository
(see the design decision below). The build is scripts/build_bd_banking_aggregates.py;
full provenance is in data/raw/bd_export/SOURCE.md and docs/data_provenance.md.
The IMF FSI layer comes from the IMF's Financial Soundness Indicators
database for Bangladesh (data/parquet/fsi.parquet), which the Bangladesh Bank
reports to the IMF on the complete population of banks.
The aggregates-only design decision
This module publishes system-level and bank-category-level aggregates only. No individual bank is ever named in connection with any weakness, distress, ranking, or score, on this page or anywhere on FinWeave. This is a settled editorial policy, not a technical limitation. The underlying register names real, operating institutions and carries real distress data; the sector employs real people and its published figures move real markets. The cost of publishing a system view without naming any bank is low; the cost of a named-bank distress label being wrong, stale, or read as an accusation is not. So the module is built to make the bank-level layer structurally unreachable: the aggregation script never writes a bank-level row to any file, and the four-category display set is the finest grain this module will ever show. Anyone needing bank-level figures should consult the banks' own audited statements and Bangladesh Bank's official publications directly.
Categories
The four display categories map to Bangladesh Bank's own ownership classification:
- State-owned commercial banks (7 banks).
- Private commercial banks (38 banks): BDPolicyLab's native schema splits these into 33 conventional and 5 Islamic; this module combines them into one private-commercial category to match the four-category display set.
- Foreign commercial banks (9 banks).
- Specialized banks (3 banks: agricultural, expatriate-welfare, and development banks).
The four categories sum to exactly 57. A fifth system row aggregates all 57.
Definitions and coverage
Every aggregate carries its own coverage denominator, because disclosure is far below 100% for every field except the bank count itself. The module shows the denominator next to each figure; no field is zero-filled to fake completeness.
- Total assets / deposits / advances / net profit: a plain sum over the
banks in the category that disclose that field. Each sum is published with an
n_banks_reportingcount. - Weighted NPL ratio (
weighted_npl_pct): loan-weighted, computed as the summed non-performing-loan amount divided by summed gross loans across banks that disclose both. Where a bank discloses the taka NPL stock, that figure is used; where it discloses an NPL percentage and gross loans but not the taka stock, the two published figures are multiplied (a unit conversion of already disclosed numbers, not an invented value). Banks disclosing neither are excluded from both numerator and denominator. - Weighted capital ratio (
weighted_car_pct): asset-weighted, because risk-weighted assets are not separately disclosed in this source, so a true RWA-weighted system capital-adequacy ratio cannot be reconstructed. This is documented as an approximation, not a true regulatory CAR aggregate. Only 15 of 57 banks disclose a capital ratio at all, and the disclosing set is skewed toward well-capitalised private and foreign banks, so the register's weighted capital ratio should be read against the IMF FSI figure below, not on its own. - Banks below the regulatory minimum (
banks_below_car_min): a count, never names, of banks whose disclosed capital ratio falls below Bangladesh Bank's Basel III minimum of 12.5% (a 10% minimum capital-to-risk-weighted-assets ratio plus a 2.5% capital conservation buffer). The denominator is the number of banks that disclose a capital ratio at all, not all 57. Because the register is a single cross-sectional snapshot rather than a historical panel, this is a point-in-time count; there is no per-period series behind it to plot as a trend.
Why the register is a snapshot, not a trend
BDPolicyLab's tracker is a living-snapshot registry: it stores exactly one "most recent disclosed period" row per bank, not a consistent multi-period panel. There is therefore no bank-category time series to aggregate, and this module does not manufacture one. The genuine multi-year trend on this page is the IMF FSI series, which is a true annual time series for the whole system. The register contributes the current cross-sectional category breakdown; the IMF FSI contributes the history.
The IMF FSI perimeter comparison
The register's aggregates and the IMF FSI figures measure the same sector on different perimeters, and the module shows both rather than reconciling the gap away.
- NPL ratio. IMF FSI for Bangladesh (
AQ12_CFSI_PT, non-performing loans to total gross loans) is 18.96% for 2024, the authoritative complete-population figure. The register's loan-weighted system NPL is materially higher, because the register's NPL figure exists only for a self-selected, distress-skewed subset of banks (a small number of large, high-NPL banks supply most of the numerator), against IMF FSI's complete Bangladesh Bank aggregate. The gap also reflects Bangladesh's system NPL rising sharply through 2024-2025 after the post-August-2024 "honest accounting" reclassification: Bangladesh Bank's own later readings ran from about 20% at end-2024 toward the mid-30s by late 2025. - Capital ratio. IMF FSI for Bangladesh (
FSI688_CFSI_PT, regulatory capital to risk-weighted assets) is 5.59% for 2024, down sharply from 13.15% in 2023 as the same reclassification forced provisioning against newly recognised bad loans. The register's asset-weighted capital ratio is far higher, precisely because its 15-bank capital-disclosing subset is dominated by strongly capitalised private and foreign banks and under-represents the state-owned and specialised banks that pull the true system figure down.
The takeaway the module states plainly: treat the IMF FSI series as the authoritative system-wide figure, and read the register's weighted aggregates only alongside their coverage denominators. The two are not in conflict; they are the same sector seen through a complete-population regulatory lens and through a partial, disclosure-limited register.
The two series also differ in perimeter timing: IMF FSI is an annual, whole-system series; the register is a single snapshot whose underlying vintages span FY2022-23 to end-2025, with most banks on the FY2024 (December 2024) vintage.
Staleness and vintage
The register's snapshot_date is 2026-07-05, the date every one of the 57
records was last verified. It is not a claim that every bank's financials
are as of that date. The underlying disclosure vintages span FY2022-23 to
Q4 2025: about three-quarters of banks share the FY2024 (December 2024) vintage,
a handful of state-owned banks report more recent 2025 figures, and the slower-
reporting specialised banks are still on FY2022-23 or FY2023-24 annual reports.
Each category row carries its own minimum, maximum, and modal vintage date so no
reader mistakes the snapshot for a clean single-period panel. The IMF FSI series
runs annually through 2024 (its latest published year for Bangladesh at build
time).
License
The underlying data originates from Bangladesh Bank-regulated banks' public disclosures and Bangladesh Bank circulars (public-interest regulatory and corporate disclosure) and from the IMF's Financial Soundness Indicators database (attribution required). BDPolicyLab is a separate project; FinWeave stores only the derived category and system aggregates computed from its register, never a copy of the register itself.
Not advice
This module is reference information about the Bangladesh banking system, not investment, compliance, or supervisory advice, and not a rating of any institution. Verify against Bangladesh Bank's official publications and the banks' own audited statements before any operational use.