SlideShare a Scribd company logo
1 of 4
Download to read offline
IOSR Journal of Computer Engineering (IOSR-JCE)
e-ISSN: 2278-0661,p-ISSN: 2278-8727, Volume 18, Issue 2, Ver. III (Mar-Apr. 2016), PP 27-30
www.iosrjournals.org
DOI: 10.9790/0661-1802032730 www.iosrjournals.org 27 | Page
Personal Financial Assistant
Kuntal Biswas
Abstract: Managing our finances has always been an important part of our life. While it is easy to let situation
define our expenses, it becomes exceedingly difficult to keep track of all the spending, and is not very appealing
to dedicate any certain amount of time to remember, calculate, or define a limit to it. It would be much easier if
someone could do the same for us, efficiently. Our project proposes an idea of a wallet, that stores and analyzes
a user’s usage pattern, provides a system for loan and savings. It also provides a general prediction for the user’s
desired month’s expenditure based on previous usage data. A provision for grouping and categorization of
spending has also been suggested, based on real world usage. Monthly usage stats can be stored, and reviewed
later by the user in graphical form, since it is easy to comprehend at a glance. The following introduction section
discusses the importance, as well as the applicable scenarios for our project. It describes the difficulties and their
possible solutions. The next section of methodology presents a simple block diagram of the working model of
our project. It discusses the mathematical formula used, their justification and how the final simplified
expression was realized. It also briefly discusses the algorithms used in various sections. The following results
section presents some screenshots of the prototype program in execution, a simple interface, and a graph made
using some test values. The final section of conclusion and future work discusses the current shortcomings of
this project, and their possible resolution in future. A few solutions have been suggested as well, which
although, are beyond the scope of this project, but can be implemented by collaboration of other resources.
I. Introduction
Having a fast paced lifestyle is both a boon as well as a bane. On one hand, it provides a sense of
achievement, a satisfaction of moving at the pace of the world. On the other, it deprives us of the simple amenity
called time. Not everyone has the patience, or even willingness to do all redundant jobs, instead of dedicating
that duration to a more productive area. Almost the same, is the problem of inefficiency with personal finances.
Not everyone is willing to maintain their own journal, detailing each little spending, marking and planning
where to save or cut costs. It takes a lot of time, constant vigilance, and a willingness to stick to a set budget, to
be able to maintain a healthy financial system. A greater problem arises when no matter how great a month of
planned spending is done, we have to do it again for the next month.
While a more traditional system of keeping logs, either digital or hard copies, is an option, offloading
the same job to someone else, would lift off a certain amount of burden over some people who are struggling to
maintain their budget. This has numerous other benefits as well. First, we have to do almost no work or
calculations here, everything is recorded and processed by our assistant. Second, we do not have to repeat it
every other month, our assistant takes care of it intelligently in the background. Third, every month has a
different pattern of spending, which we do not have to care about. For example, we buy gifts in holiday season,
which isn’t repeated every month. These exceptions as a month, might pose a problem when we try estimating
our expenditure. Here, this won’t be a problem.
In this project, we propose an idea of a personal wallet which, maintains records of our expenditure,
analyses our usage patterns, and forms a prediction of our future expenditure, based on our previous usage.
Records are maintained in a sqlite databse, with provision for multiple users. Separate tables have been assigned
for every month, with divisions based on real world sections like, food, rent etc. These tables will also serve as
the basis of graphs, that the user might request, as a review of his/her previous usage. The project has been
designed in the Python programming language. Graphical user interface has been designed using Tkinter
package. Matplotlib has been used to draw the graphs from tabular data.
In the following sections, we discuss the working theory, results and discussions over the processes
used, and the mathematical formulae used for various algorithms that have been utilized in this project.
II. Methodology
In this paper, our main aim was to propose an idea of a personal wallet.
Personal Financial Assistant
DOI: 10.9790/0661-1802032730 www.iosrjournals.org 28 | Page
Fig. 1. Block Diagram representing the working modules
Security Verification: The security of each user is very important. So, every user needs a valid user ID and a
password to log into his/her account. A separate table is maintained for the storage of user credentials. During
login, a comparison is done between the user entered values and the stored credentials. Only when both user ID
as well as password are found to be an exact match, the user is allowed to make any modification to his account.
Database: There are three main tables in this database. One for the storage of user credentials. One for keeping
track of monthly salary. One for storing the details like counter variables, savings data and loan counters. Each
added month creates a new table, with the name being a combination of user ID, month name and the year. The
table contains two columns, first column contains the division names like ‘Food’, ’Rent’ etc., and second
column contains its values. Each added month has a corresponding entry in the salary table, and the respective
changes are made to the data stored in the details table.
Prediction: Prediction of expected expenditure, is a very important aspect of this paper. We have assumed that
the expenditure is dependent on the month. For example, months with holidays and birthdays are bound to have
greater spending rate than other, regular months. Assuming that a person has 10 friends, and buys gifts for all 10
of them. For this very same month, next year, 10 presents will be bought. Only difference might be the inflation
rate, which will essentially be reflected in the salary itself. Another important effect on expenditure could be an
addition of a family member, which will not be a one month thing, but a regular, fixed increase every month.
This is easily calculated by taking the average difference between the spending rate of last 24 months and the
last 12 months, and including this average change during the calculation of expected expenditure for the current
month, this present year.
The mathematical formula used is:
Fig. 2. Calculation of current month expenditure
Which is a reduced form of the expression:
Fig. 3. Calculation of average change
Where Sal_p = previous year current month salary,
Sal_c = current year current month salary,
Exp_p = previous year current month expenditure,
Exp_c = current year current month expenditure.
Justification: Assuming that the user has at least 12 previous months of stored data, the average change
in percentage of expenditure of the previous month, between previous year and current year is calculated by the
formula in figure 3, since all the variables on the right hand side are known. Now, this average change is a value
Current month Expenditure =
(Average change x current month salary)/100
+ (previous month expenditure x current month salary)
Previous month salary
(Sal_p – Exp_p) x 100 __ (Sal_c – Exp_c) x 100 = Average Change
Sal_p Sal_c
Personal Financial Assistant
DOI: 10.9790/0661-1802032730 www.iosrjournals.org 29 | Page
that can be represented on the number line. Since this variable represents the increase/decrease in percentage of
spending, it must also be reflected on the next month expenditure. It should also be noted, that this value is free
from the expenditure difference between months of a single year. It only shows the difference of usage due to
inflation, addition of a family member, or any permanent cause.
If the user has 24 months of data, the average of the average change can be taken as a more accurate
value for average change. This ensures the inclusion of sudden increase or decrease in expenditure, in any
particular month. This is more accurate than a direct comparison with last year’s corresponding months.
This average change is used once again, using the formula in figure 3, only difference being, the
current month is set to the month whose expected expenditure is to be found. Three variables from the left hand
side, other than the current year current month expenditure (Exp_c) is known, and the right hand side is known.
This gives a fairly accurate estimation of the total expected expenditure. The formula in figure 2 gives the very
same result, and is a reduced form of the expression in figure 3. It is used for a simplification purpose, so that
the debugging process could be easier.
Data insertion/deletion: It is done by simple sqlite commands through python. User is presented with a
GUI, with specific, simple instructions for entry of data. Any commit button pressed, would commit the data to
the database, for permanent storage.
Loan/Save: Two counter variables are maintained, one for the storage of average monthly deduction,
and another for reverse counting the months till which the amount is to be deducted. Assuming that the user has
loaned an amount from a different source, a provision has been made to enable a proper deduction of monthly
installments from monthly savings, automatically without user intervention.
The user sets a loan amount, and the duration in which the loan amount is to be repaid. Monthly
installments can be easily calculated by dividing the total loan amount by the duration. This installment amount
is stored in a counter variable in the details table. The duration is also stored in the details table. For every added
month, a check is made if the duration counter variable is zero or not.If the duration counter is zero, no extra
deductions are performed on the monthly savings. If duration counter is not zero, the monthly installment
counter value is deducted from the monthly savings amount, and the rest is added to total savings counter. Then,
the duration counter is deducted by one, and this change is reflected in the details table.
Similarly, if the user requests to save an amount in a particular duration, two counters are maintained.
One for the save amount, another for the duration. For every added month, a check is made if the duration
counter variable is zero or not.If the duration counter is zero, no extra deductions are performed on the monthly
salary. If duration counter is not zero, the monthly installment counter value is deducted from the monthly salary
amount, and the rest is used in calculating a prediction that will allow that particular amount to be saved. Then,
the duration counter is deducted by one, and this change is reflected in the details table.
Graph: The user may review his/her data in the form of a graph. The x-axis shows the selected months,
preferably the last months in decreasing order. The y-axis shows either savings, or expenditure, depending on
the request of the user. Graph has been selected as the method for review, since it is easier to comprehend at a
single glance, rather than going through numbers in a tabular form.
III. Results
The prototype program is designed using python. Each section is defined in a different window, to
avoid confusion. Buttons are clearly defined with their purpose. The results are displayed in the terminal, while
the graph, designed using matplotlib package, is displayed in a separate window. Figures 4, 5 and 6 show the
main windows with their respective features. Figure 4 shows the login window, with options to create new user,
and for existing user to enter their credentials. Figure 5 shows the main window, where addition of month,
prediction, loan and graph features can be used by the user. Clicking on each button takes the user to its
respective window. Figure 6 shows the graph of 11 months. The green line shows savings, and the blue line
shows expenditure, against the months marked at the x-axis.
Fig. 4. Login window
Personal Financial Assistant
DOI: 10.9790/0661-1802032730 www.iosrjournals.org 30 | Page
Fig. 5. Main window after login
Fig. 6. Graph. Green = savings / Blue = expenditure
Conclusion and future work:
User convenience is always the priority when a new product is designed. Aim of this paper is the same,
to introduce an idea of a convenient system for maintaining one’s finances without having to go through lengthy
data, and calculations. The more this is used, the more the database grows, allowing a fairly accurate rate of
prediction.
Since this analyses the user’s data, as well as stores it for future reference, a stronger security system
could be implemented, to protect the user’s privacy. Multi user support calls for better security measures, since
the same hardware will be available to multiple users, and to protect individual data from other users. Also, if
the user desires, collection of data into the database could be automated, by tracking usage of credit/debit cards,
across multiple devices.

More Related Content

Viewers also liked (11)

Q180203109113
Q180203109113Q180203109113
Q180203109113
 
Augustine_Benjamin_FinalPPP
Augustine_Benjamin_FinalPPPAugustine_Benjamin_FinalPPP
Augustine_Benjamin_FinalPPP
 
Codigo para insertar al blog
Codigo para insertar al blogCodigo para insertar al blog
Codigo para insertar al blog
 
N130306100103
N130306100103N130306100103
N130306100103
 
Chapter 3 (climate)
Chapter 3 (climate)Chapter 3 (climate)
Chapter 3 (climate)
 
GreenKurban
GreenKurbanGreenKurban
GreenKurban
 
US8738535
US8738535US8738535
US8738535
 
NILESH_CV
NILESH_CVNILESH_CV
NILESH_CV
 
cv_format_en_krupa_IEG_v7
cv_format_en_krupa_IEG_v7cv_format_en_krupa_IEG_v7
cv_format_en_krupa_IEG_v7
 
Unit 14 LO2
Unit 14 LO2Unit 14 LO2
Unit 14 LO2
 
0e3277635_1401369149_curriculum-vitae-hall-hyman
0e3277635_1401369149_curriculum-vitae-hall-hyman0e3277635_1401369149_curriculum-vitae-hall-hyman
0e3277635_1401369149_curriculum-vitae-hall-hyman
 

Similar to E1802032730

IS320 Database Applications.docx
IS320 Database Applications.docxIS320 Database Applications.docx
IS320 Database Applications.docxstirlingvwriters
 
My research questionwhat was the point of view in the eyes of a.docx
My research questionwhat was the point of view in the eyes of a.docxMy research questionwhat was the point of view in the eyes of a.docx
My research questionwhat was the point of view in the eyes of a.docxgilpinleeanna
 
Capstone New Century Wellness Group Task Financial.pdf
Capstone New Century Wellness Group Task Financial.pdfCapstone New Century Wellness Group Task Financial.pdf
Capstone New Century Wellness Group Task Financial.pdfstudywriters
 
Static Amortization Schedule
Static Amortization ScheduleStatic Amortization Schedule
Static Amortization ScheduleIlgar Zarbaliyev
 
Passbook project document_april_21__.pdf
Passbook project document_april_21__.pdfPassbook project document_april_21__.pdf
Passbook project document_april_21__.pdfvaibhavkanaujia
 
How to Create an Annual Utilities Budget
How to Create an Annual Utilities BudgetHow to Create an Annual Utilities Budget
How to Create an Annual Utilities BudgetEnergyCAP, Inc.
 
Lean Manufacturing Exam Questions Mar 2011
Lean Manufacturing Exam Questions Mar 2011Lean Manufacturing Exam Questions Mar 2011
Lean Manufacturing Exam Questions Mar 2011ExerciseLeanLLC
 
Google Data Studio_Building a User Journey Funnel with Google Analytics
Google Data Studio_Building a User Journey Funnel with Google AnalyticsGoogle Data Studio_Building a User Journey Funnel with Google Analytics
Google Data Studio_Building a User Journey Funnel with Google AnalyticsSilvia Alongi
 
SAP ISU : Budget Billing Basics
SAP ISU : Budget Billing BasicsSAP ISU : Budget Billing Basics
SAP ISU : Budget Billing BasicsRakesh Dasgupta
 
WMBA 6050 Accounting .docx
WMBA 6050 Accounting .docxWMBA 6050 Accounting .docx
WMBA 6050 Accounting .docxericbrooks84875
 
Essay On Stamford International Inc
Essay On Stamford International IncEssay On Stamford International Inc
Essay On Stamford International IncDeborah Gastineau
 
Report 190804110930
Report 190804110930Report 190804110930
Report 190804110930udara12345
 
Predicting Bank Customer Churn Using Classification
Predicting Bank Customer Churn Using ClassificationPredicting Bank Customer Churn Using Classification
Predicting Bank Customer Churn Using ClassificationVishva Abeyrathne
 
Microsoft Excel 20072010 What-If Analysis © Martin Green
Microsoft Excel 20072010  What-If Analysis © Martin GreenMicrosoft Excel 20072010  What-If Analysis © Martin Green
Microsoft Excel 20072010 What-If Analysis © Martin GreenDioneWang844
 
TITLE OF PROPOSAL [typed in all capital letters, double-space
TITLE OF PROPOSAL [typed in all capital letters, double-spaceTITLE OF PROPOSAL [typed in all capital letters, double-space
TITLE OF PROPOSAL [typed in all capital letters, double-spacealisondakintxt
 
TITLE OF PROPOSAL [typed in all capital letters, double-space
 TITLE OF PROPOSAL [typed in all capital letters, double-space TITLE OF PROPOSAL [typed in all capital letters, double-space
TITLE OF PROPOSAL [typed in all capital letters, double-spacedrennanmicah
 
High low methode
High low methodeHigh low methode
High low methodepascastpt
 
Chapter 3The Accounting SystemLearning Objectives•.docx
Chapter 3The Accounting SystemLearning Objectives•.docxChapter 3The Accounting SystemLearning Objectives•.docx
Chapter 3The Accounting SystemLearning Objectives•.docxketurahhazelhurst
 

Similar to E1802032730 (20)

IS320 Database Applications.docx
IS320 Database Applications.docxIS320 Database Applications.docx
IS320 Database Applications.docx
 
Personal Finances
Personal FinancesPersonal Finances
Personal Finances
 
My research questionwhat was the point of view in the eyes of a.docx
My research questionwhat was the point of view in the eyes of a.docxMy research questionwhat was the point of view in the eyes of a.docx
My research questionwhat was the point of view in the eyes of a.docx
 
Capstone New Century Wellness Group Task Financial.pdf
Capstone New Century Wellness Group Task Financial.pdfCapstone New Century Wellness Group Task Financial.pdf
Capstone New Century Wellness Group Task Financial.pdf
 
Paper391.pdf
Paper391.pdfPaper391.pdf
Paper391.pdf
 
Static Amortization Schedule
Static Amortization ScheduleStatic Amortization Schedule
Static Amortization Schedule
 
Passbook project document_april_21__.pdf
Passbook project document_april_21__.pdfPassbook project document_april_21__.pdf
Passbook project document_april_21__.pdf
 
How to Create an Annual Utilities Budget
How to Create an Annual Utilities BudgetHow to Create an Annual Utilities Budget
How to Create an Annual Utilities Budget
 
Lean Manufacturing Exam Questions Mar 2011
Lean Manufacturing Exam Questions Mar 2011Lean Manufacturing Exam Questions Mar 2011
Lean Manufacturing Exam Questions Mar 2011
 
Google Data Studio_Building a User Journey Funnel with Google Analytics
Google Data Studio_Building a User Journey Funnel with Google AnalyticsGoogle Data Studio_Building a User Journey Funnel with Google Analytics
Google Data Studio_Building a User Journey Funnel with Google Analytics
 
SAP ISU : Budget Billing Basics
SAP ISU : Budget Billing BasicsSAP ISU : Budget Billing Basics
SAP ISU : Budget Billing Basics
 
WMBA 6050 Accounting .docx
WMBA 6050 Accounting .docxWMBA 6050 Accounting .docx
WMBA 6050 Accounting .docx
 
Essay On Stamford International Inc
Essay On Stamford International IncEssay On Stamford International Inc
Essay On Stamford International Inc
 
Report 190804110930
Report 190804110930Report 190804110930
Report 190804110930
 
Predicting Bank Customer Churn Using Classification
Predicting Bank Customer Churn Using ClassificationPredicting Bank Customer Churn Using Classification
Predicting Bank Customer Churn Using Classification
 
Microsoft Excel 20072010 What-If Analysis © Martin Green
Microsoft Excel 20072010  What-If Analysis © Martin GreenMicrosoft Excel 20072010  What-If Analysis © Martin Green
Microsoft Excel 20072010 What-If Analysis © Martin Green
 
TITLE OF PROPOSAL [typed in all capital letters, double-space
TITLE OF PROPOSAL [typed in all capital letters, double-spaceTITLE OF PROPOSAL [typed in all capital letters, double-space
TITLE OF PROPOSAL [typed in all capital letters, double-space
 
TITLE OF PROPOSAL [typed in all capital letters, double-space
 TITLE OF PROPOSAL [typed in all capital letters, double-space TITLE OF PROPOSAL [typed in all capital letters, double-space
TITLE OF PROPOSAL [typed in all capital letters, double-space
 
High low methode
High low methodeHigh low methode
High low methode
 
Chapter 3The Accounting SystemLearning Objectives•.docx
Chapter 3The Accounting SystemLearning Objectives•.docxChapter 3The Accounting SystemLearning Objectives•.docx
Chapter 3The Accounting SystemLearning Objectives•.docx
 

More from IOSR Journals (20)

A011140104
A011140104A011140104
A011140104
 
M0111397100
M0111397100M0111397100
M0111397100
 
L011138596
L011138596L011138596
L011138596
 
K011138084
K011138084K011138084
K011138084
 
J011137479
J011137479J011137479
J011137479
 
I011136673
I011136673I011136673
I011136673
 
G011134454
G011134454G011134454
G011134454
 
H011135565
H011135565H011135565
H011135565
 
F011134043
F011134043F011134043
F011134043
 
E011133639
E011133639E011133639
E011133639
 
D011132635
D011132635D011132635
D011132635
 
C011131925
C011131925C011131925
C011131925
 
B011130918
B011130918B011130918
B011130918
 
A011130108
A011130108A011130108
A011130108
 
I011125160
I011125160I011125160
I011125160
 
H011124050
H011124050H011124050
H011124050
 
G011123539
G011123539G011123539
G011123539
 
F011123134
F011123134F011123134
F011123134
 
E011122530
E011122530E011122530
E011122530
 
D011121524
D011121524D011121524
D011121524
 

Recently uploaded

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Recently uploaded (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

E1802032730

  • 1. IOSR Journal of Computer Engineering (IOSR-JCE) e-ISSN: 2278-0661,p-ISSN: 2278-8727, Volume 18, Issue 2, Ver. III (Mar-Apr. 2016), PP 27-30 www.iosrjournals.org DOI: 10.9790/0661-1802032730 www.iosrjournals.org 27 | Page Personal Financial Assistant Kuntal Biswas Abstract: Managing our finances has always been an important part of our life. While it is easy to let situation define our expenses, it becomes exceedingly difficult to keep track of all the spending, and is not very appealing to dedicate any certain amount of time to remember, calculate, or define a limit to it. It would be much easier if someone could do the same for us, efficiently. Our project proposes an idea of a wallet, that stores and analyzes a user’s usage pattern, provides a system for loan and savings. It also provides a general prediction for the user’s desired month’s expenditure based on previous usage data. A provision for grouping and categorization of spending has also been suggested, based on real world usage. Monthly usage stats can be stored, and reviewed later by the user in graphical form, since it is easy to comprehend at a glance. The following introduction section discusses the importance, as well as the applicable scenarios for our project. It describes the difficulties and their possible solutions. The next section of methodology presents a simple block diagram of the working model of our project. It discusses the mathematical formula used, their justification and how the final simplified expression was realized. It also briefly discusses the algorithms used in various sections. The following results section presents some screenshots of the prototype program in execution, a simple interface, and a graph made using some test values. The final section of conclusion and future work discusses the current shortcomings of this project, and their possible resolution in future. A few solutions have been suggested as well, which although, are beyond the scope of this project, but can be implemented by collaboration of other resources. I. Introduction Having a fast paced lifestyle is both a boon as well as a bane. On one hand, it provides a sense of achievement, a satisfaction of moving at the pace of the world. On the other, it deprives us of the simple amenity called time. Not everyone has the patience, or even willingness to do all redundant jobs, instead of dedicating that duration to a more productive area. Almost the same, is the problem of inefficiency with personal finances. Not everyone is willing to maintain their own journal, detailing each little spending, marking and planning where to save or cut costs. It takes a lot of time, constant vigilance, and a willingness to stick to a set budget, to be able to maintain a healthy financial system. A greater problem arises when no matter how great a month of planned spending is done, we have to do it again for the next month. While a more traditional system of keeping logs, either digital or hard copies, is an option, offloading the same job to someone else, would lift off a certain amount of burden over some people who are struggling to maintain their budget. This has numerous other benefits as well. First, we have to do almost no work or calculations here, everything is recorded and processed by our assistant. Second, we do not have to repeat it every other month, our assistant takes care of it intelligently in the background. Third, every month has a different pattern of spending, which we do not have to care about. For example, we buy gifts in holiday season, which isn’t repeated every month. These exceptions as a month, might pose a problem when we try estimating our expenditure. Here, this won’t be a problem. In this project, we propose an idea of a personal wallet which, maintains records of our expenditure, analyses our usage patterns, and forms a prediction of our future expenditure, based on our previous usage. Records are maintained in a sqlite databse, with provision for multiple users. Separate tables have been assigned for every month, with divisions based on real world sections like, food, rent etc. These tables will also serve as the basis of graphs, that the user might request, as a review of his/her previous usage. The project has been designed in the Python programming language. Graphical user interface has been designed using Tkinter package. Matplotlib has been used to draw the graphs from tabular data. In the following sections, we discuss the working theory, results and discussions over the processes used, and the mathematical formulae used for various algorithms that have been utilized in this project. II. Methodology In this paper, our main aim was to propose an idea of a personal wallet.
  • 2. Personal Financial Assistant DOI: 10.9790/0661-1802032730 www.iosrjournals.org 28 | Page Fig. 1. Block Diagram representing the working modules Security Verification: The security of each user is very important. So, every user needs a valid user ID and a password to log into his/her account. A separate table is maintained for the storage of user credentials. During login, a comparison is done between the user entered values and the stored credentials. Only when both user ID as well as password are found to be an exact match, the user is allowed to make any modification to his account. Database: There are three main tables in this database. One for the storage of user credentials. One for keeping track of monthly salary. One for storing the details like counter variables, savings data and loan counters. Each added month creates a new table, with the name being a combination of user ID, month name and the year. The table contains two columns, first column contains the division names like ‘Food’, ’Rent’ etc., and second column contains its values. Each added month has a corresponding entry in the salary table, and the respective changes are made to the data stored in the details table. Prediction: Prediction of expected expenditure, is a very important aspect of this paper. We have assumed that the expenditure is dependent on the month. For example, months with holidays and birthdays are bound to have greater spending rate than other, regular months. Assuming that a person has 10 friends, and buys gifts for all 10 of them. For this very same month, next year, 10 presents will be bought. Only difference might be the inflation rate, which will essentially be reflected in the salary itself. Another important effect on expenditure could be an addition of a family member, which will not be a one month thing, but a regular, fixed increase every month. This is easily calculated by taking the average difference between the spending rate of last 24 months and the last 12 months, and including this average change during the calculation of expected expenditure for the current month, this present year. The mathematical formula used is: Fig. 2. Calculation of current month expenditure Which is a reduced form of the expression: Fig. 3. Calculation of average change Where Sal_p = previous year current month salary, Sal_c = current year current month salary, Exp_p = previous year current month expenditure, Exp_c = current year current month expenditure. Justification: Assuming that the user has at least 12 previous months of stored data, the average change in percentage of expenditure of the previous month, between previous year and current year is calculated by the formula in figure 3, since all the variables on the right hand side are known. Now, this average change is a value Current month Expenditure = (Average change x current month salary)/100 + (previous month expenditure x current month salary) Previous month salary (Sal_p – Exp_p) x 100 __ (Sal_c – Exp_c) x 100 = Average Change Sal_p Sal_c
  • 3. Personal Financial Assistant DOI: 10.9790/0661-1802032730 www.iosrjournals.org 29 | Page that can be represented on the number line. Since this variable represents the increase/decrease in percentage of spending, it must also be reflected on the next month expenditure. It should also be noted, that this value is free from the expenditure difference between months of a single year. It only shows the difference of usage due to inflation, addition of a family member, or any permanent cause. If the user has 24 months of data, the average of the average change can be taken as a more accurate value for average change. This ensures the inclusion of sudden increase or decrease in expenditure, in any particular month. This is more accurate than a direct comparison with last year’s corresponding months. This average change is used once again, using the formula in figure 3, only difference being, the current month is set to the month whose expected expenditure is to be found. Three variables from the left hand side, other than the current year current month expenditure (Exp_c) is known, and the right hand side is known. This gives a fairly accurate estimation of the total expected expenditure. The formula in figure 2 gives the very same result, and is a reduced form of the expression in figure 3. It is used for a simplification purpose, so that the debugging process could be easier. Data insertion/deletion: It is done by simple sqlite commands through python. User is presented with a GUI, with specific, simple instructions for entry of data. Any commit button pressed, would commit the data to the database, for permanent storage. Loan/Save: Two counter variables are maintained, one for the storage of average monthly deduction, and another for reverse counting the months till which the amount is to be deducted. Assuming that the user has loaned an amount from a different source, a provision has been made to enable a proper deduction of monthly installments from monthly savings, automatically without user intervention. The user sets a loan amount, and the duration in which the loan amount is to be repaid. Monthly installments can be easily calculated by dividing the total loan amount by the duration. This installment amount is stored in a counter variable in the details table. The duration is also stored in the details table. For every added month, a check is made if the duration counter variable is zero or not.If the duration counter is zero, no extra deductions are performed on the monthly savings. If duration counter is not zero, the monthly installment counter value is deducted from the monthly savings amount, and the rest is added to total savings counter. Then, the duration counter is deducted by one, and this change is reflected in the details table. Similarly, if the user requests to save an amount in a particular duration, two counters are maintained. One for the save amount, another for the duration. For every added month, a check is made if the duration counter variable is zero or not.If the duration counter is zero, no extra deductions are performed on the monthly salary. If duration counter is not zero, the monthly installment counter value is deducted from the monthly salary amount, and the rest is used in calculating a prediction that will allow that particular amount to be saved. Then, the duration counter is deducted by one, and this change is reflected in the details table. Graph: The user may review his/her data in the form of a graph. The x-axis shows the selected months, preferably the last months in decreasing order. The y-axis shows either savings, or expenditure, depending on the request of the user. Graph has been selected as the method for review, since it is easier to comprehend at a single glance, rather than going through numbers in a tabular form. III. Results The prototype program is designed using python. Each section is defined in a different window, to avoid confusion. Buttons are clearly defined with their purpose. The results are displayed in the terminal, while the graph, designed using matplotlib package, is displayed in a separate window. Figures 4, 5 and 6 show the main windows with their respective features. Figure 4 shows the login window, with options to create new user, and for existing user to enter their credentials. Figure 5 shows the main window, where addition of month, prediction, loan and graph features can be used by the user. Clicking on each button takes the user to its respective window. Figure 6 shows the graph of 11 months. The green line shows savings, and the blue line shows expenditure, against the months marked at the x-axis. Fig. 4. Login window
  • 4. Personal Financial Assistant DOI: 10.9790/0661-1802032730 www.iosrjournals.org 30 | Page Fig. 5. Main window after login Fig. 6. Graph. Green = savings / Blue = expenditure Conclusion and future work: User convenience is always the priority when a new product is designed. Aim of this paper is the same, to introduce an idea of a convenient system for maintaining one’s finances without having to go through lengthy data, and calculations. The more this is used, the more the database grows, allowing a fairly accurate rate of prediction. Since this analyses the user’s data, as well as stores it for future reference, a stronger security system could be implemented, to protect the user’s privacy. Multi user support calls for better security measures, since the same hardware will be available to multiple users, and to protect individual data from other users. Also, if the user desires, collection of data into the database could be automated, by tracking usage of credit/debit cards, across multiple devices.