Above + Beyond Service Company · internal
— lead calls so far today · — of today's call capacity booked · — P1 visibility fixes open
Waiting for today's huddle sheet…
| Trade | Sales sold today vs commit | Calls booked vs commit | Opps on the board vs commit | Canceled | Against the commitment |
|---|---|---|---|---|---|
| Waiting for data… | |||||
Waiting for data…
| Account | Today | This week | Month to date | Leads MTD, platform | Cost / lead | ST jobs MTD | Cost / job | Revenue MTD, ST |
|---|---|---|---|---|---|---|---|---|
| Waiting for data… | ||||||||
Slots = techs on shift × calls per tech (HVAC 3 · Plumbing 2.33 · Electrical 3) — computed live from ServiceTitan shifts.
Lead calls received, jobs created, and web bookings per day.
Google Search account 785-492-5401. Revenue is invoiced-to-date for jobs created in the period, so recent periods are still maturing. Loaded ROAS = revenue ÷ (media + contractor fees). Break-even at 52% gross margin = 1.92× loaded.
The terms of continuing the contractor engagement. Editors check items off as they're verified in the Google Ads account; overdue open items go red. Full audit: Paid Search Audit doc, Oct 14.
Campaigns with spend or captured contacts today, with the engine's verdict. Verdicts use the 70% booked-rate gate and live capacity.
Search and each LSA account kept separate. LSA leads are Google Local Services lead records.
Next 10 days in Edmond, scored by expected demand (modeled from a year of calls vs weather). Chips mark marketing playbook triggers.
Jobs discounted by the weather-demand index — a job earned in a heat wave counts less than one earned on a mild day. Adj $/job = cost net of weather.
Every source syncs on the quarter hour, 6a–9p CT.
From the October audit baseline — fix progress ahead of the December re-test.
Daily highs and lows on top, lead calls below — same timeline. Hover any day for calls, revenue and ad spend.
Weekday averages, 2026 YTD. Index 100 = an average weekday. Revenue = invoiced totals by invoice date.
Daily unique visitors above, online booking requests below — same timeline. PostHog tracking began Sep 28, 2026. Hover any day for conversion and the scheduler funnel.
Unique visitors — last 7 days vs the 7 before.
Unique visitors — last 7 days vs the 7 before.
423 tracked keywords, Oklahoma City, mobile. Refreshed Monday mornings.
What the Opportunity Radar gaps could add per year, from searchable demand alone. Search volume is measured, not modeled: Google Keyword Planner actuals for our tri-county service area (Oklahoma, Cleveland & Canadian counties). Remaining assumptions (directional, not a forecast): ~20% of price-shoppers book with someone in season; bars show us winning a modest 5% (solid) to a stretch 15% (faded) of those jobs at our average ticket. Current revenue is what we already book in the category. Plays to capture each one live on the Search tab.
Every change the pipeline wants to make to pinkvantechs.com, with the facts behind it. Only this board's editors (Jason and Andrea) can record decisions — everyone else can view. The publisher only acts on rows marked Approved.
New Google reviews from every A+B business profile land here with a drafted reply in our voice. Editors can edit the draft, approve it, or skip — approved replies post back to the right profile. Review sync is waiting on Google's Business Profile API approval; until then new reviews are added from working sessions.
Live — recomputed from the warehouse on every load, rolling last 12 full months of completed jobs against OKC weather. Ramp = publish/refresh pages and start paid support ~2 months ahead of the peak so rankings are in place. Original deep-dive (Sep 2025 – Aug 2026) →
Each row scores the gap between search demand (national price-shopper volume + OKC volume + how often Google shows us) and what we actually capture (jobs and ticket from the warehouse). The water heater play was score 95 — these are ranked by the same math. Refreshed monthly.
Amber = start the ramp. Green = peak months from the past year. Outlined column = this month. Tier A = highest SEO/content priority (ticket size × revenue × seasonality).
Residential revenue services, Tier A and B. Average ticket excludes $0 visits. Event overlays worth acting on within 48 hours: forecast arctic outbreak → generators, frozen pipes, heating repair; first 100°F day → AC repair/replacement, water heaters; 2-inch rain → sewer/drain and sump pumps.
Monthly invoiced revenue (or paid jobs) by trade across every year in the warehouse — history deepens as the 2023–2025 backfill lands. The tiers above stay scored on the rolling 12 months; this chart is the long view.
The method. Three numbers exist for every service we sell: how often people search for it (Semrush, market demand), how often Google shows us for it and where (Search Console), and how many jobs we actually book (ServiceTitan warehouse). When demand is high, our position is deep, and our job count is small — that gap, times the average ticket, is revenue sitting on the table for whoever puts up the right page.
The proof. Water heaters: Google showed us 119,000 times in 16 months for water-heater searches — at position ~55, which earned about five clicks. Meanwhile we do 131 tank replacements a year at $3,906, buying tanks by the semi load. That one finding produced the locked two-tier price program and its pricing page. Tankless is the same story one lane over: 22,200 searches a month nationally for "tankless water heater cost", us at position ~85, 45 jobs a year at $8,564.
How to use this queue. Each card below is one play, ranked by the Opportunity Radar score (Seasonality tab has the full table). Approve = the content pipeline builds the page and routes the copy through the Approvals tab as usual; Request changes = say what to adjust first. When a play's page goes live and is verified, the card leaves this queue by itself. The win condition is watching the radar score fall because the jobs column rose.
Loading the week…
Checked on every refresh: budget pace over the limit, an enabled campaign that stopped spending, spend with no clicks, a change to which conversion actions are primary, changes by anyone outside the allowed editors, an LSA profile with no impressions for three days.
Generated from the rules table (ops.ppc_rules) every time the data refreshes. The engine is read-only against Google Ads: every change below is made by a person in the Google Ads account, with the change showing up in the change log on the next refresh.
Google conversions are what the contractor's deck reports; ST jobs and invoiced revenue are what the business banks. Weeks older than 14 days are mature; the newest two are still accruing invoices.
Loaded ROAS = invoiced revenue ÷ (media + pro-rated fee). Calls are ServiceTitan lead calls to the campaign's tracking number (booked / total). Impression share and the share lost to budget are impression-weighted over the week; a high lost-to-budget on a campaign that makes money means raise the budget, on one that loses money it means fix the offer first.
This week vs last, per LSA account. Leads are Google's lead records; jobs and invoiced revenue are the ServiceTitan GLSA campaign each profile books under. ROAS here is on media only (no contractor fee: the contractor does not manage LSA).
Media, clicks, impressions, conversions, keywords, search terms, ads, settings and change history come from the Google Ads API (sync-gads, nightly, read-only). Jobs and invoiced revenue come from ServiceTitan campaign attribution, joined to the Google campaign that produced the lead and dated to the job's creation. Contractor fees ($2,565/week) are pro-rated across campaigns by spend. Thresholds live in ops.ppc_rules and can be changed without touching the page. Weeks run Friday to Thursday to line up with the contractor's deck; a Friday-morning task also files each week's report as a PDF in the Marketing project.
Loading the month…
—
Every reviewed call that realistically could have been booked but wasn't, plus every cancellation. Red = tagged Excused by the office although it was bookable. "Could have saved it" is the review's coaching; "No realistic save" means the reviewer judged nothing in the CSR's control would have changed it. Dispute opens a short form on the call; Chelsea approves or denies. Mark recovered takes a job number and checks it in ServiceTitan within about five minutes (the scorer also finds recoveries on its own); Not our service flags work no A&B trade does. Recovered, not-our-service and overturned calls stay listed but leave the lost count.
Business hours (dark) vs after hours (light) · average handling score
Lost (dark) and cancellations (light), Chicago time
Lost and cancellations per day; inbound calls in the tooltip
What callers asked for that no A&B trade does, in this range — found by the scorer or flagged by hand on a call. Click one to see the calls. Worth a look when something keeps coming up: a referral partner, or a service worth adding.
Calls the review flagged for someone to act on. Click a flag to filter.
Inbound counts are ServiceTitan's call records on customer lines (tech, confirmation and direct lines excluded). Reviews cover unbooked calls, excused calls, voice-agent calls and calls mentioning a cancellation, scored within about ten minutes of the call. Customer names and numbers are never shown; the links open records in ServiceTitan for anyone signed in there.
Written each evening by the call scorer from that day's reviewed calls: what was lost, why, the excused-but-bookable count and who had the most, and the fixes with the biggest payoff. The month-to-date summary is rewritten nightly.
—
—
Disputes filed from a call on the Calls tab. Chelsea approves or denies each one; an approved dispute marks the call Overturned and takes it out of the counts.
Every approved dispute becomes a lesson the call scorer reads before scoring each new call, so an overturned verdict changes how the next one is judged. Denied disputes teach it nothing.
Once a month the scorer reads the month's overturned reviews and proposes changes to its own rubric. Jason and Chelsea accept or reject them; nothing changes until they do.
—
You're signed in, but this account hasn't been given a role on the board yet. Ask Jason Brady to add you — he'll see your sign-in waiting on his Access tab.
Signed in as:
Only you see this tab. Add a person by their work email, then tick the roles they hold — they see the union of their roles' tabs (map below). Anyone who signs in before you've added them shows up here automatically with no roles. Roles are enforced in the database on every query, not just in the page: a role that isn't allowed a dataset gets zero rows back.
Tick which groups see each tab. Saves straight away and is enforced in the database; people already signed in pick up a change on their next load. New tabs appear here automatically with their default groups.