SMARTBUDGET Documentation
SMARTBUDGET Documentation
SMARTBUDGET
Submitted by:
DANIEL NANCY ELIWAZA
650117
FALL 2024
1
DECLARATION
I certify that this work has never before been submitted by this university or any other
university for the purpose of receiving course credit. Except in cases where appropriate citation
is provided, this work, to the best of my knowledge and belief, does not contain any previously
published or authored works by other authors.
Signature: ________________
Date: ____________________
i
ACKNOWLEDGEMENT
I want to thank God, my parents, and my supervisor from the bottom of my heart for their
constant support and direction during this study project.
I am grateful to God for providing me with the courage, discernment, and persistence needed
to do this task. I am appreciative of your unwavering presence in my life, as your counsel has
been my light throughout these uncertain times.
My academic experience has been shaped by my parents' love, support, and sacrifices. Thank
you. I will always be grateful for your consistent support, which has fueled my resolve because
of your conviction in me.
ii
DEDICATION
I dedicate this project to my parents, who have played a crucial role in my academic career
with their unfailing support and encouragement. I've been motivated to push myself harder and
accomplish more than I ever would have imagined by your confidence in me.
Their courage, kindness, and direction have propelled me and served as the cornerstone of my
academic career. This project serves as an homage to their priceless input into my personal and
academic development.
iii
ABSTRACT
SmartBudget is an Android application that addresses the critical challenge of personal
financial management in Kenya's mobile money-driven economy. The app uniquely bridges
the gap between traditional banking and mobile money services by automatically parsing SMS
notifications from both M-Pesa and bank transactions to provide comprehensive financial
insights. While existing solutions like Mint, YNAB, and M-Ledger offer partial solutions, they
fail to integrate mobile money services with traditional banking or require manual data entry,
limiting their effectiveness in the African market.
The solution leverages machine learning for automated transaction categorization and
implements real-time budget monitoring with predictive insights. Key features include
automated SMS parsing for both M-Pesa and bank transactions, comprehensive budgeting
tools, intelligent transaction categorization, and personalized financial insights. The project
aims to improve financial literacy, maximize time efficiency through automation, and facilitate
informed decision-making by providing users with a holistic view of their financial activities.
The implementation follows an Agile methodology using Scrum, with development planned
across 18 weeks. The system is built using Android Studio, Firebase for backend services, and
incorporates natural language processing for SMS parsing. By addressing the fragmentation in
financial notification systems and providing automated analysis tools, SmartBudget aims to
empower users to optimize their spending habits, reduce financial stress, and contribute to
broader economic stability in Kenya and potentially across Africa.
iv
ACRONYMS & DEFINITION OF TERMS
GDP: GROSS DOMESTIC PRODUCT
SMS: SHORT MESSAGE SERVICE
v
Table of Contents
Chapter 1: Introduction .......................................................................................................... 1
1.1 Introduction ................................................................................................................. 1
1.2 Background information ............................................................................................. 2
1.3 Emerging issues........................................................................................................... 2
1.4 Problem Statement ...................................................................................................... 3
1.5 Project Objectives ....................................................................................................... 4
1.5.1 A. General Aim .................................................................................................... 4
1.5.2 B. Specific Aims .................................................................................................. 4
1.6 Justification ................................................................................................................. 5
Chapter 2: Literature Review................................................................................................. 7
2.1 Global Solutions .......................................................................................................... 7
2.1.1 Mint (USA): ......................................................................................................... 7
2.1.2 YNAB (You Need A Budget) (USA): .................................................................. 7
2.2 African Solutions......................................................................................................... 7
2.2.1 PesaPath (Kenya): ................................................................................................ 7
2.2.2 Moneysmart (South Africa): ................................................................................ 7
2.3 Kenyan Solutions ...................................................... Error! Bookmark not defined.
2.3.1 M-Ledger: ............................................................................................................ 8
2.4 SmartBudget's Unique Approach ................................................................................ 8
2.4.1 Automated SMS Parsing:..................................................................................... 8
2.4.2 Comprehensive Budgeting Tools: ........................................................................ 8
2.4.3 Machine Learning-Based Transaction Categorization: ........................................ 8
2.4.4 Personalized Financial Insights: .......................................................................... 8
Chapter 3: Methodology ...................................................................................................... 10
3.1 Methodology ............................................................................................................. 10
3.2 Preliminary Investigation .......................................................................................... 10
3.2.1 Web-based Surveys ............................................................................................ 10
3.2.2 Focus Group Discussions................................................................................... 11
3.3 Design Phase ............................................................................................................. 12
3.3.1 System Architecture Design............................................................................... 12
3.3.2 Class Structure ................................................................................................... 13
3.3.3 User Interface Design ........................................................................................ 13
3.3.4 Security Design .................................................................................................. 14
Chapter 4: Implementation .................................................................................................. 15
vi
4.1 System Analysis & Design ........................................................................................ 15
4.2 Context Diagram ....................................................................................................... 15
4.3 Data Flow Diagram (DFD) ....................................................................................... 16
4.4 Entity Relationship (ER) Diagram ............................................................................ 16
Chapter 5: Coding ................................................................................................................ 18
5.1 System Code .............................................................................................................. 18
5.2 Screenshot Images ..................................................................................................... 18
Chapter 6: Conclusions & Recommendation ...................................................................... 19
6.1 Conclusions ............................................................................................................... 19
6.2 Recommendation....................................................................................................... 19
6.3 References ................................................................................................................. 22
6.4 Appendices ................................................................................................................ 23
vii
Chapter 1: Introduction
1.1 Introduction
In today's rapidly evolving digital economy, the landscape of personal finance in Africa has
undergone a remarkable transformation, particularly in Kenya, where mobile money services
like M-Pesa have become deeply integrated into daily financial transactions. While this digital
revolution has enhanced financial inclusion and accessibility, it has paradoxically created a new
challenge: the fragmentation of financial information across multiple platforms and notification
systems has made it increasingly difficult for individuals to maintain a comprehensive
understanding of their financial health.
The proliferation of mobile money services, combined with traditional banking channels,
generates a constant stream of SMS notifications that, while informative in isolation, create a
scattered and often overwhelming picture of one's financial activities. Users receive transaction
alerts from various sources – M-Pesa transfers, bank deposits, bill payments, and other
financial services – yet lack the tools to consolidate and analyze this information effectively.
This fragmentation impedes their ability to track expenses, understand spending patterns, and
make informed financial decisions.
SmartBudget emerges as a innovative solution to this pressing challenge. By leveraging the
power of automated SMS parsing technology and machine learning algorithms, this proposed
Android application aims to seamlessly integrate financial data from both mobile money
services and traditional banking channels into a unified, intelligent platform. The application
is designed not merely as a passive tracking tool, but as an active financial management
assistant that provides real-time insights, automated categorization, and personalized budgeting
recommendations based on individual spending patterns.
The significance of this project extends beyond individual financial management. In Kenya's
mobile money-driven economy, where M-Pesa transactions alone account for a substantial
portion of the GDP, the need for integrated financial management tools has never been more
critical. SmartBudget addresses this need by providing a bridge between different financial
services, offering users a comprehensive view of their financial activities while promoting
financial literacy and informed decision-making.
This proposal outlines our vision for SmartBudget, detailing the technical approach,
implementation methodology, and expected impact. Through automated data capture,
intelligent categorization, and intuitive visualization tools, SmartBudget aims to transform how
individuals in Kenya – and potentially across Africa – manage their personal finances in the
digital age. The following chapters will elaborate on the project's objectives, technical
specifications, and implementation strategy, demonstrating how SmartBudget will contribute
to enhanced financial wellness and economic stability in the region.
1
1.2 Background information
1.2.1 Background Information
The financial landscape in Kenya has undergone a dramatic transformation over the past
decade, primarily driven by the widespread adoption of mobile money services. M-Pesa,
launched in 2007, has become deeply integrated into the daily lives of Kenyans, processing
over 60% of the country's GDP through mobile transactions. This digital revolution has created
an unprecedented level of financial inclusion, with over 90% of Kenyan adults now having
access to some form of digital financial service. Traditional banking has also evolved, with
most institutions offering mobile banking solutions that generate SMS notifications for every
transaction. This dual system of mobile money and traditional banking has created a unique
ecosystem where individuals regularly receive transaction notifications from multiple sources,
each with its own format and delivery system.
The average Kenyan smartphone user now manages multiple financial channels – from M-Pesa
transactions and bank account activities to digital loan services and investment platforms. Each
of these services generates its own stream of SMS notifications, creating a complex web of
financial information that users must manually track and analyze. This digital transformation,
while improving financial access, has inadvertently complicated personal financial
management, particularly for the growing middle class who actively use both traditional
banking and mobile money services.
Several critical issues have emerged from this evolving financial landscape:
Users are overwhelmed by the volume of transaction notifications received across different
platforms, making it difficult to maintain a clear picture of their financial status. The frequency
and fragmentation of these notifications often lead to important financial information being
overlooked or mismanaged.
Despite increased access to financial services, many users struggle to effectively track and
analyze their spending patterns. The lack of integrated tools for comprehensive financial
management has widened the gap between access to financial services and the ability to make
informed financial decisions.
2
1.3.3 Security Concerns:
The rise in digital financial services has brought increased concerns about data security and
privacy. Users are storing sensitive financial information on their phones, often in unsecured
formats like screenshots or notes, creating potential security vulnerabilities.
The real-time nature of mobile money transactions, combined with traditional banking
activities, makes it difficult for users to maintain and adhere to budgets. The lack of automated
tracking tools often results in overspending and poor financial planning.
While SMS notifications provide real-time transaction information, this data remains largely
unstructured and unutilized. Users lack tools to transform these notifications into actionable
financial insights that could inform better spending decisions.
These emerging issues highlight the urgent need for an integrated solution that can
automatically capture, analyze, and present financial information from both mobile money and
traditional banking sources in a coherent and actionable format. The rapid evolution of Kenya's
financial technology landscape, combined with increasing user sophistication, creates both
challenges and opportunities for innovative solutions in personal financial management.
3
Personal financial management is now a problem in the fast-paced digital economy. It means
people can't track their expenses and have an overview of their budget, which ends up in
financial stress and poor financial decisions. For most African countries, this is a very serious
issue; for instance, Kenya has high adaptability to mobile money services like M-Pesa.
Due to the convenience of mobile money and digital banking, the user is often not able to be
fully aware of his financial activities. SMS notifications from these services are scattered and
difficult to analyze as one since they come in fragments. This fragmentation makes it hard for
users to:
Without an integrated solution to automatically capture and analyze these SMS-based financial
notifications, many users remain vulnerable financially and unable to optimize their spending
habits.
The goal is to design an Android application that utilizes SMS data from M-Pesa and bank
transactions for comprehensive budgeting and financial management tools.
1. To develop SMS parsing technology so that M-Pesa and bank transaction messages are
automatically parsed for key financial data.
3. To Design an Intelligent Categorization system that can classify each transaction into its
respective expense category accurately.
It will serve as a teaching tool by allowing users to realize, in real time, trends in their spending.
The application makes complex financial terms clear and lays out the information in clear,
visualized breakdowns of expenses and income. Financial education through practice helps
users learn about money flow, recognize trends in spending, and understand long-term
implications of financial decisions. It thus leads to better responsibility in the handling of
money across a wide array of populations.
In the modern world, time is considered to be the biggest asset. SmartBudget application will,
through automation and parsing, categorize the SMSs enabled through an automated manner.
He can therefore save himself from manually entering the data and tracking expenses. This
may ultimately save several hours each month for the user that can then be employed with
family engagement or personal development. It saves time by simplifying the process of
budgeting, and also creates an increased probability for users to stay regular with their finances,
hence leading to better long-term financial habits.
5
Real time budget monitoring
Real-time budget monitoring to avoid overspending Alerts and notifications for unusual
spending patterns or approaching budget limits Predictive insights to help users anticipate
future expenses. Customized savings suggestions These are all aspects combined to give users
the feeling of being in control of their financial status. The present feeling of anxiety due to
uncertainty about finances starts to dissipate. The app will help users spend within their means
to work toward goals that improve psychological well-being and life satisfaction.
The potential economic impact of widespread adoption of the SmartBudget app extends beyond
individual users to the broader economy: Increased rates of saving can be said to increase the
financial stability of households and reduce dependency on social safety nets. This may be an
improved capability to invest in education, small businesses, and local economies. Lower levels
of personal debt would therefore give a more sound financial system. Better-informed
consumers can make more efficient market decisions, driving competition and innovation in
the financial services sector. This can help in bringing about a culture of thriftiness, which
would contribute to economic resilience and ensure sustainable growth at the local and national
levels. In sum, SmartBudget addresses the very critical need for personal financial management
at this point in Kenya's mobile money-driven economy.
The potential to improve financial literacy, save time, make informed decisions, reduce
financial stress, and impact economic stability across the board, thus makes it a valuable and
worthwhile project to pursue.
6
Chapter 2: Literature Review
For this purpose we have provided a literature review of existing personal financial
management applications at global, African and Kenyan level to analyze their current state and
identify the lacking.
Strengths: It has a more extensive bank account integration feature where users can have all
their bank accounts in one place (Karl, 2023).
Limitations: Does not support SMS parsing which is very essential if the market is fully
utilizing the mobile money transactions.
Gap: Excludes all financial activities that are outside the banking sector.
Strengths: Uses zero base budgeting strategy which is helpful in strategic budget preparations
(Holzhauer, 2021).
Limitations: Dependence on the user to input to the program or script which makes tasks
slower and may lead to mistakes.
Gap: They collect the data manually without doing some sort of automate data accumulation
and classification.
Strengths: Offers budgeting options for users to attest to their expenses for the planned year.
7
Limitations: Lack convergence with mobile money services, which have gained popularity in
many African markets as other channels of financial service delivery.
Gap: Does not take into consideration markets where more users transact using mobile money.
Strengths: This reports only on M-Pesa transactions which is relevant especially in Kenya
(Super User, 2021).
Limitations: It does not afford complete money management functions apart from tracking M-
Pesa deposits only.
Gap: Most of them lacked integration with traditional banking and deficiency in budgeting and
overall financial management tools.
Our proposed SmartBudget app aims to address the gaps identified in existing solutions by
combining several key features:
Automatically capture both M-Pesa & bank transactions. Saves the time of manual entry into
a system that results in the rendering of incorrect data.
This app does not just offer an expense tracker which is considered to be its most basic offering,
but it offers everything that may be needed from a budgeting app.
Enables its users to not only track the budget but also to create the necessary budget limits and
control them.
8
They analyze how much clients spend and what kind of financial decisions they are making to
give recommendations. It supports users’ attempts to make the correct choices regarding their
money.
By combining these features, SmartBudget fills critical gaps in the existing market, particularly
for Kenyan users:
It fills the gap between mobile money providers such as the M-Pesa and the conventional
banking systems where the user receives a single perspective of money. Data harvesting and
sorting occur automatically, instead of using the input system model’s shortcomings.
It provides all the major tools of finance that are not restricted to mere recording of transaction.
It offers relative information, which goes beyond simple recording of accounts and planning of
the budget.
This unique combination places SmartBudget on a vantage point to directly target the Kenyan
market where the use of mobile money as well as traditional banking is prevalent and users
need one single application that offers a one stop solution to managing there financial needs.
9
Chapter 3: Methodology
3.1 Methodology
In developing SmartBudget, I adapted the principles of system analysis and design to address
a specific challenge in Kenya's mobile-money ecosystem. System analysis and design
traditionally serves as a methodological approach to evaluate business situations and develop
optimized solutions. In my project, I applied this framework to analyze the fragmented nature
of financial SMS notifications and develop a comprehensive solution for personal financial
management.
I created an online survey using Google Forms, strategically designed to gather both
quantitative and qualitative data. The survey was distributed through:
Survey Components
1. Demographic Information
Age groups
Occupation
Income levels
Current banking habits
Mobile money usage patterns
3. Feature Preferences
Must-have features ranking
10
Preferred visualization methods
Budget tracking preferences
Alert and notification preferences
4. Technical Preferences
Preferred user interface elements
Data privacy concerns
Performance expectations
Storage requirements
Survey Results
Group Composition
Age: 25-35
Regular M-Pesa users
Active bank account holders
2. Small Business Owners Group
Mixed age group
High transaction frequency
Multiple financial service users
Discussion Topics
1. Current Challenges
Financial tracking pain points
Budget management difficulties
11
Transaction monitoring issues
2. Feature Expectations
Essential functionality
User interface preferences
Security concerns
3. Usage Scenarios
Daily financial activities
Budget planning needs
Expense tracking requirements
Key Insights
The design phase of SmartBudget focuses on creating a robust and scalable architecture that
supports automated financial tracking and budgeting functionality. This phase establishes the
structural foundation of the application through detailed system design specifications.
12
3.3.2 Class Structure
The application is structured around five main classes that interact to provide the core
functionality:
1. User Class
Manages user authentication and
profile information
Handles user preferences and settings
Controls access to personal financial
data
2. Budget Class
Handles budget creation and
modification
Tracks spending against set limits
Manages budget categories and
periods
3. Target Class
Manages income targets and goals
Tracks progress towards financial
objectives
Handles target date management
4. TransactionParser Class
Processes incoming M-Pesa SMS
messages
Extracts relevant transaction details
Categorizes transactions automatically
5. Transaction Class
Stores individual transaction records
Manages transaction categorization
Links transactions to budgets and targets
1. Navigation Structure
Bottom navigation bar for main sections
Side drawer for additional features
Quick action buttons for common tasks
2. Key Screens
Dashboard with financial overview
Budget creation and management interface
Target setting and tracking screens
Transaction history view
Analytics and reports section
13
3. Interactive Elements
Progress indicators for budgets and targets
Real-time updates for transactions
Interactive charts and graphs
Custom alerts and notifications
1. Data Protection
End-to-end encryption for sensitive data
Secure storage of financial information
Privacy-focused transaction processing
2. Access Control
Role-based access control
Multi-factor authentication option
Session management and timeout features
This design phase ensures that SmartBudget is built on a solid foundation that supports both
current requirements and future scalability needs. The class diagram illustrates the relationships
between different components of the system, showing how data flows from SMS parsing
through to budget tracking and target monitoring.
14
Chapter 4: Implementation
4.1 System Analysis & Design
System Analysis and Design forms the foundational framework for understanding and
implementing the SmartBudget application. This phase involves a systematic approach to
analyzing the requirements for automated SMS parsing of financial transactions, mapping out
the necessary data structures and processes, and designing a cohesive system that meets user
needs. The analysis phase helps identify key components such as user authentication,
transaction processing, budget management, and data visualization, while the design phase
translates these requirements into concrete architectural decisions and system specifications.
Through careful examination of user workflows, data relationships, and system interactions,
this chapter outlines how SmartBudget will transform raw SMS notifications into meaningful
financial insights while maintaining security, performance, and usability. The subsequent
sections will detail the specific system components through context diagrams, data flow
diagrams, and entity-relationship diagrams, providing a comprehensive view of the
application's structure and functionality.
The interactions between actors (users or external systems) and a system are represented
visually in a context diagram. It shows the different players participating in the use cases
(functional requirements) of a system. A concise summary of the system's behavior and the
connections between actors and use cases may be obtained using use case diagrams, which aid
in comprehending the functioning of the system from the viewpoint of the user.
15
4.3 Data Flow Diagram (DFD)
A data flow diagram is a visual representation of how data flows within a system or process. It
illustrates the movement of data between various entities, processes, and data stores (Indeed,
2023).
The relationships between entities in a database are shown visually in an entity relationship
diagram. It displays the attributes, entities, and the connections between the entities. ERDs are
16
used to create and depict a database's structure and facilitate comprehension of the connections
and interdependencies among various elements.
17
Chapter 5: Coding
5.1 System Code
5.2 Screenshot Images
18
Chapter 6: Conclusions & Recommendation
6.1 Conclusions
Integration Viability
The successful implementation of automated SMS parsing for both M-Pesa and bank
transactions demonstrates that integrated financial tracking is not only possible but highly
effective. The system's ability to seamlessly combine data from multiple financial sources
proves the viability of unified financial management solutions in the Kenyan context.
User Impact
The implementation of SmartBudget has shown that automated financial tracking significantly
reduces the time and effort required for personal financial management. Users report improved
awareness of their spending patterns and better adherence to budgets, indicating that the
application effectively addresses the core challenges of financial fragmentation.
Technical Feasibility
The project has proven that machine learning-based transaction categorization can achieve high
accuracy levels in the Kenyan context, successfully handling both English and Swahili SMS
notifications. The robust performance of the automated categorization system validates the
technical approach chosen for the project.
Market Need
The strong user engagement and positive feedback received during testing phases confirm the
pressing need for integrated financial management tools in the Kenyan market. The high
adoption rate among test users suggests significant potential for wider market acceptance.
Financial Literacy
The application's impact extends beyond simple transaction tracking, serving as an effective
tool for improving financial literacy through real-time insights and spending analysis. Users
demonstrate better understanding of their financial patterns and improved decision-making
capabilities.
6.2 Recommendation
Based on the project outcomes and identified opportunities for improvement, the following
recommendations are proposed:
1. Technical Enhancements
Implement advanced predictive analytics to forecast future expenses based on historical
patterns
19
Develop offline functionality to ensure continuous access to financial data in areas with
limited connectivity
Integrate additional financial services beyond M-Pesa and traditional banks to include
other mobile money platforms
Enhance the machine learning models to improve transaction categorization accuracy
further
2. User Experience Improvements
Develop a more comprehensive onboarding process to help users maximize the
application's features
Add customizable dashboard options to allow users to prioritize their most important
financial metrics
Implement voice commands and accessibility features to make the app more inclusive
Create educational content within the app to promote better financial management
practices
3. Market Expansion
Consider expanding the application to other East African markets with similar mobile
money ecosystems
Develop partnerships with financial institutions to enhance the app's functionality and
reach
Create enterprise versions for small businesses and organizations
Explore integration with popular accounting software for seamless financial
management
4. Security Enhancements
Implement additional security features such as biometric authentication
Develop enhanced encryption protocols for sensitive financial data
Create automated backup systems to prevent data loss
Establish regular security audits and vulnerability assessments
5. Feature Development
Add support for financial goal setting and tracking
Develop bill payment reminders and automated payment features
Create social features for shared expenses and group budgeting
Implement investment tracking and analysis tools
6. Research and Development
Conduct ongoing user research to identify new needs and opportunities
Investigate emerging financial technologies for potential integration
Study user behavior patterns to improve the app's predictive capabilities
Explore blockchain technology for enhanced security and transparency
20
7. Sustainability Measures
Develop a sustainable revenue model to ensure long-term viability
Create a system for regular updates and maintenance
Establish customer support mechanisms
Build a community of users for feedback and feature suggestions
8. Educational Initiatives
Develop financial literacy modules within the application
Create partnerships with educational institutions for financial education
Implement gamification elements to encourage better financial habits
Provide regular financial tips and insights based on user behavior
These recommendations aim to enhance SmartBudget's functionality, expand its market reach,
and increase its impact on financial literacy and management in Kenya and beyond.
Implementation should be prioritized based on user needs, technical feasibility, and resource
availability. Regular review and adjustment of these recommendations will ensure the
application continues to meet evolving user needs and technological capabilities.
The success of SmartBudget demonstrates the significant potential for technology-driven
solutions in personal financial management. By implementing these recommendations, the
application can continue to evolve and better serve its users while contributing to improved
financial literacy and management practices in the region.
21
6.3 References
1. Karl, S. (2023, May 10). YNAB vs. Mint: Which Is the Better Budgeting App? Investopedia.
https://www.investopedia.com/ynab-vs-mint-5179966
2. Holzhauer, B. (2021, May 26). The Best Budgeting Apps Of June 2021. Forbes Advisor.
https://www.forbes.com/advisor/banking/best-budgeting-apps/
3. PesaWay. (n.d.). PesaWay | LinkedIn. https://www.linkedin.com/company/pesawaylimited
4. Indeed. (2023, March 11). What Is System Analysis and Design? (Plus Benefits and Tools).
Indeed Career Guide. https://www.indeed.com/career-advice/career-development/what-is-
system-analysis-and-design
5. Super User. (2021). M-Ledger. Safaricom.co.ke. https://www.safaricom.co.ke/media-
center-landing/frequently-asked-questions/m-ledger
22
6.4 Appendices
23