Statistical testing: sample size, lift and full factorial designs
How to size a test from the lift you need, read a confidence interval instead of a green tick, and run a full factorial that reveals interactions.
Automating marketing workflows and campaigns
How to size a test from the lift you need, read a confidence interval instead of a green tick, and run a full factorial that reveals interactions.
Most businesses pay for ads that promise one thing and then send everyone to a page that says another. A smart website closes that gap: one canonical page for search engines and cold visitors, shaped versions that continue the ad a visitor clicked, remembered only with consent, tested against real enquiries, and edited through the client portal instead of a CMS.
How media mix modelling uses adstock and saturation curves to estimate the marginal ROI of every channel and where the next pound should go, worked through on an invented hamper shop with the formulas, the numbers and the checks.
What a tagging server on your own domain fixes and what it does not: Google Tag Manager server side, the Meta Conversions API, GA4 Measurement Protocol, enhanced conversions and deduplication, built so consent still decides every forward.
More and more people meet your work in a feed or an AI answer and never visit your site. What to publish when the click does not come, on LinkedIn, in a newsletter and on answer first pages, and how to measure it through brand search and by asking people.
How to grow a business by being genuinely useful in Reddit, Discord, Slack and trade communities: why communities push marketers out, the one rule for every post, when to mention what you sell, the UK law on undisclosed posting, and how to measure what analytics cannot see.
How to build a nightly loop in a Solidus shop that reads competitors' public prices, stock, costs and elasticity, sets each product's price inside limits, moves ad budget towards profit, and stays inside UK consumer and competition law. Formulas, worked examples and Rails code.
Most links are passed on privately in WhatsApp, Slack, Teams and email, and your analytics files those visits under direct. Where the famous 80% figure really comes from, why a shared link loses its source, how to measure private sharing without tracking anyone who said no, and how to make recommendations more likely.
Chrome kept its third party cookies, and it barely matters. What Safari, Firefox and the consent banner really remove, what first party data is and is not, and how to measure without following people.
Four acronyms for four outcomes: found, lifted, cited and recommended. What SEO, AEO, GEO and AIO each mean, what actually moves each one, how they stack, what the lost clicks cost in numbers, and how to measure all four without buying a dashboard.
Fifteen concrete jobs that data engineers, analysts and data scientists do for a SaaS business and an online shop, in the order they should be done, each rated for importance and worked through with invented numbers you can check.
Three job titles that sound alike and are three different jobs. One coffee subscription business followed through all three roles, what each costs to hire in the UK, the order to hire them in, and what goes wrong when you skip one.
A checked list of 44 small fixes across the website, SEO, AI search, email and paid advertising, each one something you can start in an afternoon. Invented impact figures removed, every outside number sourced, and the consent rules built in.
How to put an honest number on one more email, webinar invitation or retargeting ad: response curves, marginal value, the full cost of a contact and holdout groups, worked through for an invented Manchester SaaS.
How to ship sooner without shipping worse: what lateness really costs, how to find and protect the critical path, the over engineering trap, why speed and stability go together, and why customers, not meeting rooms, should set the requirements.
A/B tests, A/B/n tests, bandits, multivariate tests, holdouts, geographic tests, audience splits and time based tests: what each one answers, what it needs and where it breaks.
When the ad budget is set from sales, sales and spend cause each other. Why one regression then overstates the ad effect, and how two stage least squares corrects it.
How to find the early action that predicts retention, clear the path to it, and build habits that last: cohort analysis, the Hook model, what the 66 days really mean, habit stacking, checklists, head starts, the goal gradient and the UK rules on onboarding emails.
Ten pieces of maths that turn growth data into decisions: lifetime value against acquisition cost, payback, cohorts, survival curves, Bayesian tests, bandits, attribution and mix models, power laws, price elasticity and retention, each with a worked example.
Goal gradients, fresh starts, implementation intentions, defaults, status tiers, social comparison and risk reversal: the original studies, how well each has held up, worked examples, and the tactics UK law now bans.
Browsers have closed most of the gaps and UK law asks for a yes before you personalise. How to build personalisation on consent, your own server and data people give you on purpose, with the Rails code.
A developer's walkthrough of the processing contract, data protection by design and the impact assessment for AI features, under the UK GDPR and, for EU customers, the EU GDPR. The law first, then the Rails code.
Most marketing automation is still a timer with a mailing list. What changes when models decide instead: guarded dynamic pricing, recommendations that read context, churn prediction that acts in time, and campaign agents, built on Rails and Solidus within UK data protection rules.
Why a newsletter keeps producing orders for weeks, how the Almon polynomial lag model measures that curve, and how an invented Leeds hamper shop could use it to pick a three weekly send cadence.
NIS2 covers cloud services, managed service providers and online marketplaces that serve the EU, with a 24 hour reporting clock and fines from €7 million. Who is in scope, what it asks, and where a UK business stands.
The Cyber Resilience Act sets security rules for almost every product with software in it that is sold in the EU. Reporting has been live since 11 September 2026, and the rest applies from 11 December 2027.
Every shop gains from one more email or ad while the cost of a tired audience falls on everyone. Hardin's pasture, Ostrom's answer, the inbox rules since 2024 and the arithmetic in pounds.
Donald Miller's seven part StoryBrand framework, explained part by part and worked through on an invented Leeds software company and a Bristol tea shop, before and after. With the honest limits.
Why the average order value hides the shape of your data, and how the median, spread, quartiles, honest outlier handling and a look at segments give you numbers you can actually decide on.
Before I scale any paid campaign I check three things in order: is the message understood, is the market big enough and reachable, and does each customer pay back once churn is counted. Worked through with an invented Bristol coffee subscription.
Trigger, action, variable reward, investment: what each step of the Hook Model does, what the habit research behind it actually measured, and where a useful habit turns into a hook nobody asked for, worked through on an invented Leeds coffee roaster.
What a growth loop really is, the one number that says whether yours is doing anything, and why a loop that never runs on its own still makes every pound of marketing go further.
How to count all five stages of a funnel, from awareness to advocacy, put a pound value on every leak, and fix the one that is worth the most first.
What a British shop's tracking code may do before and after a visitor presses accept, what Google's consent mode really sends on a no, and how to estimate the sales your ad platform cannot see.
What Google's ad auction really does to your price, why the textbook second price rule breaks across several positions, and how to set a maximum bid and a Target ROAS guardrail from your own margin and conversion rate.