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.
Price
What a role sells for. Everything in the model is a multiple of this, so an error here is an error everywhere.
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
€6.667 per role. The first step off the per-hire price.
revenue-sprint long form, play 06
revenue-sprint long form, play 06
€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.
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.
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
2026-07-28 standup. The ivee deal runs on a 14% placement fee.
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/, excluding _template
clients/*/roles. Nine at AI Engineer, plus Arena, ivee, Nancy AI, Neuraserv and Oberon.
apps/candidates/src/candidates.ts, top-level keys in ROLES
apps/candidates/src/candidates.ts. Forty cards, all forty scored as of 2026-08-06.
apps/website/app/rd/data.ts
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'.
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.
Below roughly a dozen, one early departure moves the headline by more than eight points
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.
January through July
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.
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.
One client repeating is demand. Three clients independently repeating is fit.
AI Engineer. Every other client is on its first role.
Lia McBride, client call 2026-07-28: "I've already recommended you to a couple of people"
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.
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.
Daisy closes and delivers, Daniel prices and contracts. The sprint plan names both as bottlenecks.
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.
company/revenue-sprint-aug-2026.html and the deck built from it
revenue-sprint deck, six named sources
revenue-sprint deck. The deck says out loud that the confidences are guesses made to show the arithmetic.
Updated by hand. This is the one number to touch every Friday.
4 August to 4 September 2026
4 August to today
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.
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
A full week minus selling, client calls and admin. Daisy carries closing as well as delivery, so this is not 40.
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.
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
Brief through to signature. Not measured; the standup records client-side latency stretching it further.
52 minus holidays and dead weeks
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.
Feeds CAC directly.
integrations/ registers no outbound stack at all. Any figure here is invented until a bank statement says otherwise.
Bright Data, Perplexity and Claude are registered in integrations/ as approved connections. The invoices are not in this repo.
Railway, GitHub, domains, accounting, KvK, insurance
Bootstrapped, no round closed
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.
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
Market cost of a senior recruiter hour including burden
Derived from the market-comp line across a working month
The differentiating step, run by Daniel
Acquisition
What it costs to land a logo, and the funnel that lands it.
Seven clients on the books, all of them inside 2026
Outreach, two calls, proposal, contracting
No outbound tooling is registered, so no volume is recorded either
Cold-outbound benchmark, not NOC data
Benchmark
Benchmark. Block C asks for the measured rate.
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.
AI Engineer alone has nine open. Across all seven clients the mean is closer to two.
Transactional recruitment default. Deliberately pessimistic: this is the number packaged revenue exists to fix.
Market
Built bottom-up. Top-down staffing-market numbers overstate a niche agency's reach by roughly an order of magnitude.
Bottom-up starting population
Bottom-up filter
Bottom-up filter
Bottom-up filter
The live book is broader than EMEA: AI Engineer is US, Oberon is UAE. Payment speed drives the choice, not proximity.
Counted off the live book: events operations, community, content, sponsorship, growth, product, sales operations, finance operations
The ICP disqualifier
Exit
The category NOC gets filed under decides the multiple, and the multiple decides whether the target is reachable.
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
Implied by the comps framing
Comps research: 0,5 to 1,7 times revenue. Midpoint here.
Comps research: 4 to 7 times
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.
Today
One hire
Two hires
Matches the current figure
Requires the outcome loop to be built
Screening partly automated, judgement still human
If the AI Engineer package closes
Packaged becomes the default motion
Per-hire survives only as the wedge
No retainer exists
Two accounts on a capacity retainer
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.