Inspiration
Our team was inspired by the challenge of helping people understand their spending patterns in relation to location. We noticed that traditional banking apps show what you spend and when, but rarely where you spend it or how location influences your financial decisions. With the rise of fintech solutions like Revolut focusing on seamless global spending, we wanted to create a tool that provides spatial context to financial data, enabling users to make more informed decisions about where they shop and how they could optimize their spending habits geographically.
What it does
Spending Map AI creates a visual representation of your transaction history on interactive maps, revealing patterns that might otherwise remain hidden. The application:
- Visualizes spending by location with customizable filters for date ranges and categories
- Analyzes spending patterns by geographic zones using machine learning clustering
- Compares spending habits across different areas and time periods
- Provides personalized merchant recommendations using our LinUCB algorithm, which learns from your preferences
- Predicts future spending patterns and allows users to simulate changes in their location or habits
- Identifies opportunities for savings by suggesting alternative merchants with better prices nearby
How we built it
We built Spending Map AI using a combination of data science and web technologies:
- Frontend Interface: Created with Streamlit for a responsive, interactive dashboard
- Geospatial Visualization: Implemented using Folium for interactive maps
- Data Processing Pipeline: Built with Pandas and NumPy for efficient transaction analysis
- Machine Learning Components:
- HDBSCAN for geographic clustering of transactions
- Custom LinUCB algorithm implementation for contextual bandit-based recommendations
- Predictive models for spending forecasts
- Location Intelligence: GeoPy for distance calculations and location-based analytics
The entire application is structured with modularity in mind, separating data preprocessing, analysis, and visualization components for maintainability.
Challenges we ran into
During development, we faced several significant challenges:
- Balancing Privacy and Utility: Creating meaningful insights while respecting user data privacy
- Geographic Data Quality: Dealing with missing or inaccurate location data in transaction records
- Algorithm Performance: Tuning the LinUCB algorithm to balance exploration vs. exploitation effectively
- User Experience Design: Making complex financial and spatial analyses accessible and actionable for users
- Computational Efficiency: Optimizing performance for real-time analysis of large transaction datasets on the fly
- User Feedback Integration: Developing a robust system to incorporate user feedback into the recommendation model
Accomplishments that we're proud of
We're particularly proud of:
- Successfully implementing the LinUCB contextual bandit algorithm that improves recommendations over time
- Creating an intuitive visualization system that makes complex geospatial financial patterns immediately understandable
- Developing a robust clustering system that automatically identifies meaningful spending zones
- Building a responsive application that works across different transaction volumes and spending patterns
- Integrating feedback mechanisms that make the recommendation engine smarter with each interaction
- Creating a project that has practical everyday utility for anyone who wants to better understand their finances
What we learned
This project taught us valuable lessons about:
- The power of combining financial data with geospatial analysis to uncover hidden patterns
- Implementing and tuning contextual bandit algorithms for real-world recommendation systems
- The importance of user feedback loops in building adaptive ML systems
- Effective visualization techniques for making complex data patterns accessible
- Collaborative problem-solving across data science, ML, and, more important, frontend development domains
What's next for Spending Map AI
We have several plans to expand Spending Map AI:
- Mobile Application: Add this functionality to the Revolut app
- Real-time Transaction Processing: Integrate with banking APIs for instant spending analysis
- Advanced Prediction Models: Incorporate more sophisticated ML models for better forecasting
- Budget Planning Tools: Add location-aware budget planning functionality
- Smart Notifications: Implement proactive alerts for unusual spending patterns or savings opportunities Our vision is to transform Spending Map AI into a comprehensive financial wellness platform that helps people make smarter, more location-aware financial decisions every day.
Log in or sign up for Devpost to join the conversation.