top of page


COMMERCIAL PROJECTS: WATCH TOWER
Businesses need the right tools to make sense of the large data in our modern world.
Data from financial instruments help to predict client spending habits, and information from social media help to make sense of marketing campaigns.

Featured Posts
Recent Posts
Archive
contact
Anchor 1
🚀 Customer Analytics & Machine Learning Project (Stripe Data)
Overview
This project focuses on customer data analysis and machine learning using Stripe payment data (300+ clients, 3000+ transactions). The goal was to extract insights, predict customer behaviour, and support business decisions such as location expansion and customer targeting.
📍 Geospatial Customer Analysis (Python)
Using Python, Pandas, and Geopy, customer location data was transformed into interactive maps to visualise geographic distribution.
This allowed the business to:
-
Identify high-density customer areas
-
Compare customer locations with existing sites
-
Evaluate new location opportunities based on real data
This is an example of geospatial data analysis in Python applied to business strategy.
📊 Customer Behaviour & Data Analysis
Customer data was analysed using Python (Pandas, NumPy, Seaborn) to understand patterns in:
-
Customer lifetime (months active)
-
Total spend
-
Payment frequency
-
Churn, refunds, and active status
Statistical methods used:
-
KDE plots and distribution analysis
-
Cross-tab analysis (postcode vs time/day/class type)
-
Chi-squared testing
This stage focused on customer behaviour analysis and identifying high-value clients.
🤖 Machine Learning for Customer Prediction
Machine learning models were built using Scikit-learn to predict customer outcomes:
-
Logistic Regression
-
Random Forest Classifier
These models were used to:
-
Predict customer retention and churn
-
Identify high-value customers
-
Support data-driven decision making
This demonstrates practical machine learning applied to real-world customer data.
📈 Business Impact
-
Improved understanding of customer lifetime value (CLV)
-
Identified high-performing locations for expansion
-
Reduced risk in business decision-making
-
Enabled targeted marketing strategies
🧰 Tech Stack
Python, Pandas, NumPy, SQLite, Geopy, Matplotlib, Seaborn, Plotly, Scikit-learn
What started as a relatively simple geospatial analytics project has evolved into something much bigger: a decision-support system built around real business and financial transaction data.
The original question was straightforward:
Where are our customers actually coming from?
For a location-based business, answering that question can fundamentally change how you make decisions.
The project began with customer transaction data collected through Stripe, our payment processing system. Rather than treating those transactions simply as financial records, I wanted to explore what additional business intelligence could be extracted from them.
Using Python, Mapbox and pgeocode, I developed a pipeline that could connect customer and payment information with geographic data.
This allowed us to visualise where our customers were concentrated and start asking more useful operational questions:
-
Where are our strongest customer clusters?
-
Are our service locations positioned in the right places?
-
Which geographic areas are producing customers despite receiving relatively little attention from us?
-
Where might the data support opening or relocating a service location?
Over time, I improved the underlying pipeline, replacing fragile dependencies and developing more stable methods that didn't rely on poorly maintained online services.
Then AI changed how I developed the system.
I began using ChatGPT as a development tool — not to replace the analytical thinking, but to accelerate debugging, challenge existing approaches and identify alternative technical solutions.
This helped move the project towards a more stable and maintainable stack:
Python | SQLite3 | GeoPy | Pandas | Plotly | Matplotlib | Seaborn | Scikit-learn
Instead of depending heavily on external online services that could change, disappear or stop being maintained, more of the processing and analytics could be handled within our own pipeline.
After completing a BrainStation Data Science course, I expanded the project beyond geospatial analysis.
The next question became:
Location tells us where customers are — but what can their transaction history tell us about their behaviour?
Because the underlying Stripe data contained customer payment histories, I could derive variables such as customer lifetime, total spend and churn behaviour.
I introduced customer lifetime and churn analysis, using machine-learning techniques including logistic regression, alongside statistical data visualisation.
Histograms and density distributions revealed something particularly interesting:
Our customers weren't one homogeneous population.
Distinct groups emerged.
Some customers stayed substantially longer and generated significantly greater lifetime value.
Others clustered around early churn, shorter customer lifetimes and lower total spend.
That changes the meaning of the geographical analysis.
A postcode containing 20 customers isn't necessarily more valuable than an area containing 10.
The more interesting question becomes:
What kinds of customers does each area produce?
Now geographic areas can potentially be evaluated using a combination of customer concentration, retention, churn risk and lifetime value — creating a much richer picture for business decision-making.
More recently, I've taken the project another step forward by using Base44 to build the application and user-interface layer around the analytics.
This reflects something I increasingly believe about modern software development:
Humans shouldn't be doing work that machines can reliably do for them.
My primary interest is in the analytics, architecture and decision-making system. AI-assisted development allowed me to move the project towards a production-level application without spending months becoming a specialist UI developer or immediately recruiting someone else to build that layer.
The project has therefore evolved into an end-to-end system:
Stripe transaction data → Data processing → Geospatial analytics → Customer segmentation → Churn/LTV modelling → Data visualisation → AI-assisted application development → Business decision support
And the principle behind it remains simple:
Automate the stages where human involvement adds little value. Keep humans firmly in the loop where judgement and critical decisions matter.
For me, that's one of the most exciting applications of AI.
Not replacing human decision-making.
Building systems that give humans better information on which to base those decisions.
#MachineLearning #DataScience #DataEngineering #GeospatialAnalytics #Python #ArtificialIntelligence #Analytics #Automation #Stripe #BusinessIntelligence #AIEngineering #ProductDevelopment
bottom of page














