This report presents an exploratory and inferential analysis of the deposit and loan portfolio held within the Treasury Department of First City Monument Bank Limited FCMB. The dataset comprises 8,260 records extracted from the bank core banking system as at May 2026.
Five analytical techniques are applied: (1) Exploratory Data Analysis; (2) Data Visualisation; (3) Hypothesis Testing; (4) Correlation Analysis; and (5) Linear Regression.
Key findings indicate that the NGN deposit book is heavily concentrated in short-tenor placements, creating significant rollover risk. USD deposits carry lower but more dispersed rates, and customer segments attract different rate profiles across both deposits and loans.
2 Professional Disclosure
👤Author Professional Profile
Full NameFaith Ifeoma Enubuogidi
Job TitleAsset and Liability Management Treasury Officer
OrganisationFirst City Monument Bank Limited (FCMB)
DepartmentTreasury Department
Organisation TypeCommercial Bank — Licensed by the Central Bank of Nigeria
Experience10 years
2.1 Role Description
As an ALM Treasury Officer at FCMB, my primary responsibility is the daily monitoring and analysis of the bank deposit and loan book. This involves reviewing the maturity profile of term deposits in both Naira and foreign currency, assessing repricing risk as deposits mature and rates change, identifying high-risk concentrations in short-tenor or high-rate placements relative to the CBN Monetary Policy Rate, and reporting the bank liquidity position to senior management. I work directly with the data analysed in this report as part of my routine Treasury operations.
2.2 Technique Justification
01
Exploratory Data Analysis
Before advising management on rate strategy I must understand the shape of our deposit book including size distributions, missing values, and outlier placements. EDA replicates what I do every morning when I open the deposit register.
02
Data Visualisation
Treasury reports presented to ALCO are visual including maturity ladders and rate bar charts. This technique formalises that storytelling with reproducible code.
03
Hypothesis Testing
A standing management question is whether different customer segments attract statistically different rates. Hypothesis testing gives a rigorous defensible answer.
04
Correlation Analysis
In ALM we need to understand whether deposit size drives rate. Correlation analysis quantifies this relationship across our entire book.
05
Linear Regression
Predicting maturity value of a deposit given its amount, tenor, and rate underpins our cashflow forecasting. Regression formalises this calculation.
3 Data Collection and Sampling
3.1 Source and Collection Method
The dataset was extracted directly from FCMB Finacle Core Banking System by the author on 9 May 2026. The extraction covers all active term deposit accounts in NGN and USD and all active loan facilities as at the extraction date. No external or secondary data sources are used.
3.2 Dataset Overview
Table
Sheet
Records
Variables
Coverage
NGN Term Deposits
NGN
7,389
12
All active NGN fixed deposits
USD Term Deposits
USD
725
12
All active USD fixed deposits
Loan Facilities
Loan
146
11
All active NGN loan accounts
3.3 Ethical Statement
Data Governance Notice: The data was accessed in the course of the author official duties at FCMB. In accordance with FCMB data governance policy, the raw dataset is not shared publicly and is available to the examiner on written request. This report presents aggregated statistics and visualisations only, with no individual account details reproduced in full.
Data Citation: Enubuogidi F I (2026). FCMB Active Term Deposit and Loan Portfolio May 2026 Extract [Dataset]. Treasury Department, First City Monument Bank Limited, Lagos, Nigeria. Available on request from the author.
In Treasury, before I present any report to ALCO, I must first understand the shape of the data. Where are the concentrations, are there gaps, and are there outlier placements that distort averages? This EDA section replicates that morning review process in a reproducible auditable form.
5.2 Missing Value Analysis
Code
miss_deposit <-miss_var_summary(deposits) |>filter(n_miss >0)miss_loan <-miss_var_summary(loan) |>filter(n_miss >0)if (nrow(miss_deposit) >0) { miss_deposit |>kbl(caption ="Missing Values in Deposit Data") |>kable_styling(bootstrap_options =c("striped","hover"), full_width =FALSE)} else {cat("No missing values detected in the deposit dataset.")}
No missing values detected in the deposit dataset.
Code
if (nrow(miss_loan) >0) { miss_loan |>kbl(caption ="Missing Values in Loan Data") |>kable_styling(bootstrap_options =c("striped","hover"), full_width =FALSE)} else {cat("No missing values detected in the loan dataset.")}
Treasury Insight: The outlier deposits represent institutional or corporate placements far exceeding retail ticket sizes. These are legitimate transactions but warrant separate treatment in concentration risk analysis as a handful of accounts contribute disproportionately to total book value.
Technique 2Data VisualisationChapter 5: Grammar of graphics, chart selection, storytelling with data
6.1 Business Justification
The ALCO committee at FCMB requires visual representations of the deposit book including maturity ladders, rate distribution charts, and concentration maps to make pricing decisions. These five plots replicate the core visuals I produce for the monthly Treasury report.
6.2 Plot 1 Distribution of NGN Deposit Amounts
Code
p1 <-ggplot(ngn, aes(x = deposit_amount)) +geom_histogram(bins =50, fill ="#1a5276", colour ="white", alpha =0.85) +scale_x_log10(labels = scales::label_number(prefix ="NGN ", suffix ="M", scale =1e-6, accuracy =0.1)) +scale_y_continuous(labels = scales::comma) +labs(title ="Distribution of NGN Term Deposit Amounts",subtitle ="FCMB Treasury Portfolio May 2026",x ="Deposit Amount log scale",y ="Number of Accounts",caption ="Source: FCMB Finacle Core Banking System May 2026") +theme_minimal(base_size =13) +theme(plot.title =element_text(face ="bold", colour ="#1a5276"),plot.subtitle =element_text(colour ="#555555"),panel.grid.minor =element_blank())print(p1)
Distribution of NGN Deposit Amounts on a log scale showing most accounts fall between NGN 1M and 20M.
6.3 Plot 2 Interest Rate Distribution by Currency
Code
p2 <-ggplot(deposits, aes(x = rate, fill = currency)) +geom_density(alpha =0.6) +scale_fill_manual(values =c("NGN"="#1a5276", "USD"="#1e8449")) +labs(title ="Interest Rate Distribution NGN vs USD Term Deposits",subtitle ="FCMB Treasury Portfolio May 2026",x ="Contracted Interest Rate percent per annum",y ="Density",fill ="Currency",caption ="Source: FCMB Finacle Core Banking System May 2026") +theme_minimal(base_size =13) +theme(plot.title =element_text(face ="bold", colour ="#1a5276"),panel.grid.minor =element_blank())print(p2)
NGN deposits cluster in a tighter rate band while USD rates are lower and more dispersed.
In FCMB Treasury team, we regularly debate whether different deposit tenors or customer segments receive materially different rates. Formal hypothesis testing provides a statistically defensible answer that I can present to ALCO with a p-value and an effect size rather than an anecdote.
7.2 Hypothesis 1 NGN vs USD Interest Rates
H₀: The mean contracted interest rate is the same for NGN and USD deposits.
H₁: The mean contracted interest rate differs between NGN and USD deposits.
cat("Cohens d:", cohens_d_val, "(large effect if above 0.8)")
Cohens d: 1.028 (large effect if above 0.8)
Business Interpretation: The Welch t-test confirms we reject H₀. NGN deposits carry a statistically significantly higher mean rate than USD deposits. The large Cohen d confirms this is not just statistical noise but a practically meaningful difference reflecting the currency risk premium embedded in Naira placements relative to dollar placements.
7.3 Hypothesis 2 Rates Across Tenor Groups NGN
H₀: Mean interest rates are equal across all NGN tenor groups.
H₁: At least one tenor group has a significantly different mean rate.
Code
hyp2_aov <-aov(rate ~ tenor_group, data = ngn)tidy(hyp2_aov) |>mutate(across(where(is.numeric), ~round(.x, 4))) |>kbl(caption ="One-Way ANOVA: Rate by Tenor Group NGN") |>kable_styling(bootstrap_options =c("striped","hover"), full_width =FALSE)
Business Interpretation: Fill in after reviewing your ANOVA output. State which tenor groups differ significantly, report the eta-squared effect size, and explain what this means for FCMB tiered rate-setting policy.
7.4 Hypothesis 3 Loan Rates by Customer Type
H₀: Absolute loan rates are equal across all customer types.
H₁: At least one customer type receives a significantly different rate.
Business Interpretation: Fill in after reviewing your output. State whether customer types receive different rates and what this implies for loan pricing policy at FCMB.
A key ALM question is whether deposit size is correlated with rate. Do larger depositors negotiate better rates? Understanding this helps Treasury set appropriate rate bands and prevent adverse selection.
Business Interpretation: Fill in after reviewing your correlation output. Discuss the 2 to 3 strongest correlations and their specific implications for FCMB deposit pricing and ALM strategy.
Forecasting cashflow from the deposit book is a daily Treasury function. Modelling maturity value as a function of principal, tenor, and contracted rate produces a reproducible explainable forecast for ALCO that goes beyond a simple interest calculation.
9.2 Model Building and Comparison
Code
ngn_model_data <- ngn |>filter(deposit_amount >0, maturity_amount >0) |>mutate(log_deposit =log(deposit_amount), log_maturity =log(maturity_amount))m1 <-lm(log_maturity ~ log_deposit, data = ngn_model_data)m2 <-lm(log_maturity ~ log_deposit + deposit_period_days + rate, data = ngn_model_data)bind_rows(glance(m1) |>mutate(Model ="M1 Principal only"),glance(m2) |>mutate(Model ="M2 Principal plus Tenor plus Rate")) |>select(Model, r.squared, adj.r.squared, AIC, BIC, sigma) |>mutate(across(where(is.numeric), ~round(.x, 4))) |>kbl(caption ="Model Comparison: Adjusted R-squared, AIC, BIC") |>kable_styling(bootstrap_options =c("striped","hover"), full_width =FALSE)
Business Interpretation: Fill in after reviewing your output. Report adjusted R-squared, interpret each coefficient in plain business language, and state whether multicollinearity or heteroscedasticity is a concern for the forecast model.
10 Integrated Findings
1
EDA
The NGN deposit book is heavily skewed. A small number of institutional placements drive the majority of total book value. Concentration risk is a structural feature of the portfolio that cannot be assessed from averages alone.
2
Visualisation
The maturity ladder reveals clustering of maturities in May to August 2026 creating significant near-term rollover risk. Treasury must prepare competitive renewal offers for this cohort or risk losing deposits at maturity.
3
Hypothesis Testing
NGN rates are statistically significantly higher than USD rates confirming the currency risk premium. Within NGN, longer-tenor deposits attract materially higher rates validating FCMB tiered rate guide.
4
Correlation
Fill in after reviewing your correlation output. State whether deposit size and tenor significantly predict rate and what that means for pricing large-ticket customers.
5
Regression
Maturity value is reliably predicted by deposit amount, tenor, and rate. This model can be embedded into FCMB liquidity cashflow tool to generate automated maturity value forecasts reducing manual calculation errors in the daily Treasury position report.
Strategic Recommendation: Treasury should implement formal segmentation of the deposit book by tenor group and ticket size to differentiate pricing strategy. Short-tenor high-rate deposits maturing May to August 2026 should be proactively managed through early-renewal incentives at revised rates aligned to the current CBN MPR environment.
11 Limitations and Further Work
Single-day snapshot: This analysis uses one extract from 9 May 2026. Monthly extracts over 12 to 24 months would enable trend analysis of rate movements and book growth.
Incomplete loan data: The MATURITY_AMOUNT column in the Loan sheet was entirely blank in the source system preventing yield-to-maturity calculations for the loan portfolio.
Rate sign convention: Loan rates are stored as negative values in Finacle and were corrected by taking absolute values.
No customer demographics: Segmentation beyond CUSTOMER TYPE is limited. Access to the CRM system would enable analysis by industry, relationship tenure, and geography.
Future extension: A time-series ARIMA model on monthly deposit volumes would produce liquidity forecasts with prediction intervals which would be a direct input to the FCMB ILAAP process.
12 References
Enubuogidi F I (2026). FCMB active term deposit and loan portfolio May 2026 extract [Dataset]. Treasury Department, First City Monument Bank Limited, Lagos, Nigeria. Available on request from the author.
Wickham H and Grolemund G (2017). R for data science. O’Reilly Media. https://r4ds.had.co.nz
Wickham H (2016). ggplot2: Elegant graphics for data analysis. Springer. https://doi.org/10.1007/978-3-319-24277-4
Allaire J J Teague C Scheidegger C Xie Y and Dervieux C (2022). Quarto [Computer software]. https://doi.org/10.5281/zenodo.5960048
13 Appendix: AI Usage Statement
AI tools specifically Claude by Anthropic assisted in the initial structuring of this Quarto document including generating the YAML header, section scaffolding, and code chunk templates. All analytical decisions including the choice of techniques, the framing of hypotheses, the interpretation of outputs, and the business recommendations are the author own independent judgement based on 10 years of Treasury experience at FCMB. Every line of code was reviewed and adapted to fit the specific dataset and business context. The author is able to explain and defend every result in the viva voce.