Inspiration
After years of overdraft, despite a decent salary, I have had the opportunity to work on my finance with a mentor. Even with the mentor, and a very comprehensive excel with all my earnings and expenses, I came to realize - I cannot really plan ahead, as I do not always have the visibility of the upcoming expenses (car insurance, new phone, vacation etc etc). So it was very challenging, and time consuming to plan ahead and save just a little bit of money. Hence, we at Fusion Predict came up with an application that changes the game.
What it does
By utilizing the new open banking initiative, and by utilizing Finastra's FFDC API's (get account balance and get transaction details), we get the historical banking data for our user. Then, we run a Machine Learning algorithm on it, that provides a prediction for the upcoming 12 months, month by month. In addition, we want to help people not only see a prediction of their expenses, but to also help them save. In order to achieve that, we have added 2 main features that support our goal:
- "I want to buy something": Once a user sets an amount for an upcoming purchase, the algorithm predicts the validity of the expense. I.E the algorithm will return a "Green Light" response, or a "This will put your account in an overdraft. Consider buying in X months.".
- "Set a savings goal": This feature allows the user to input a target for a savings, and a % of his / hers available balance they are willing to put aside. For example, I want to save 8K, and I'm willing to set aside 50% of my available balance - then the algorithm checks the upcoming months expected balance and predicts the duration this saving will take. Additionally, after setting a savings goal, if the user enters the "I want to buy something", and sets a purchase amount - the algorithm will advise not only if it's OK to buy it now or in a specific month - it will also advise by how long it will delay the savings.
How we built it
Back-end:
- Using FFDC API's(Account Information - Retrieve Account Transactions, Retrieve Account Balances)
- Machine Learning with linear regression algorithm using RStudio.
- Spring Boot Application
- Maven project
- Java 8
- REST API
Front-end:
- Ionic framework
Challenges we ran into
- Getting the data we need for the ML
- Working with an overseas developer
Accomplishments that we're proud of
- Using R language without previous knowledge
- Built a diverse team
What we learned
- How powerful and varied FFDC truly is.
- How our app is needed by everyone that heard of it! So many people approached us and asked for the beta version.
- The business use case is one of the most important parts of the Hackathon - which enabled us to come up with the app that actually solves a problem. We took our time in developing the idea, before we developed the app.
What's next for Fusion Predict
Our roadmap consists of a few major updates:
- Create a separation for cooperate employees (people that receive a steady salary each month) vs self employed / people who work shifts.
- Once we have enough data, we will segregate all possible categories, to create a greater visibility for the user regarding the upcoming expenses.
- Once we have categories - we will be able to allow the user to remove upcoming expenses. For example, if the system predicts that the user will have a vacation on September (due to consistent historical data), we will allow the user to remove that item from the list, if it's not taking place, thus allowing the algorithm to provide a more accurate prediction.
- Adding comparison for the user (considering age, status, kids, area within the city, education etc etc), so the users will be able to see abnormalities in day to day expenses (like electricity, groceries, gas, phone cables etc) vs other people in the same group.
- Adding notifications for high expenses vs other users. I.E - if a user is paying more than the average for a certain service, a notification will come up, advising the user to check that specific expense, as it seems to be higher than average.
Log in or sign up for Devpost to join the conversation.