Code for the DSBA Eleven Strategy Hackathon Group 2
This project provides a Streamlit-based platform for planning marketing campaigns with personalized recommendations for customers. Users can set campaign parameters, generate recommendations, and access insights on campaign performance.
Note: This is a Proof of Concept (PoC) with limited functionality.
- Python (>=3.8)
- Install dependencies:
pip install -r requirements.txt
Run the following command in your terminal:
streamlit run app.py
Important: The app may initially show a streamlit.errors.StreamlitDuplicateElementId
error. Simply refresh the page to proceed.
Once the app is running, you will have access to two tabs:
- Campaign Settings – Upload data and configure campaign parameters.
- Campaign Overview – View campaign details.
Click “Browse Files” and upload the following CSV files:
transactions.csv
stocks.csv
stores.csv
clients.csv
products.csv
Adjust the following settings:
- Number of Recommendations per Customer
- Recommendation Conversion Rate (%)
- This defines the expected conversion rate (probability of purchase per recommendation).
- Example:
- If set to 100% (1.0) → Each recommended product is expected to be sold. Thus, recommendations cannot exceed stock availability.
- If set to 10% (0.1) → Each product is expected to be sold once per 10 recommendations, meaning we can recommend it up to 10 times the available stock.
Click “Generate Campaign”. Once you see “Campaign Generated Successfully!”, navigate to other tabs for insights.
To launch a new campaign:
- Refresh the page and re-upload data before generating a new campaign.
- Skipping this step may cause issues.
This project is a personal proof of concept intended for evaluation purposes only. It is not licensed for public distribution, modification, or commercial use.
For questions or contributions, open an issue in this repository.