Portfolio
Projects
Real-world finance & retail analytics, end to end.
1 · Pharmacy Sales Performance Dashboard
Complete
A full year (2024) of point-of-sale data for a pharmacy in Nouadhibou,
Mauritania — 98,495 transactions across 7 product categories.
I generated a realistic transaction dataset in Python, analysed it with
pandas, and built summary tables and charts that reveal seasonality,
category performance and brand concentration, with clear stock
recommendations.
Key findings & recommendations
- Q4 drives 30.8% of annual revenue (Oct–Dec), peaking in November (3.11M MRU). Action: raise cosmetics & gifting stock 20–30% from early October.
- La Roche-Posay + Nivea = 57% of cosmetics revenue. Action: protect availability of these two brands — never let them go out of stock.
- July is the trough, −24% below the monthly average. Action: a summer sunscreen/self-care promotion could recover an estimated 150,000–200,000 MRU.
- Medicines are 53.7% of revenue but a low 182 MRU average ticket — high volume, thin value. Cosmetics & perfumes carry the margin. Action: grow the higher-value categories.
- Friday is the weakest trading day. Align staffing and deliveries to the Mon–Thu peak.
Pythonpandas
NumPymatplotlib
openpyxl / ExcelSQL-ready CSV
Power BI / Looker
2 · Invoice Anomaly Detection
Complete
An automated review of a full year of 2,400 supplier invoices
(~148M MRU) for COPEMAC, a fish processing & export company —
raw fish, ice & cold storage, packaging, freight and fuel suppliers.
It flags errors and possible fraud before payment (duplicates,
amounts above the purchase order, missing POs, statistical outliers,
weekend / out-of-hours entries), giving each invoice a risk score and a
plain-English reason. Built from my real accounts-payable experience at COPEMAC.
Key findings & recommendations
- ~4.5M MRU at risk was surfaced automatically — possible double payments from duplicate invoice numbers plus overbilling above the PO, concentrated in the large raw-fish purchases. Action: block payment on these until reviewed.
- Unusually large amounts (160) and duplicate invoice numbers (121) were the top issues. Action: add a value threshold for extra sign-off and a unique invoice-number check at data entry.
- 57 invoices were billed above their purchase order. Action: require a 3-way match (PO ↔ invoice ↔ receipt) before approval.
- A ranked "review queue" replaces blind manual checking — the team reviews the 127 high-risk invoices first instead of all 2,400.
Pythonpandas
NumPy (IQR outliers)matplotlib
openpyxl / Excel
3 · Bank Reconciliation Analysis
Complete
Automated reconciliation of COPEMAC's cash-book against its bank
statement for a full year — 1,846 transactions. It matches entries,
classifies every unmatched item (outstanding cheques, deposits in transit,
bank-only charges, timing differences, posting errors) and produces a tidy
bank reconciliation statement that ties out to zero. This is the manual
month-end task I did in Sage 100, rebuilt as a repeatable data process.
Key findings & recommendations
- 90.2% of transactions matched automatically, leaving 180 exceptions — each tagged with a reason instead of a blind manual hunt.
- The reconciliation statement ties out exactly (bank balance → adjustments → cash-book balance, difference = 0).
- Biggest gaps: outstanding items (52), posting/transposition errors (42) and timing differences (41). Action: chase unpresented cheques and fix the transposition errors first.
- ~34.6M MRU of items needed follow-up, with the net book-vs-bank difference of −1.48M MRU fully explained.
Pythonpandas
matplotlibopenpyxl / Excel
4 · Financial KPI Report
Complete
A monthly management report for COPEMAC (fish processing & export)
that turns raw financial data into the KPIs a manager actually reads:
revenue vs. budget, gross & operating margin, expense ratios, net profit,
cash position and year-on-year trend — delivered as a clean one-page Excel
dashboard, ready to load into Power BI / Looker Studio.
Key findings & recommendations
- Revenue reached 183M MRU — 96.5% of budget and +6.2% YoY vs 2023 (~172M). Action: investigate the budget shortfall and protect the high-season catch volumes.
- Gross margin 28.2%, operating margin 9.2%, net margin 6.9% — typical of a seafood business where raw-fish purchases are ~72% of revenue. Action: watch procurement cost, the biggest margin lever.
- April is the strongest month; August is the trough — driven by the fishing calendar and the Aug–Sep biological rest (closed season). Action: plan cash and cold-storage around the closed season.
- Automated monthly pack replaces slow manual reporting and is ready for a live Power BI / Looker Studio dashboard.
ExcelPower BI
Looker StudioPython (light)