Ijraset Journal For Research in Applied Science and Engineering Technology
Authors: Mathursan Balathas, Sabesan Ganeshalingam, Arosh Segar, Yahdhursheika Vallaven, Samanthi Siriwardana
DOI Link: https://doi.org/10.22214/ijraset.2022.47229
Certificate: View Certificate
Poverty, and debt are burning issues globally and especially in third-world nations such as Sri Lanka. The major contributing factor to poverty is poor personal financial planning resulting in being unable to make ends meet, forcing citizens to live mediocre lifestyles or even resort to debt or crime. Personal financial planning is one of the most crucial practices to overcome this situation namely: setting financial goals, tracking expenses, and meeting set budgets. In Sri Lanka, very few people keep track of their expenses, and a majority of those who do, follow manual methods which are error-prone and easily abandoned due to increased stress and complexity. This paper proposes a solution to automate the flow of personal finance management, requiring minimal effort from the user. The application detects SMS alerts received regarding Bank transactions and extracts transaction details. Users can easily upload their expense bills from which expense details will be fetched and processed. The app also allows users to split their bills with friends or family and track and settle their incoming and outgoing debts. Finally, the user can visualize their income and expense analysis at a glance and make better decisions to meet their financial objectives and all these features in one single application.
I. INTRODUCTION
Eradicating poverty is an act of justice rather than a task of charity [1]. Personal Finance Management is an emerging topic these days and the economic crisis is the major factor that has influenced people to control their budget while keeping track of expenses and income [2]. Traditionally, individuals managed their personal finance with the use of sticky notes and, pens and papers [3] and [4]. People had to keep all their bills and manually calculate their income and expense using a calculator which not only requires great effort and time, but people had to also compensate with inaccurate results, and it also comes with difficulty in keeping physical bills which tends to fade over a certain period, or any kind of damage that could be caused resulting in expenses details being missed out. With time, some proficient people switched to using spreadsheets for recording expenses. However, these approaches are easy to follow when the data is small, but when the data becomes huge, it becomes unmanageable. Using manual methods for personal finance management has also given rise to other problems like data inconsistency, significant inputs being missed out, and repeated occurrences of manual errors. Such data handlers have had a hectic experience in handling and processing large amounts of data which had increased their financial stress [3]. Fast-moving technology has given rise to many personal finance applications. However, most of the current applications only act as a storage medium for storing users’ financial data, as users themselves should perform the analysis to identify necessary and unnecessary expenses and take decisions to reduce them. Some users record their expenses passively in the applications and rest without analyzing them.
In the current context of the economy where most of the daily transactions have been digitalized, it is important for finance to facilitate the automated tracking of these digital transactions. If not facilitated, users will have to manually add them from their Bank statement documents or scroll through the list of Bank SMS alerts received and record them.
Adding to this, there are also existing applications that require direct linking with users’ Bank accounts to track digital transactions. But users are highly concerned with the security of sharing their Bank accounts with third-party apps, and most of the existing apps only support the linking of one Bank account, if users use multiple accounts for daily transactions, the digital transactions incurred from the non-linked Bank accounts will be left out.
Certain apps do not support linking to Sri Lankan Bank accounts for Sri Lankan users to track their digital transactions. In Sri Lanka, not all expenses have been fully digitalized, there are some groceries, stores, and hardware shops that still support the usage of hand-written or printed bills.
The application must facilitate the user to upload various bill types to extract expense details from them. Personal finance management is not complete with only the recording of expense and income details.
Users will have to take the next big step in setting up a budget plan to meet their financial goals and track them with continuous analysis and monitoring while reducing unnecessary expenses and increasing savings for each of their financial goals to achieve them. Most of the existing applications only provide one fixed type of budgeting plan for users to set up a budget. Considering the scenario of group expense distributions there exists no proper personal finance management applications that facilitate users to split bills in a customized manner with other users and track the net debt or liabilities owed to each other when a bill should be distributed among numerous people and the bill has been entirely paid by one person or multiple people on behalf of others. Instead, there are applications that do facilitate group expense splitting and tracking the net debts owed, but they are limited to only catering to the expense splitting function and do not facilitate other essential financial management functions.
This research proposes a working solution for the problems addressed by introducing ‘MoneyEmpire’, which is a mobile app-based Intelligent assistant for personal finance management. This application automates finance management by extracting transaction details from Bank SMS alerts, and expense details from bills, and users can split expenses in a customized manner and track and settle net incoming and outgoing debts. Overall, from the collected financial records, the app analyses the user's money spending behavior pattern and helps users create better plans with their earnings. It also forecasts the user's expenses for a given period in the future based on the user's financial history. The solution proposed also adheres to the user-centered design principles to enhance user interaction and user experience to ease the concept of human-computer interaction.
II. LITERATURE SURVEY
The research conducted in [5] highlights that the most popular tool people used to manage personal finances was nothing at all. They have also presented interview findings of people who have not clearly organized their expenses had been using paper-based tools and ultimately gave up due to the overhead caused. The ones who used spreadsheets had also used them as a dumped ground for storing heterogeneous data like PINs, URLs, usernames, etc. - the unstructured digital clutter. One significant finding of the interviews they conducted was that nobody was a regular user of any financial aggregation system like Mint.com. They have also presented that two of the interviewees who used Mint.com gave up, one due to fears of security and inconvenience of entering new accounts and the other due to frustration of automated expense categorization. In the modern era, people are finding solutions for their day-to-day problems which could be solved technically through their mobile devices as they can be accessed anywhere at any time [6] and [7]. This has led to the immense growth of mobile application development [8]. ‘MoneyEmpire’ is a mobile application built in the most user-friendly manner and does not require any linking to Bank accounts to track digital transactions. It offers the four most essential financial functions in a single app, and the following are literature surveys done separately for each of them.
A. Bank SMS Extraction and Analysis
It is challenging to read Bank SMS to extract transaction information for financial analysis as it costs more time and effort, and the results accuracy is not assured. The proposed solution addresses this and automates this by scanning Bank SMS alerts from the mobile, recognizing transactional alerts, and extracting details. There have been studies done in the past on information extraction from bank SMS for financial analysis. Paper [9] discusses how to identify and analyze bank SMS only related to credit transactions. But in the proposed solution, debit transactions are also identified and used for analysis. The article [10] is similar to the solution discussed in this paper, but they rely entirely on Regular expressions designed to only support the text structure of Indian Bank SMS to extract information like date, amount, and transaction type from Bank SMS. Henceforth, the proposed system uses Regular expressions which support Sri Lankan Bank SMS alerts to extract basic information like date and amount and uses some Natural Language Processing (NLP) techniques to retrieve additional transaction details.
B. Text Extraction and Analysi of Bills
According to most of the available research papers, pre-processing images using some tool is the first step in extracting information. When digitizing old documents or even handwritten notes, the text quality present in the document is crucial in determining the extracted text accuracy [11]. The challenge in this step is identifying the most suitable pre-processing algorithms to improve the quality of the type of images we are dealing with and the different combinations in which these algorithms are used. There is no standard combination of pre-processing techniques that would work for images taken in all conditions and according to [12], images of text taken in adverse conditions such as with shadows or noise will reduce the accuracy of text extracted from the OCR engine. Therefore, some pre-processing of the images before extracting the text can help in improving the accuracy of the output of the OCR engine [13].
The research conducted in [14] uses a template matching algorithm to identify the desired information from the image. The combination of grey-scaling, sharpening, denoising, threshold, and smoothing conducted in [12] gives a higher accuracy compared to the other combinations of pre-processing techniques. The Pytesseract OCR engine is used in most research papers and has been proven to be highly effective but not highly effective for handwritten or low-quality images. The next most important feature is to identify and filter out the key features or entities from the text extracted from the OCR engine. Research papers [11] and [15] use regular expressions to identify key information from the extracted text which has been developed to identify information from specific stores. The problem is there are countless stores available and a variety of structures of bills are used by all these stores. It is overly complex to produce an expression that works for all the structures. Therefore, we have trained a NER model to identify key information from the text and it will tag the entities.
C. Customized Expense Splitting and Tracking Debts
The article [16] proposes a system that facilitates the functionality of splitting expenses. The system performs splitting by dividing the total expense amount by the number of group members involved in splitting. This system allows users to split the expense only equally among the members and provides no means of tracking or visualizing the dues owed, allowing users to record and maintain this information manually. As addressed in the article [15], none of the implemented finance applications have the feature of splitting purchases among several people which in the case of cohabitation is incredibly necessary along with other features for finance management. The solution proposed for expense splitting in paper [5], allows the user to enter the name and amount for the group expense and expects the user to perform the split calculation manually, and only allows the user to enter details of money lent and burrowed to keep track of. In other words, their system does not split the expense details input, rather the user needs to manually perform the splitting and add +Rs if money is lent and -Rs if money is borrowed. Overall, the system helps users to keep track of the money lent and burrowed, but users need to perform splitting calculations manually and enter them into the system.
D. Analyzing Income and Expenditure
For every individual, budgeting is a crucial step and helps the user accomplish financial goals. Accurate budget preparation is essential for maintaining balanced cash flows and maximizing debt management [2]. Most of the budget applications are based on revenue and expenditure. Paper [9] has proposed a system where users have the option to set an overall monthly budget and budgets for specific categories. The system will alert if the user attempts to spend more than the predetermined budget, but financial goals were not considered. It is necessary to consider financial goals as they assist users to stick to their budget. The proposed system has three budgeting approaches for users to choose from, unlike other apps which only support one budget type.
III. METHODOLOGY
The main objective of this research is to provide a mobile application catering to multiple essential personal finance management features to effectively meet and track their budget and financial goals. The proposed solution’s features are divided into,
A. Bank SMS Extraction and Analysis
Bank transaction notifications received via Bank SMS will be financially analyzed to provide an overview at a single glance. There were 3 models trained for different classifications of bank SMS, and the dataset had to be built manually with relevant labels to train them due to the unavailability of the dataset for Bank SMS alerts from Sri Lankan Banks.
Logistic regression was chosen as the training algorithm for all classifications used in this process due to the small-sized dataset and the need for solutions for classification problems.
2. Transaction Type Classification: This classification is used to identify whether a particular transaction is either an income (credit) or an expense (debit).
3. Transaction Summary Classification: This is a multi-class classification that is used to classify the transaction into a specific category. The output labels for this classification have been created from the dataset for the five commonly performed Bank transactions like “ATM”, “Purchase”, “Bank fee”, “Online Transfer” and “Deposit”. Once the model identifies the SMS as a transaction type, key information like the date and amount will be extracted from the SMS. The articles in [10] and [17] use regular expressions and fuzzy algorithms for this. Furthermore, for the transactions identified as the ‘purchase’, the category of that expense must also be identified and since only the vendor’s name can be retrieved from a transaction SMS as the source of external information, a NER model has been trained to extract the vendor’s name from the SMS. Then using the extracted vendor’s name, the system identifies the possible category for that vendor using Google’s Place API (Application Programming Interface) which later will be labelled as the expense type of the transaction.
B. Text Extraction and Analysis of Bills
Information is extracted from three types of bills: printed bills, hand-written bills, and digital bills, and each of them is processed using different approaches. The images are first pre-processed to ease the readability of the text. Since it is much easier to process an image and capture more information more accurately, digital documents are first converted into an image. The OCR engine then receives the pre-processed images and extracts text from them. The text is then post-processed to remove any unnecessary words or characters. The pre-processed images are processed differently for the three types of bills. To identify key information from the text for digital documents, the extracted text from the OCR engine is passed as input to a Natural Language Processing model called Named Entity Recognition. For printed bills, a pre-built model provided by the Form Recognizer service on Microsoft Azure is used. Finally, for the handwritten bills, a custom-built model provided by the Form Recognizer service is used. The digital bills are PDF files kept in the file system, and the handwritten and printed bills might be photos stored in the file storage of the mobile phone or captured from the mobile camera.
The bills taken from the mobile device are first pre-processed as more text can be captured and better output is given by the OCR engine compared to the images that are not pre-processed. A popular Python framework called OpenCV is used for this purpose. The pre-processing techniques used are grey-scaling, sharpening, denoising, Gaussian blur, Otsu’s binarization, and opening. Pytesseract is an open-source Python OCR library used to extract text from the pre-processed images in the system. However, this is not powerful enough to work with printed bills and hand-written bills, therefore Microsoft Azure’s Computer Vision service has been used to identify text from handwritten bills.
C. Customized Expense Splitting and Tracking Debts
This feature is essential for users for splitting expenses among several users. The system provides three different split modes: split equally, split unequally, and split by percentage. When the user has configured and confirmed splitting details, based on the selected split mode, the expense will be split, and the debt status of each split participant will be automated. The system visualizes graphically how the expense was split and allows users to easily track their debt status and send reminders to debtors to settle their dues.
D. Analyzing Income and Expenditure
This feature analyses the user’s income and expenses and gives recommendations to users to help accomplish their financial goals. The system will analyze the user's expenses and make predictions about future expenses based on past expenses. The Long short-term memory model will extract the expense for the first 15 days and forecast the next 5 days’ expenses. This process helps the system to determine the user's spending habits and provides the user with an indication of his or her upcoming expenses.
The system facilitates users with three budgeting approaches: zero-based budgeting, pay-yourself-first budgeting, and 50/30/20 budgeting. In a zero-based budget, the user configures the entire amount for income and expenses and the remaining balance of the difference between income and expense will be zero. The pay-yourself-first approach mainly focuses on debt repayment and savings, allowing users to set aside a specific amount of money each month for this purpose. This approach uses a similar fundamental strategy as zero-based budgeting but prioritizes debt repayment and savings before spending money on other expenses. The 50/30/20 budgeting approach is much easier to use compared to the other budgeting methods and requires less effort and is also an incredible choice for beginners. The expenses must be divided into three main groups with a percentage allocated as necessary expenses (50%), discretionary expenses (30%), and savings and debt repayments (20%).
The user can adjust the 50/30/20 ratio as preferred and needs to give priority to each spending category. Based on the priorities, expenses will be divided. Then all the budget details will be saved in the database and if the user spends more than the budget the system will send an alert to the user.
Graphical visualization of the income and expenses will be presented to users to easily track them. A bar chart illustrates the total amount spent for each expense category and users can easily find the highest spent expense category. A time series diagram is also presented for users to visualize monthly expenses.
IV. RESULTS AND DISCUSSION
An initial survey was conducted during the beginning of research among working students and working professionals with good educational backgrounds (degree holders, Doctorates, etc.) to gather findings about how they managed their personal finance as shown in Table I,
TABLE I
USER SURVEY RESULTS
Personal Finance Management Status |
Percentage |
Managing Manually |
61% |
No Finance Management |
31.7% |
Using Finance Application |
7.2% |
According to the survey, though all the respondents had good literacy, and all were Educated, 31.7% did not manage their personal finance, 61% managed their finances manually and 7.2% used an application.
A. Bank SMS Transaction and Analysis
Accuracy is by far the most famous as well as the easiest to understand estimate since it is a basic ratio of the number of correctly identified situations to the total number of samples used throughout the analysis. In this application, three models were used for Bank SMS classification for different purposes. The train-test dataset was split into 7:3. The accuracy of those models is illustrated in Table II below,
TABLE II
RESULTS OF BANK SMS CLASSIFICATION
Model |
Accuracy |
Transaction Classification |
93% |
Transaction Type Classification |
94% |
Transaction Summary Classification |
83% |
B. Text Extraction and Analysis of Bills
The combination of image preprocessing techniques used in this system has shown remarkable results compared to the other combinations. The text extracted from the preprocessed images showed better output than the images that weren’t preprocessed. As many hand-written bills were collected from certain local stores and since it is nearly difficult to distinguish all variations of handwriting and variations of structure when it comes to handwritten bills, an Azure custom model was used to train these images. When compared to regular expressions, which are referenced in most research articles, the NER model, which is utilized for key information extraction, produced better results. The accuracy of the models built for information extraction from bill images can be seen in Table III below,
TABLE III
RESULTS OF BILL EXTRACTION
Model |
Accuracy |
Custom Azure model for hand-written bills |
71% |
NER model for digital bills |
82% |
C. Analyzing Income and Expenditure
Since forecasting expenses is a time series problem, Long Short-Term Memory (LSTM) and Autoregressive Integrated Moving Average (ARIMA) are the appropriate solutions. Recurrent neural networks of the LSTM type can learn order dependence in sequence prediction issues. ARIMA is a statistical model that forecasts future values using data from the past. The results of ARIMA and LSTM are depicted in Fig 1 and Fig 2 below. The x-axis represents the number of days, and the y-axis represents the expense.
When contrasting the two models, ARIMA requires more training samples and is unable to handle complicated data. However, LSTM can overcome these issues. The LSTM has greater accuracy than the ARIMA. Therefore, LSTM was the chosen training algorithm for forecasting expenses.
As soon as the first version of the proposed application was released, it was tested among five users of whom 3 were working students and two were working professionals.
All the users were fascinated by the application and from the feedback gathered, it was found that the overall experience and performance of ‘MoneyEmpire’ was good from the evidence shown in Fig 3.
V. ACKNOWLEDGMENT
We would like to express our sincere gratitude to our supervisor Ms. Samanthi Siriwardana, co-supervisor Ms. Madhuka Nadeeshani and our external supervisors Dr. Shyam Reyal and Ms. Archana Kugathasan, for their guidance, mentoring, and encouragement in completing this research. With all your valuable assistance, we were able to make this research a success.
‘MoneyEmpire’ is a user-friendly and smart mobile assistant requiring minimum effort from the user to manage and analyze their personal income and expenses. Through revolutionary technologies like natural language processing, machine learning, deep learning, and image processing, the application automates the flow of finance management. The main goal of the application is to help people track their spending behavior and make better quality financial decisions using their earnings and spending their earnings efficiently. The system provides features like analyzing Bank SMS transaction alerts, extracting expense details from bill image uploads, pdf, and hand-written bills, customized expense splitting, and tracking incoming and outgoing debts, and it also acts as a great tool of visualization for income and expenditure analysis while easing the concept of budgeting, saving, tracking expenses, and advising to reduce unnecessary expenses. There are several existing personal finance applications in the market but none of them provide all the essential features listed above in a single application for managing an individual’s finance therefore users will have to install and manage multiple applications if they want to use and benefit from these multiple features, which increases the complexity and causes much stress and inconvenience. Therefore, we have proposed catering to the distinct essential features as an integrated working solution. ‘MoneyEmpire’ has a massive range of potential markets as it is addressing the problem of personal finance management which is very vital for every human to lead and live a happy and successful life. Any user can use our application as a solution on a daily basis to track and manage their finance daily. This application\'s limitation is the absence of a reasonably large dataset with bank SMS from Sri Lankan banks. Because of this, even though the trained models for bank SMS showcase greater accuracy, they may not perform as accurately as expected for all the banks whose samples were not used for training. To further expand the dataset, we will continue to collect sample bank messages of different banks. In future versions of the application, we intend to add voice-based input for the customized expense splitting functionality to further improve the user experience.
[1] \"Goal 1: No Poverty\", The Global Goals, 2022. [Online]. Available: https://www.globalgoals.org/1-no-poverty. [2] S. Palakvangsa-Na-Ayudhya, S. Pongchandaj, S. Kriangsakdachai, and K. Sunthornwutthikrai, “KeptAom: Savings management system to increase long term savings behavior of children,” in TENCON 2017 - 2017 IEEE Region 10 Conference, Nov. 2017, pp. 2247–2252. doi: 10.1109/TENCON.2017.8228235. [3] A. Velmurugan, J. Albert Mayan, P. Niranjana, and R. Francis, “Expense Manager Application,” J Phys Conf Ser, vol. 1712, no. 1, p. 012039, Dec. 2020, doi: 10.1088/1742-6596/1712/1/012039. [4] J. L. Yeo, P. S. JosephNg, K. A. Alezabi, H. C. Eaw, and K. Y. Phan, “Time Scheduling and Finance Management: University Student Survival Kit,” in 2020 IEEE Student Conference on Research and Development (SCOReD), Sep. 2020, pp. 1–6. doi: 10.1109/SCOReD50371.2020.9250969. [5] J. J. Kaye, M. McCuistion, R. Gulotta, and D. A. Shamma, “Money talks,” in Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, Apr. 2014, pp. 521–530. doi: 10.1145/2556288.2556975. [6] S. M. Yusof and S. F. S. S. Lokman, “Personal financial planner: A mobile application that implementing forward chaining technique for notification mechanism,” in 2014 IEEE Symposium on Computer Applications and Industrial Electronics (ISCAIE), Apr. 2014, pp. 65–69. doi: 10.1109/ISCAIE.2014.7010211. [7] N. W. M. Gretalita, A. Suzianti, and R. Ardi, “Visual Usability Design of Financial Personal Assistant Application,” in Proceedings of the 2017 International Conference on Information Technology - ICIT 2017, 2017, pp. 142–147. doi: 10.1145/3176653.3176700. [8] J. Huebner, R. M. Frey, C. Ammendola, E. Fleisch, and A. Ilic, “What People Like in Mobile Finance Apps,” in Proceedings of the 17th International Conference on Mobile and Ubiquitous Multimedia, Nov. 2018, pp. 293–304. doi: 10.1145/3282894.3282895. [9] S. A. Sabab, S. S. Islam, Md. J. Rana, and M. Hossain, “eExpense: A Smart Approach to Track Everyday Expense,” in 2018 4th International Conference on Electrical Engineering and Information & Communication Technology (iCEEiCT), Sep. 2018, pp. 136–141. doi: 10.1109/CEEICT.2018.8628070. [10] S. Gujar, Y. Kokate, and G. Dalwani. (2018, November). “in Design and Implementation of Financial SMS Extraction and Analysis,”. [Online]. vol. 5, issue 11. Available: http://iraj.in. [11] V. Kumar, P. Kaware, P. Singh, R. Sonkusare, and S. Kumar, “Extraction o [12] f information from bill receipts using optical character recognition,” in 2020 International Conference on Smart Electronics and Communication (ICOSEC), Sep. 2020, pp. 72–77. doi: 10.1109/ICOSEC49089.2020.9215246. [13] R. F. Rahmat, D. Gunawan, S. Faza, N. Haloho, and E. B. Nababan, “Android-Based Text Recognition on Receipt Bill for Tax Sampling System,” in 2018 Third International Conference on Informatics and Computing (ICIC), Oct. 2018, pp. 1–5. doi: 10.1109/IAC.2018.8780416. [14] H. Sidhwa, S. Kulshrestha, S. Malhotra, and S. Virmani, “Text Extraction from Bills and Invoices,” in 2018 International Conference on Advances in Computing, Communication Control and Networking (ICACCCN), Oct. 2018, pp. 564–568. doi: 10.1109/ICACCCN.2018.8748309. [15] S. Roy and M. Saravanan, “Handwritten Character Recognition using K-NN Classification Algorithm,” IJARIE, vol. 3, 2017, [Online]. Available: www.ijariie.com [16] D. E. Yurochkin, A. A. Horoshiy, and S. A. Karpukhin, “Development of an Application for Expense Accounting,” in 2021 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (ElConRus), Jan. 2021, pp. 753–757. doi: 10.1109/ElConRus51938.2021.9396201. [17] N. ZahiraJahan and R. Vinodhini, “Smartphone Tracking Application Using Short Message Service,” International Journal of Computer Techniques, vol. 3, 2016, [Online]. Available: http://www.ijctjournal.org [18] Y.-Y. Wan, H. Xu, and R.-R. Fang, “Design and Implementation of SMS Extraction and Analysis System,” ITM Web of Conferences, vol. 7, p. 04019, Nov. 2016, doi: 10.1051/itmconf/20160704019.
Copyright © 2022 Mathursan Balathas, Sabesan Ganeshalingam, Arosh Segar, Yahdhursheika Vallaven, Samanthi Siriwardana. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
Paper Id : IJRASET47229
Publish Date : 2022-10-30
ISSN : 2321-9653
Publisher Name : IJRASET
DOI Link : Click Here