Data analytics pilot project for a local café chain — analysing sales, profit, and customer buying habits, removed PII using Python and Power BI.
Final interactive Power BI dashboard showcasing sales, trends, customer insights and forecasts.
The goal of this pilot was to help the café chain understand:
- Which branches perform best by sales and profit
- Customer purchasing behaviour by drink type
- Payment preferences (cash vs card)
- Overall sales trends and potential forecasts
Python (VS Code) Data Cleaning and anonymisation ** Power BI** Interactive dashboard and visual analytics Github Documentation and version control
- Extracted raw café transaction data from a text file
- Transformed the data in Python:
- Removed names and card numbers (PII).
- Corrected malformed entries.
- Exported to
cleaned_data.csv.
- Loaded the cleaned data into Power BI for visualisation.
KPIS:
- Total Sales (£)
- Profit (£)
- Transactions Count
- Average Spend Per Customer
- Card vs Cash Sales %
-Sales by Branch (Bar Chart) -Top Drinks (Column Chart) -Sales Trend and Forecast (Line Chart with Analytics) -Payment Type Breakdown (Pie Chart)
-Woking is the best performing branch by total sales -Macchiato is the most popular drink, followed by Espresso -Card payments slightly outnumber ** cash transactions** (around 52%) -Sales dipped mid-year but show an upward recovery towards winter- suggesting seasonal demand -Recommend adding loyalty incentives or promotions for slower months
| File | Description |
cleaning_script.py:Python ETL script for data cleaning and anonymisationcleaned_data.csv:Processed dataset used in Power BICafe_Analytics_Pilot.pbix: Power BI dashboardCafe_Analytics_Pilot_Client_Presentation.pptx: Client-facing summary presentation
This project strengthend my skills in:
- Data cleaning and ETL with Python
- Power BI dashboard design and storytelling
- Version control with GitHub
- Translating data insights into business recommendations
-Automate the ETL piple using a database connection -Deploy the dashboard to a cloud workspace for scalability
Cafe-Analytics-Pilot/
├── data/
│ ├── raw_data.txt # Original raw text data before cleaning
│ └── cleaned_data.csv # Processed dataset ready for analysis
│
├── src/
│ └── cleaning_script.py # Python script used to clean and anonymise data
│
├── powerbi/
│ └── cafe_dashboard.pbix # Power BI dashboard file with KPIs and visualisations
│
├── README.md # Project overview, setup instructions, and usage guide
└── .gitignore # (Optional) Ignore unnecessary files like cache or temp data
Data Flow: Raw data → cleaned & anonymised in Python → visualised in Power BI.
-
Clone this repository:
git clone https://github.com/dal3ks/Cafe-Analytics-Pilot.git cd Cafe-Analytics-Pilot -
Prepare the raw data Place the provided raw_data.txt file into the data/raw/ folder.
-
Run the cleaning script Open cleaning_script.py in VS Code (or your IDE) and run it. This will generate cleaned_data.csv inside data/processed/.
-
Visualise in Power BI Open Power BI Desktop → Load data/processed/cleaned_data.csv. Explore visuals for Total Sales, Profit, Transactions, and Payment Trends.
The final dashboard is available in:
powerbi/Cafe_Analytics_Pilot.pbix
Open it in Power BI Desktop to explore the interactive visualisations and KPIs. All personal data has been anonymised in compliance with GDPR