CredAdvisor is a professional Credit Card Recommendation System designed to help users find the most suitable credit cards based on their age, income, desired benefits, and annual fee preferences. The system leverages natural language processing and machine learning techniques to intelligently match user requirements with card features from a dataset.
- Top Card Recommendations: Suggests the best 2 credit cards tailored to user requirements.
- Eligibility Filtering: Automatically checks age and income eligibility for each card.
- Customizable Preferences: Users can filter cards based on benefits such as cashback, lounge access, and more.
- Annual Fee Consideration: Filters out cards exceeding the user's specified maximum annual fee.
- Smart Matching Algorithm: Combines TF-IDF vectorization, cosine similarity, and coverage scores to provide accurate recommendations.
- Modular Design for Collaboration:
text_utils.py
— text normalization and helper functionsdata_utils.py
— data loading and preprocessingrecommender.py
— scoring, eligibility checks, and recommendation logicapp.py
— Streamlit user interface



- Data Processing: Loads and normalizes card eligibility and benefits from
CreditCardsData.csv
. - Requirement Matching: User requirements are converted into TF-IDF vectors and compared with card descriptions using cosine similarity.
- Coverage Scoring: Measures how well each card meets the user’s benefit requirements.
- Score Adjustment: Scores are adjusted based on eligibility, fees, and coverage.
- Top Recommendations: Returns the two best cards while avoiding duplicates from the same bank.
- Python 3.x: Core programming language.
- Streamlit: Interactive web app interface.
- scikit-learn: TF-IDF vectorization and similarity computation.
- Pandas / NumPy: Data management and processing.
- Regex & String Processing: Eligibility rule extraction.
- Custom CSS: Enhanced visuals and styling for Streamlit UI.
Clone the repository: git clone https://github.com/your-username/CredAdvisor.git cd CredAdvisor
Install dependencies: pip install -r requirements.txt
Run the Streamlit app: streamlit run app.py