LAB.03 / Marketing

The platform knows the click. The CRM knows the sale.

Nobody joins them properly, and until they are joined the decision about where to put the money is taken with half the information. This laboratory works on that seam.

01 / Philosophy

What this laboratory studies, and why.

Object

A campaign produces data in one system and money in another. Cost per lead is visible and arrives in minutes; revenue per lead is invisible and arrives in weeks. Decisions get made on the first because it is the one that is there.

The consequence is optimising against the wrong metric: scaling the campaign that brings cheap contacts who never close, and switching off the one that sustains the quarter. We study how to reconcile both sides when the join is imperfect, and which predictions survive that imperfection.

Our working conclusion so far is unglamorous: the obstacle is not dirty data, it is the absence of convention. Two accounts naming the same funnel stage differently make any comparison impossible, and no model repairs that.

Why

The sector sells dashboards. A dashboard shows what was already known in more colours, which is why report consumption falls to zero within months. The prior question goes unanswered: if two systems share no convention, any figure joining them is a well-typeset coincidence.

So the work starts by establishing how much the join withstands and which predictions survive its failures, and only then builds. It is also the domain where self-deception is easiest: almost any model produces a number, and the number always looks reasonable until it is checked against invoicing.

How it works
Principle 01

Convention before code

Agreeing what each funnel stage means, with people, before anything is built. It is the least technical part of the work and the one that decides whether the rest is possible.

Principle 02

History over real time

Most projects begin by asking for a live dashboard. What actually changes decisions is twelve well-reconciled months behind you, because that is what separates a real drop from ordinary seasonality.

Principle 03

One useful alert

Report consumption tends to zero over time. What still gets read months later is what arrives on its own when there is something to decide — and only if it is almost never wrong.

02 / Projects

Systems and open lines.

  1. P-01
    In production

    Reconciliation layer across advertising and CRM

    Unifies advertising spend and the commercial journey for several client accounts under one structure, so the only question that matters can be answered: which euro spent produced which euro invoiced.

    • Twelve-month history recovery per account, with atomic task claiming so two processes never work the same slice
    • Three roles — owner, team and read-only client — enforced at a single server chokepoint, not in the interface
    • A CRM connection not yet assigned to a client is never synchronised: the only way to guarantee two clients' data never mix
  2. P-02
    In production

    Anomaly detection against expected behaviour

    A dedicated service watches the time series for spend, conversions, cost per click, click-through rate and incoming contacts. For each point it returns the value it expected, how many standard deviations the real value sits from it, and in which direction.

    The difference from a threshold alert is that the threshold is set by that account's own history rather than by a number written by hand. Sensitivity is adjustable, because an agency that receives false alerts stops reading them within two weeks.

  3. P-03
    Open

    Early estimation of contact value

    Estimating the probable value of a contact from early behaviour, and predicting when a creative will stop performing from its own decay curve. Both are the highest-value questions in the domain and both are blocked by the same thing: they need a complete, clean funnel journey to exist first. That is why the work always starts with reconciliation.