Work / 03 Leading marketing services group
A leading marketing services group priced campaigns by hand, with every estimate depending on who built it. We built a price-estimation platform that returns consistent, explainable numbers, and an assistant that answers pricing questions in plain language.
- Client
- Leading marketing services group
- Engagement
- 5 months
- Delivered
- 2024
- Time to produce an estimate−80%
- Spread between two estimates of the same campaign±18% to ±3%
- Pricing records tagged100%
The brief
What they came to us with.
Pricing a campaign meant weighing geography, industry, campaign ambition and the kind of agency involved. Estimates lived in spreadsheets and in people’s heads, so two teams could quote the same campaign differently.
The group wanted one place to estimate prices, built on its own data, available to many users at once and ready to grow with the business.
Constraints
- Every estimate explainable, line by line
- Many users estimating at the same time
- Pricing data kept separate for each user group
- New markets and campaign types added without a rebuild
Before and after
What actually changed.
The same pricing knowledge, moved out of spreadsheets and into a platform.
What we did
How an estimate is made.
- 01
Tag the data before touching the model
We collected pricing datasets, cleaned them, and tagged every record by geography, industry, campaign ambition and agency type. The tags are what make a price comparable and an estimate explainable.
Fig. 1 From raw pricing sheets to a tagged datasetDiagram - 02
Make the estimate a chain you can read
The calculation engine starts from a base price and applies one adjustment at a time: geography, industry, campaign ambition and agency type. Each step is shown to the user, so an estimate can be defended and changed.
Fig. 2 How one estimate is built, step by stepDiagram - 03
Build it to grow
The platform is a set of microservices behind one gateway, with load balancing, central logging and user management. A conversational assistant sits on top, so a planner can ask for a price instead of filling in a form.
Fig. 3 The platform’s services around one gatewayDiagram
How it ran
How the work was paced.
Data and rules first, then the engine, then the assistant and the scale work.
Data collection and tagging
Gather, clean and tag the pricing history.
Calculation engine
Encode the pricing rules and check them against past quotes.
Platform and assistant
Microservices, user management, conversational interface.
Scale and handover
Load balancing, logging, documentation, training.
Outcome
What it changed.
Measured on campaigns estimated before and after the platform went live.
Time to produce an estimate
−80%
Before2 hrsAfter24 min
How measured: Average time from brief to a complete estimate, sampled before and after launch.
Spread between two estimates of the same campaign
±18% to ±3%
Before±18%After±3%
How measured: Difference between estimates of the same brief made independently by two teams.
Pricing records tagged
100%
BeforePartialAfter100%
How measured: Share of pricing records carrying all four tags in the production dataset.
Built with
PythonEverything glued together
Node.jsServices and APIs
ReactWeb interfaces
What we would tell the next team
- Getting the tags right was most of the work, and it is what made the estimates trustworthy.
- Showing every factor in the result turned the engine from a black box into a tool people defended in meetings.
- Services behind one gateway meant new markets arrived as data, not as code.
More work
Contact
Book a free 15-minute call to talk through what you are working on.
How we connect
- 01Book a short call
Choose a time that works for you on our calendar.
- 02Discovery call
A short call to understand the problem, the people and the constraints.
- 03Final scope and kickoff
We send a clear scope and cost. Once you agree, we start.
Office
393, WeWork Vijohn Tower, 3rd FloorUdhyog Vihar Phase-4, GurugramHaryana 122016
Follow