Simulated data · an independent leadership prototype← davidwilliscreative.com

.david willis
Systems · Data

Where every number comes from

Add what the systems can't see, like meeting transcripts, notes and reports, and see where every other number comes from. Every source in this demo is simulated; each one names the system most likely to feed it in a live build.

Add data

Drop in anything the systems don't see: call or meeting transcripts (Zoom, Teams, Pocket, Otter), meeting notes, performance reports, Word docs, PDFs, or a link to a Google Doc, Sheet or Slides deck. The app works out what it is and which clients it covers, then pulls out what needs doing for you to approve. Analysis runs in your browser with rules, not an AI service.

Google Drive isn't connected yet. You'll be asked once.
or add a file
Or try a sample:

Demo: files are read and analyzed in your browser with rules. Nothing is sent to an AI model.

Simulated sources

None of these is a live integration. Each feed is sample data shaped like the real one. In a live build, connectors would run on the server with the narrowest read scopes and never write back to the ERP, the planner or ad platforms. Individual pay is only ever shown to a browser unlocked with the edit key.

Finance & P&L

Simulated source
ERP / GLBilling & ARFP&A plan

Assumed Most agencies report net revenue by practice, so a cost-center P&L for the team should exist in the ERP.

Feeds
Monthly P&L, Margin by account, Receivables, Forecast baseline
Sample refresh cadence
Nightly, locked at month-end close
Data keys
finance, receivables, offers, rateCard

Resourcing & time

Simulated source
Resource planner (Kantata, Workfront Resource Planning, Float or Runn)Timesheets

Assumed Agencies this size staff resourcing managers, so a central planner likely exists. Which one is unknown.

Feeds
Capacity heatmap, Utilization, Over/under-booked lists
Sample refresh cadence
Hourly
Data keys
capacity, weeks, resourcePools

People & hiring

Simulated source
Workday HCMGreenhouse ATS

Assumed Greenhouse and Workday are common at agencies this size. Individual pay is shown only to unlocked browsers.

Feeds
Org, Time off, 1:1 cadence, Open reqs, Profiles and goals, Comp (private)
Sample refresh cadence
Daily
Data keys
people, requisitions, profiles

Production pipeline & QA

Simulated · marked stale
Adobe Workfront or JiraFrame.io reviewDAM

Assumed Shown as stale in this demo so you can see how the app flags an outdated feed.

Feeds
Work in flight, Turnaround, QA first pass, Client review waits
Sample refresh cadence
Every 15 minutes
Data keys
pipeline, production, productionTargets, revisionRounds, qaFailures

Media & creative performance

Simulated source
Media data warehouseMeta, TikTok, Google/YouTube, Pinterest, Snap, LinkedIn, AppLovin APIsCreative tagging

Assumed Creative tagging labels asset elements and links them to media metrics. The plumbing behind it is assumed.

Feeds
Tests, Hit rate, Fatigue alerts, Learnings
Sample refresh cadence
Daily (platforms lag 24–48h)
Data keys
tests, hitRateTrend, hitRateTarget, platformHitRates, fatigue, learnings

AI & automation

Simulated source
Automation platform usage logsGen-AI tool licenses

Assumed Hours saved is an estimate: baseline hours per asset type minus logged hours.

Feeds
AI share, Cost per asset, Hours saved
Sample refresh cadence
Daily
Data keys
aiSteps, aiInitiatives

Clients & pipeline

Simulated source
SalesforceClient NPS pulseSOW repository

Assumed Renewal and notice dates come from SOWs. Treat them as the contract of record.

Feeds
Accounts, Renewals, Pipeline, NPS
Sample refresh cadence
Hourly
Data keys
accounts, opportunities, mediaOnly

Calendar & comms

Not connected
Google Workspace or Microsoft 365Slack

Assumed Not connected. The week agenda and last-contact dates are sample entries.

Feeds
This week, Last exec contact
Sample refresh cadence
Live
Data keys
agenda, voice

How the numbers are calculated

Contribution margin
(Net revenue − direct labor − freelance − tools & AI) ÷ net revenue. Group overhead is not allocated. It is reported at three levels that are not interchangeable: Department contribution margin: all fees less all delivery cost, including bench, freelance and non-billable time. Target 42%. Account contribution margin: one client's fees less the cost of delivering them. Targets vary with engagement economics, e.g. Pulse's per-asset volume tiers carry a 40% target. Project delivery margin: the margin quoted on a pod's billable hours before unbilled time, revisions and scope creep. It has to sit well above 42% for the account to land near target.
Account health
Weighted mean of relationship 35%, performance 30%, delivery 20%, financial 15%. Missing parts are left out. Below 70% completeness the status is Unknown. Any part under 60 caps the status at Watch.
Booked capacity
Booked hours ÷ available hours (40 per week less time off; 24 in Thanksgiving week). Over 105% across the next four weeks counts as overloaded.
Hit rate and win rate
Hit rate is the share of new concepts that beat the account's control on its primary KPI. Win rate counts read tests only. A win needs 90%+ confidence.
Wearing out
The primary signal (CTR, hook rate or IPM) is down 15%+ over its window at frequency above 3.
Decisions on Overview
Rules over the data: renewal risk inside 60 days of notice, margin 8+ points under target, a discipline over 100% booked, freelance over budget, winners wearing out, large proposals due within 10 days, invoices over 60 days, client reviews stuck 6+ days, QA under target, and reqs open 60+ days with little pipeline.