The MarketTwin™ engine

More than a twin. Five layers behind every number.

A twin compares each market with markets your ads didn’t touch. The engine also learns your calendar, picks the method that fits your data, tests itself on your history and grades every result.

Illustrative: the baseline accounts for a storm week and a school breakIllustrative chart: green actual sales follow the dashed baseline through a storm week and a school break, then rise above it after ads start; the green gap is the lift.Actual salesBaseline, no adsILLUSTRATIVEStorm weekaccounted forSchool breakaccounted forLiftADS START →WEEKS
A plain twin can mistake a storm or a school break for ad results. The baseline learns them first.

The five layers

What runs under every read.

Three layers run on every account. Two more add outside context as they switch on. Back-tests then check the whole stack on your own history.

  1. What actually happened

    Layer 1: POS sales

    Weekly sales per location, straight from your POS. Add door-counter counts and the engine can tell “more people came in” from “each visit spent more”.

    • Square
    • Toast
    • CSV upload
    • Door counter · optional
    Included
  2. What would have happened anyway

    Layer 2: Machine-learned baseline

    A machine-learned model learns how each market moves with season, holidays, weather, school breaks and local data. It trains only on weeks and markets your ads didn’t touch.

    • Holidays
    • Weather
    • School breaks
    • Local events
    • Local market data
    Included
  3. The right method for your data

    Layer 3: Best-fit estimator

    Augmented synthetic control, synthetic difference-in-differences, or a baseline-only model when comparison markets are scarce. The one with the lowest back-test error on your data wins.

    • Augmented synthetic control
    • Synthetic DiD
    • Baseline-only
    Included
  4. What changed next door

    Layer 4: Local market data

    Competitor openings and closings, plus foot-traffic or card-spend trends for similar businesses nearby, used as outside controls. Upload your own or connect a provider you license.

    • Competitor openings
    • Nearby foot traffic
    • Card-spend trends
    Early access
  5. Steadier reads on small samples

    Layer 5: Benchmarks from similar brands

    Give-to-get. Anonymised results pooled by category, channel and market size. Only groups of five or more brands, no brand over 25% of a benchmark, never prices or margins.

    • Category
    • Channel
    • Market size
    Opt-inTurns on per category once enough brands contribute

Then every read is checked

Included
  1. Back-testedHundreds of fake and planted spend changes in your own history
  2. Calibrated 95% rangeSized from the errors those back-tests found
  3. Grade, evidence, next stepA to D, what was accounted for, and one recommended action

On every number

A grade, the evidence and one next step.

No bare numbers. Each result says how sure it is, what it accounted for and what to do next. Values below are examples.

CountliftTampa · Paid social · Weeks 12–20Example
Extra guests
+1,240
95% range +610 to +1,880
ConfidenceLikely
MethodSynthetic diff-in-diff, the lowest back-test error for this brand
What we accounted for
  • Two storm weeksLate August, all three Tampa locationsBaseline
  • Spring school breakHillsborough County schools outBaseline
  • A competitor opened 1 mile from WestshoreWeek 14Local data
  • Similar businesses nearby down 4%Same weeks, same areaLocal data
Door countsMore visits, spend per visit flat: the ads brought more people in.
Next stepKeep Tampa spend steady for four more weeks to firm up the read.
Example evidence panel for one result: the number, its 95% range, grade B, the method, what was accounted for and one next step.

Every result gets a grade

  • A · ProvenStrong evidence of lift. Safe to act on.
  • B · LikelyLift is probable but the range is still wide. Act, and keep watching.
  • C · Too earlyNot enough weeks or change yet to call it. Keep going.
  • D · Can’t measureThis setup can’t separate ads from noise. Plan a test instead.
CountliftTrack recordExample

Our 95% ranges contained the true answer X% of the time in N back-tests.

X and N are computed from your own back-tests and shown on your account.

How we prove the ranges

We test the engine on your history first.

Before a range reaches you, the engine has been checked against answers it already knows, in your own data.

  1. Fake spend changesWe pick hundreds of past weeks where nothing changed and pretend spend did. The true lift there is zero, so any lift found is error.
  2. Planted liftsWe add a known lift to your real history and check the engine finds it, at the right size.
  3. Ranges sized from the missesRanges are calibrated from those errors (conformal inference), so a 95% range is built to hold the true answer 95% of the time.
  4. Your record, on your accountEach account shows how often its own ranges held in its back-tests. Not an average from someone else’s data.
Fake spend changesIllustrative: 10 back-test ranges drawn around the known true answer; green ranges contain it, one amber range misses it.Fake spend changesILLUSTRATIVETrue lift: zeroPlanted liftsIllustrative: 10 back-test ranges drawn around the known true answer; green ranges contain it, all contain it.Planted liftsILLUSTRATIVETrue lift: the amount we added

Each bar is one back-test’s 95% range. Green holds the true answer; amber misses it. Your account counts both.

What we don’t do

We don’t track phones. We measure your actual sales.

No Bluetooth or Wi-Fi sniffing

Phones randomise the IDs they broadcast, so sniffed counts drift. Your sales don’t.

No bought location data

We don’t buy device-level location data. The FTC has acted against its sale, and several states restrict it.

No personal data

Totals by location only. No names, emails, card numbers, device IDs or cookies.

See exactly what Countlift stores →

Methods & references

Published methods, not a black box.

Each layer builds on peer-reviewed or published work your analysts can read.

  • Augmented synthetic controlBen-Michael, Feller & Rothstein (2021). “The Augmented Synthetic Control Method.” Journal of the American Statistical Association.Estimator
  • Synthetic difference-in-differencesArkhangelsky, Athey, Hirshberg, Imbens & Wager (2021). “Synthetic Difference-in-Differences.” American Economic Review.Estimator
  • Conformal inference for synthetic controlsChernozhukov, Wüthrich & Zhu (2021). “An Exact and Robust Conformal Inference Method for Counterfactual and Synthetic Controls.” JASA.Calibrated ranges
  • Machine-learned baselines (CUPAC-style)Predictions from a model trained on untouched data used as a control, building on CUPED: Deng, Xu, Kohavi & Walker (2013), WSDM.Baseline
  • Hierarchical Bayesian poolingWang, Jin, Sun, Chan & Koehler (2017). “A Hierarchical Bayesian Approach to Improve Media Mix Models Using Category Data.” Google.Benchmarks (opt-in)

Read the method step by step →

Questions

What analysts ask about the engine.

Is MarketTwin still a twin?
Yes, and more. A twin, the blend of your markets that didn’t get the extra ads, is still the heart of most reads. Around it, a machine-learned baseline handles the calendar, the engine picks the best-fitting method for your data, and back-tests on your own history size the ranges and set the grade.
Do you track customers’ phones?
No. We don’t track phones. We measure your actual sales. Countlift never sniffs Bluetooth or Wi-Fi signals and never buys device location data: phones randomise their IDs, and regulators restrict that data. We read totals by location from your POS, plus door-counter counts if you add them.
What does the machine-learned baseline do?
It learns how each market normally moves with the calendar, holidays, weather, school breaks and local events, using only weeks and markets your ads didn’t touch. So a hot July or a spring break isn’t counted as ad lift. It’s a ridge regression with gradient-boosted trees on top when they predict held-out history better; markets it never trained on are used to check it.
What if we only have a few markets?
When there are too few comparison markets for a twin, the engine can use a baseline-only model. The result still gets a grade, the evidence and a next step. If it can’t separate ads from noise, you’ll see a D and a suggested holdout test.
Do we have to share data for benchmarks?
No. Benchmarks are opt-in and give-to-get. They pool anonymised results by category, channel and market size, only from groups of five or more brands, with no brand over 25% of a benchmark. Prices and margins are never shared. They switch on per category once enough brands contribute.
Do we need door counters or local market data?
No. Sales by location and ad spend are enough. A door counter adds a second outcome, so you can tell more visits from bigger spend per visit. Local market data is in early access: upload your own, or connect a provider you license.

See what your ads did, graded.

Free location report · No card · No customer data