The variable base

Change an assumption, watch everything move.

Nothing downstream hardcodes a figure. Every derived number on the panel comes from this page, which is why the tag on each line matters: K is countable in a file in this repo, E is an estimate with the reasoning next to it, I means nobody has supplied it and the model is running on a placeholder.

Fee per role
€7.500
Contribution
€5.820
Roles a year
40
Capacity ceiling
€303k
Sprint gap
€135k
Fit score
25%
Year 3 value
€6,09M

Price

What a role sells for. Everything in the model is a multiple of this, so an error here is an error everywhere.

Fee per hireK

The land-and-wedge price. One number, charged on a hire, no separate engagement fee.

apps/decks/revenue-sprint/slides.md, and named repeatedly in the 2026-07-28 standup

Package price · 3 rolesK

€6.667 per role. The first step off the per-hire price.

revenue-sprint long form, play 06

Package price · 6 rolesK

revenue-sprint long form, play 06

Package price · 9 rolesK

€5.000 per role. A third off the per-hire price, in exchange for one sales cycle instead of nine.

revenue-sprint long form, play 06. The AI Engineer Q3 package.

Share of roles sold inside a packageI

Move this and the average fee per role moves with it. It is the single most consequential input in the model.

Nothing packaged has closed yet. Zero until one does.

%
Sourcing-only packageK

Depth of vetting and what handover looks like are still open, so this does not yet feed revenue.

decisions/open-decisions.md, row opened 2026-07-28

Percentage fee, where one is usedK

2026-07-28 standup. The ivee deal runs on a 14% placement fee.

%
Average placed salaryE

Only used to price the percentage-fee deals against the flat fee.

Midpoint of the bands quoted on live roles: AI lead 80–100k, sponsor manager pushed to 120k, Serafin ~$100k

On the books

The counted present. Every line here can be checked by opening a file in this repo.

Clients on the booksK

clients/, excluding _template

Role folders open across clientsK

clients/*/roles. Nine at AI Engineer, plus Arena, ivee, Nancy AI, Neuraserv and Oberon.

Role processes with scored candidatesK

apps/candidates/src/candidates.ts, top-level keys in ROLES

Candidates carrying a weighted scoreK

apps/candidates/src/candidates.ts. Forty cards, all forty scored as of 2026-08-06.

Screening interviews on recordK

apps/website/app/rd/data.ts

Placements madeK

Sydney Owens, Content Manager at AI Engineer. This is the number the whole retention claim rests on.

apps/candidates/src/candidates.ts. One card carries status: 'hired'.

Placements past the 12-month markK

The north star cannot be measured until this is above zero, and cannot be claimed until it reaches the credible-n threshold.

The first placement is weeks old, not months. Nothing can have reached twelve months yet.

Placements needed before the retention number can be statedE

Below roughly a dozen, one early departure moves the headline by more than eight points

Revenue booked in 2026 so farI

Blocking. Almost everything on the overview that looks backwards is dark until this is filled in.

No revenue ledger exists in this repo. One placement is recorded; what was invoiced against it is not.

Months elapsed in 2026K

January through July

months
Cash in the BVI

Runway is a guess until this is real.

Not in this repo, and not derivable from anything that is

Product-market fit signals

Five signals, each chosen because paid acquisition cannot manufacture it. Inbound arrival is not on the list.

Roles bought again without a new sales cycleK

The strongest signal NOC has. A second role is a re-decision, and a re-decision cannot be bought with spend.

clients/ai-engineer/roles/. Nine role folders opened on one relationship, one sale.

Clients that came back for a second roleK

One client repeating is demand. Three clients independently repeating is fit.

AI Engineer. Every other client is on its first role.

Referrals offered unpromptedK

Lia McBride, client call 2026-07-28: "I've already recommended you to a couple of people"

Referrals that became a conversationK

The cheapest unbuilt signal in the company. It cannot be bought, and there is currently no mechanism that produces it.

revenue-sprint plan, line 2. The intros were offered and have never been worked.

Share of clients paying before seeing a candidateE

Revealed preference, paid in advance. Hard to fake, easy to check, and it is currently the second-strongest signal.

company/pitch.md states it for AI Engineer. Not verified across the other six clients.

%
Share of the motion that runs without a founderK

Daisy closes and delivers, Daniel prices and contracts. The sprint plan names both as bottlenecks.

%
Inbound leads nobody sourcedI

Kept visible but deliberately given no weight in the score. Arrival direction is the test that spend buys.

Not tracked anywhere

The August sprint

The live revenue push, 4 August to 4 September 2026. The only block that gets touched daily.

Sprint targetK

company/revenue-sprint-aug-2026.html and the deck built from it

Pipeline if every line landsK

revenue-sprint deck, six named sources

Pipeline weighted by the odds on each lineE

revenue-sprint deck. The deck says out loud that the confidences are guesses made to show the arithmetic.

Contracted so farI

Updated by hand. This is the one number to touch every Friday.

Days in the sprint windowK

4 August to 4 September 2026

Days elapsedK

4 August to today

Close rate on qualified pipelineE

Sets how much pipeline the target needs. At 33% you need roughly three times the target in qualified conversations.

revenue-sprint long form. Block C asks for the measured rate; nobody has answered it.

%

Delivery capacity

The binding constraint. Demand is not what caps the year, screening hours are.

People who can run a screenK

The most leveraged integer in the model. Two operators is not two times the revenue, it is two times the ceiling.

Named as a live risk in both the deck and the standup: Daisy is the only screener

Delivery hours an operator has per weekE

A full week minus selling, client calls and admin. Daisy carries closing as well as delivery, so this is not 40.

hours
Delivery hours per role, end to endE

Sourcing, screening, scoring, candidate management. Getting this from 26 to 12 is worth more than any conversion-rate improvement available.

Block B of the sprint plan asks for the measured figure. Unanswered, so this is an estimate.

hours
Share of delivery hours the agent stack absorbsE

Every point moved here is capacity that costs nothing. It is the moat becoming real and the key-person risk falling, in one number.

Research, evidence assembly and scoring drafts are agent-run; screening and judgement are not

%
Cycle time per roleE

Brief through to signature. Not measured; the standup records client-side latency stretching it further.

weeks
Working weeks per yearE

52 minus holidays and dead weeks

weeks
Share of started roles that reach a hireE

The brief rewrite should make this NOC's standout number. There is no evidence for it yet.

One hire against fourteen open role folders is the only observation, and it is far too early to read as a rate

%

Cost and burn

Two burn rates: the one that leaves the bank account, and the one three founders pay in foregone salary.

Monthly spend · acquisition toolingI

Feeds CAC directly.

integrations/ registers no outbound stack at all. Any figure here is invented until a bank statement says otherwise.

Monthly spend · data, research and inferenceI

Bright Data, Perplexity and Claude are registered in integrations/ as approved connections. The invoices are not in this repo.

Monthly spend · build, hosting and back officeI

Railway, GitHub, domains, accounting, KvK, insurance

Founder cash compensation, all threeE

Bootstrapped, no round closed

What the three founders would earn at marketE

This never appears on a bank statement and it is the largest cost NOC carries.

Three senior operators at Dutch rates including employer burden. Not sourced from anything in the repo.

Data and API cost per roleE

Genuinely marginal. This is what the cost per role looks like once the humans are out of it.

Bright Data, Perplexity and model credits burned on one search

Operator hour, loadedE

Market cost of a senior recruiter hour including burden

Founder hour, loadedE

Derived from the market-comp line across a working month

Founder hours per role, intake and brief rewriteE

The differentiating step, run by Daniel

hours

Acquisition

What it costs to land a logo, and the funnel that lands it.

New logos landed per yearE

Seven clients on the books, all of them inside 2026

Selling hours per logoE

Outreach, two calls, proposal, contracting

hours
Targeted contacts per monthI

No outbound tooling is registered, so no volume is recorded either

Contact to positive replyE

Cold-outbound benchmark, not NOC data

%
Positive reply to booked callE

Benchmark

%
Call to signed roleE

Benchmark. Block C asks for the measured rate.

%
How much better a warm route converts than a cold oneE

The sprint plan is built on warm routes precisely because of this ratio.

Lia pulled two roles out of LinkedIn's recruiting service to give them to NOC, and offered referrals unprompted

×

Client economics

How much a client is worth across the whole relationship.

Roles per client per yearE

AI Engineer alone has nine open. Across all seven clients the mean is closer to two.

Client lifespanE

Transactional recruitment default. Deliberately pessimistic: this is the number packaged revenue exists to fix.

years

Market

Built bottom-up. Top-down staffing-market numbers overstate a niche agency's reach by roughly an order of magnitude.

Active funded startups in EMEAE

Bottom-up starting population

Share that are B2B SaaSE

Bottom-up filter

%
Share post-seed to Series B and actively hiringE

Bottom-up filter

%
Agency-addressable roles per company per yearE

Bottom-up filter

Reachable geographyE

The live book is broader than EMEA: AI Engineer is US, Oberon is UAE. Payment speed drives the choice, not proximity.

%
Role families NOC coversE

Counted off the live book: events operations, community, content, sponsorship, growth, product, sales operations, finance operations

%
Share with no functioning in-house talent functionE

The ICP disqualifier

%

Exit

The category NOC gets filed under decides the multiple, and the multiple decides whether the target is reachable.

Exit targetK

Stated as €40M, not €5M. The multiple table below is what makes it reachable or not.

company/revenue-sprint-aug-2026.html, off the acquisition comps research of 2026-08-02

HorizonE

Implied by the comps framing

years
Multiple · read as a recruitment agencyK

Comps research: 0,5 to 1,7 times revenue. Midpoint here.

×
Multiple · read as HR-tech SaaSK

Comps research: 4 to 7 times

×
Multiple · read as vertical AI with its own dataK

The row NOC wants to land in. It is only available on recurring, high-margin revenue.

Comps research: 10 to 28 times. Juicebox sits near the top at roughly 28, on ~€30M ARR.

×

Three-year path

Per year: how many operators, how much of delivery the agents absorb, and how much revenue recurs.

Year 1 · operatorsE

Today

Year 2 · operatorsE

One hire

Year 3 · operatorsE

Two hires

Year 1 · agent-absorbed deliveryE

Matches the current figure

%
Year 2 · agent-absorbed deliveryE

Requires the outcome loop to be built

%
Year 3 · agent-absorbed deliveryE

Screening partly automated, judgement still human

%
Year 1 · roles inside a packageE

If the AI Engineer package closes

%
Year 2 · roles inside a packageE

Packaged becomes the default motion

%
Year 3 · roles inside a packageE

Per-hire survives only as the wedge

%
Year 1 · retainer MRR at year endE

No retainer exists

Year 2 · retainer MRR at year endE

Two accounts on a capacity retainer

Year 3 · retainer MRR at year endE

Five accounts on a capacity retainer

Saving writes only the differences from the shipped defaults to apps/metrics/data/model.json, so the file reads as what NOC has decided differs from the baseline rather than as a wall of numbers. The counted lines come from apps/candidates/src/candidates.ts, apps/website/app/rd/data.ts, clients/ and company/revenue-sprint-aug-2026.html.