Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Data & Analytics

13-Week Cash Flow Forecast for Small Businesses from Bank Statements

A final year project that builds a cash flow forecasting tool for small businesses that do not use accounting software. It turns bank and mobile wallet statements into categorised transactions, detects recurring payments, and produces a 13-week cash forecast with warning dates and what-if scenarios.

Difficulty

Intermediate

A small team, or one strong student willing to learn something new.
Effort

2 semesters · 2 to 3 students

Deliverables

6 to ship

3 optional extras

Suggested stack

PythonpandasPostgreSQLstatsmodelsFastAPIReactRecharts
A suggestion, not a requirement. Swap anything for what you already know.

What you should ship

  • Importers for at least four statement formats (two banks and one mobile wallet in CSV or PDF, plus a generic CSV mapper), with duplicate detection when statements overlap.
  • A transaction categoriser (rules plus a simple learned model) with a correction screen; corrections update future categorisation.
  • Recurring payment detection (rent, salaries, utilities, supplier cycles) with amount and date tolerance, shown for user confirmation.
  • A 13-week forecast combining confirmed recurring items, scheduled one-off items and a statistical model for irregular inflows and outflows, with a low-cash warning date.
  • A scenario tool: delay a supplier payment, add a new hire, lose a large customer, and see the new forecast.
  • A backtest report on at least five real or realistic anonymised businesses showing forecast error by week ahead.

If you have time left

  • Urdu and English interface with numbers formatted for local conventions.
  • Weekly email or WhatsApp summary with the lowest projected balance and the top three upcoming payments.
  • Receivables tracking where the owner marks who owes money and when it is expected.

The problem small businesses have with cash

A small shop, clinic, workshop or agency can be profitable on paper and still run out of cash in a bad week. Rent, salaries and a supplier bill land together; a customer pays late; the owner borrows at a bad rate or delays salaries. Many of these businesses do not use accounting software at all. Their financial record is a bank statement, a mobile wallet history (JazzCash or Easypaisa in Pakistan, M-Pesa in Kenya, UPI apps in India) and a notebook.

Accountants and lenders use a simple tool for this: the 13-week cash flow forecast. Owners rarely have one, because building it by hand from statements takes hours every week.

What already exists and the gap

  • Float forecasts cash flow for businesses on Xero, QuickBooks Online or FreeAgent, on a monthly subscription priced in US dollars.
  • Fathom offers financial analysis and reporting on top of accounting software.
  • QuickBooks and Xero include basic cash flow projections for their own users.
  • Spreadsheet templates exist, but the owner still has to categorise every transaction by hand.

The gap: all serious tools assume the business already runs accounting software. Businesses that live in bank and wallet statements, especially in emerging markets, have nothing that starts from the statement itself. Turning statements into a clean, categorised, forecastable ledger is the data problem at the heart of this project.

What you build

Roles: owner (uploads statements, confirms categories, reads the forecast) and accountant (manages several businesses, reviews categories).

Flows:

  1. Upload statements; the importer detects the format, parses rows and removes duplicates from overlapping periods.
  2. Transactions are categorised; the owner corrects mistakes quickly in bulk.
  3. The system finds recurring patterns and asks the owner to confirm them ("Rent, about 85,000 on the 1st of each month?").
  4. The forecast combines confirmed recurring items, known one-off items and a model for the rest.
  5. The dashboard shows weekly opening and closing balance, a warning date, and scenarios.

The technically interesting part

Recurring payment detection and a forecast you can trust. Recurring items are never exact: salaries move by a day around weekends, utility bills vary, suppliers are paid every two or three weeks. Design a detector that groups transactions by counterparty (after cleaning messy narration text), then tests for regular intervals with tolerance. This is a small entity resolution problem as well, because the same counterparty appears with different reference text.

For the forecast, show why a pure time-series model on the balance performs badly and why separating known recurring items from irregular flows works better. Backtesting is the proof: forecast from week N, compare with what happened, repeat for many starting weeks.

How to evaluate it

  • Parsing: share of rows parsed correctly per format on hand-checked samples; duplicate detection accuracy on deliberately overlapping statements.
  • Categorisation: accuracy before and after 50 user corrections.
  • Recurring detection: precision and recall against owner-confirmed recurring items.
  • Forecast: mean absolute error of the closing balance at 1, 4, 8 and 13 weeks ahead, compared with a naive "same as last month" baseline.
  • Users: five or more owners or accountants use it for two weeks; record whether the warning date changed any decision.

Suggested plan

  1. Weeks 1 to 3: interview owners and an accountant, collect anonymised statements with consent.
  2. Weeks 4 to 8: importers, deduplication, transaction store.
  3. Weeks 9 to 12: categoriser and correction flow.
  4. Weeks 13 to 17: recurring detection and confirmation.
  5. Weeks 18 to 23: forecasting model, backtesting, scenarios.
  6. Weeks 24 to 28: pilot with real users, evaluation, write-up.

Path to a product

The first customer is a small accounting or bookkeeping firm that manages many small clients and wants to offer a cash forecast service. Charge per client business per month, with the accountant as the reseller. Later, lenders and microfinance banks may pay for consented, categorised cash flow data to assess small loans.

Scope warning

Do not build full double-entry accounting, tax filing or payroll. Do not connect to bank accounts using stored passwords; use uploaded statements or official open banking APIs where they exist. Treat statements as sensitive: encrypt at rest and let owners delete everything.

Learn what you need on Sefism

Get help with this idea

The first question to settle is which statement formats you can get with consent, since everything else depends on real data. If you want a second opinion on scope, stack or how to evaluate it before you pitch it to your supervisor, a mentor can help you shape it. You still build it; the guidance is about making the plan realistic and the results defensible. New here? create a free account first.

Ideas and guidance, not finished projects

These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.

Not sure this one fits you?

I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.

Discuss this idea
Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.