Machine learning development in Manchester
Returns are the number that keeps Manchester's fashion retailers up at night, and much of it is predictable. The same products, sizes and customer patterns come back again and again, and the data that shows it usually already exists in the order history. What is missing is a model built on it, and a way to put the answer in front of the buyer, the merchandiser or the customer at the moment it matters.
We build that: return and demand predictions trained on your own history, features that are computed the same way in training and in production, and monitoring that tells you when the model has drifted after a change in range or season. The output goes where people will use it, whether that is a size recommendation on the product page or a flag in the buying team's report. Sometimes a simple rule beats the model, and we will tell you when.
Manchester's software market has two centres of gravity, a tram ride apart. MediaCityUK in Salford is home to BBC North and ITV, and to the production companies, post houses and broadcast suppliers that grew up around them. Their systems are about media and rights: asset libraries, scheduling, metadata that has to follow a programme from edit to broadcast to streaming, and the comments, votes and uploads that now come with so many shows. Anything that hosts what the public posts needs moderation designed in from the first episode, because the busiest night is usually the launch.
The other centre is online retail. Greater Manchester is home to THG, boohoo, AO and Auto Trader, and that concentration has produced a generation of engineers and smaller brands who think in conversion rates, warehouse cut-offs and peak trading. The mid-sized retailers we hear from have usually outgrown their first platform in stages, and the joins between the shop, the warehouse and the finance system are where the money leaks. Between the broadcasters and the retailers sit the city's digital agencies, building for clients across the North and London, and they often need engineering capacity for a quarter rather than another permanent seat.
Hiring here is cheaper than London but not cheap. ITJobsWatch puts the median advertised salary for a software engineer in Manchester at £75,000 over the six months to September 2026, and GCHQ, which opened its Manchester site in 2019, now competes for the same security-minded engineers. Retailers and agencies feel the squeeze most in the run-up to peak, when a build has a fixed date and a permanent hire would arrive after it.
Working with us from Manchester fits the day you already have. Four hours of every working day overlap with yours, set across your morning, so stand-up, review and decisions happen live with the engineer who writes the code. The afternoon runs on pull requests and written updates in your own Slack, GitHub and Linear, waiting for you when you get back from lunch, with runbooks and architecture notes written as the work goes.
We are the right fit for a defined build, a deadline before peak, or a quarter of extra senior capacity for an agency that has won more work than it can staff. Start with a fixed-price two-week piece and judge us on the result. For agencies, we work white-label under your name, in your repositories and your tools.
Four ways this arrives.
Someone got good results on a laptop and nobody can reproduce them. We turn it into a training pipeline with pinned data and versioned artefacts, put a serving endpoint in front of it, and record what it was evaluated on so the next version can be compared.
Hundreds of conditions routing tickets or flagging risky orders, each added after an incident. We measure what the rules get wrong on your labelled history, then test whether a classifier beats them. Sometimes the answer is fewer, better rules, and we say so.
Demand, load or staffing estimates that miss often enough to be ignored. We start with a plain seasonal baseline, backtest against the periods you actually plan around, and add complexity only where it beats that baseline on those periods.
Duplicate records, recurring faults, near-identical products under different names. Embeddings group text by meaning where keyword matching cannot, and we build the screen that lets a person correct a group rather than trust it blindly.
Repeat-fault detection that began as UMAP and HDBSCAN over 33,000 work orders and shipped as nightly incremental clustering on the same embedding model.
Read the write-up →Asked by Manchester teams.
How do you work with teams in Manchester?+
Four hours of every working day overlap with yours, set across your Manchester morning, so stand-up and review happen live. We join your calls and work in your tools: Slack, GitHub and Linear. You talk directly to the engineer who writes the code. When you get back from lunch, the afternoon's work is waiting in pull requests, with notes on what changed and why, and runbooks written as we go.
Do you build for Manchester retailers and media companies?+
Yes. For online retailers we build the joins that decide the margin: stock that is right across the website, marketplaces and warehouse, returns that flow back into sellable stock, and order data that reconciles with the 3PL and the payment provider. For broadcasters and suppliers at MediaCityUK we build content and rights metadata services, delivery APIs for streaming partners, and audience features with moderation designed in.
How does your rate compare to hiring in Manchester?+
ITJobsWatch puts the median advertised salary for a software engineer in Manchester at around £75,000. Our published rate is $35/hour with a $5,000 minimum, or $5,400 a month for one engineer embedded in your team. There is no recruiting time and no employment overhead, and we can start within days of the first call. A fixed-price two-week piece at $2,800 lets you judge us on output first.
Can you take over a platform a Manchester agency built?+
Yes. In Manchester a retail or media platform often outlives the agency that built it, so this is familiar work. After a 30-minute call with the engineer, we read the code, run it, and write down how it actually works: architecture notes, the risky paths and what we would change first. That becomes a written plan within a week. A fixed-price two-week piece then ships the first real change.
Do we need machine learning, or is a rules engine enough?+
Often a rules engine is enough, and it is cheaper to run, explain and audit. If the people who make the decision today can write it down, write it down. A model earns its place when the rules keep multiplying, the inputs are messy text or images, or the pattern shifts faster than anyone can edit the rules. We check against your history before recommending either.
Why not just call a hosted model API?+
Sometimes you should. With low volume, messy language and no labelled data, a hosted model and a good prompt ship quickly. A trained model wins when per-call pricing starts to hurt at your volume, when latency matters, when data cannot leave your systems, or when you have labelled examples a small model can learn from. We price both paths before you commit.
How much data do we need?+
For classification, usually fewer labelled examples than people fear, and embeddings can group text with no labels at all. Forecasting is the opposite: you need enough history to cover the cycles you plan around, and a single year says little about a yearly pattern. We give you an answer after looking at your data, not before.
What happens when the model gets worse?+
It will, because the world it learned from changes. We log inputs and predictions, compare them with outcomes as they arrive, and alert when accuracy or the input mix drifts past a threshold you agreed. Retraining is a scripted pipeline with an evaluation gate, so a new model replaces the old one only when it does better on the same test set.
Can you build a recommendation system?+
Yes, and we would start without a learned model. Co-occurrence and embedding similarity, served from Postgres or a vector index, beat a most-popular list for most catalogues and are easy to debug. A learned ranker comes after that, once you have enough interaction data to train and evaluate one. A learned ranker is something we build from our work with embeddings and clustering, starting from a simple baseline you can measure it against.