Building a Budget Planning App: How We Set the Basis for a Successful FinTech Startup with a Smart Algorithm for Detecting Subscriptions
The application for managing all recurring payments had to combine several essential features. First, it had to collect the user data, correctly classify the payments and finally present all the subscriptions in an easy-to-analyze way. Our client searched for a company that could tackle the development challenges and build an algorithm that would become the base of the future app. EVNE Developers became the perfect fit for this task with our strong development skills and product mindset.
To speed up the time to market and see how users would respond to a new product, we first had to build an MVP with all the basic functionality. As a fintech product, ApTap had to include three core features:
To get access to data about payments, we connected the app with the banks via Open Banking. With the customer’s consent, the Open Banking system uses the APIs to give third-party financial service providers access to their financial data.
Once we got access to the payment data, the next step was to correctly classify it and define the recurring payments. To implement this, we built an algorithm that analyzes the data and automatically classifies the payments based on keywords and such criteria as frequency and sum of the payments.
As a result, we delivered an app that listed all identified subscriptions and offered users to switch to more cost-effective options. Here’s a brief overview of how we managed to tackle every challenge along the way.
Part 1: Building an MVP to manage all users’ subscriptions
The solution we built had everything the user needed to effortlessly track subscriptions:
The app lets users plan their budget by overviewing their past payments as well as upcoming ones.
With access to payment data, ApTap displays all subscriptions on one screen, facilitating their management.
Finally, through ApTap the users can see different options for subscriptions, compare prices and choose the most cost-saving deals.
But once the app was developed, a major issue arose. During the development phase, law regulations have changed and as result our client couldn’t get access to the payment data as it was planned.
The Open Banking system in the EU provides two different levels of access:
ApTap needed C1 Access to be able to collect user data and identify payments as subscriptions, but there was no possibility to gain it without direct cooperation with the banks. Due to this fact, the project had to be stopped. But for ApTap it wasn’t the end. Even though the lack of access to Open Banking prevented the app from being launched, the product still had room for further development.
Our client returned to us in two weeks and asked to extract the core algorithm that identifies and analyzes payments. Happy to continue our collaboration, we started the second part of the project and moved to work with the search core.
Part 2: Extracting the algorithm for further development
Motivated by the goal of securing investors and exploring avenues for product development, our client requested the delivery of the algorithm as a standalone component, decoupled from the user interface of the existing app we had developed. The client's intention was to showcase the algorithm's potential and attract potential investors without the need for complete app development. This is how we tackled the task.
The algorithm we developed during the first phase was connected to the Open Banking system that had its own endpoints. This time it had to be independent of the system, allowing scalability and further development.
To implement it, we used Swagger, an open-source framework for developing and describing RESTful APIs. Using the CSV files with the user data about bank transactions, provided by our client, we developed an algorithm that didn’t need the Open Banking system. In other words, we found a way to work directly with banks which meant a new start for ApTap. Now the algorithm could be used not only in an app for managing subscriptions but also as part of a mobile banking solution, providing users with analytics of their subscriptions.
After the product got back on track, we had to ensure that its core feature would function as intended. The main challenge in automatically identifying subscriptions is accuracy. To avoid mistakes, we implemented 3 categories of accuracy to define if a payment refers to a subscription or not:
- 30-50% of credibility,
- 50-75% of credibility,
- And more than 80% of credibility.
The percentage of credibility depends on several factors:
- the sum of the payment,
- its regularity,
- the recipient.
If the sum doesn’t change and it’s a monthly payment, then the algorithm automatically defines it as almost certainly a subscription. The chances are low if the sum varies or some months are skipped, because it may not be a subscription but some irregular payments. After the analysis is completed, the algorithm shows the suggestions and the user can approve them or not. By implementing 3 categories, we helped users better understand how the algorithm works and improved the accuracy of results overall.
To identify payments, the algorithm also analyzes keywords such as, for example, Netflix, to define the exact type of subscription. We faced several challenges and went through many iterations to develop this feature. For example, some suppliers shared similar keywords, making it difficult to accurately identify the intended recipient. To solve it, we had to increase the number of the analyzed keywords, while not overpassing the limit of symbols as it could affect the time spent on analysis and result efficiency.
Through multiple iterations, we managed to achieve a high level of accuracy, delivering an algorithm that automatically defines the type, frequency, and recipient of the payment.
Independent from the Open Banking system, the solution can be developed further, avoiding the difficulties that we faced when first launched an MVP.
With our help, ApTap has launched a foundation for a successful fintech startup and established a dedicated in-house team. ApTap now works with several banks, giving users advanced analytics on their subscriptions and helping them find cheaper suppliers.
We built a foundation for the future product, successfully turning our client’s idea into reality.
The algorithm we built is able to perform real-time analysis of 100K transactions in 10 seconds.
We assured scalability of the product by applying engineering patterns and database structure.