Day 1 · Monday · 16 November 2026
The question before the chart
A chart without a decision is decoration. A dirty row makes the chart gossip.
By the end of the day
- Rewrite a vague leadership ask into metric, grain, window, and decision.
- Run the trust check on the ticket log and flag every failure.
- Build a queue summary: volume, breach rate, median hours — not one average.
Run of show
- 09:00The contractFrame
- 09:30Rewrite the askFrame
- 11:00Trust the extractLab
- 13:15The first leadership tableLab
- 15:15One number you trustCheck
09:00
09:30
Frame
The contract
“We are not here to tour software. We are here to decide what to fix.”
Aim. Set the standard before anyone opens a file.
- Take attendance. Name tents show the queue each person owns, not their job title.
- State the completion line: in the room for the labs, and a Thursday brief that meets the rubric. The rubric is already on the Assessment page. No surprise criteria.
- State the absence rule: a missed lab is a partial. The file is due by 18:00 that day. Three partials, or a full day with no file, means the course is not completed.
- Confidentiality: the practice file is fictional and still treated as customer data. No photographs of the file. No live customer extracts on the laptop.
- Put the four questions on the wall. They are the spine of all four days.
- Pairs are assigned, not chosen. Seniors hide in solo work. Pairs are part of the design.
Faculty
- No icebreaker. The first five minutes teach them whether this is a serious room.
- If someone arrives without the software, seat them with a partner and note a partial risk. Do not run an install clinic for the whole room.
- Say the sponsor’s name if you have one. Do not invent a target NPS for their company. The practice file has its own promise: 80% resolved within target.
09:30
10:45
Frame
Rewrite the ask
““Can you send me CSAT?” is not a question. It is a shrug.”
Aim. Every person leaves with one question that has four parts.
- Work one example on the board, from this file: “Is Central Hub keeping the P1 phone promise after 14:00, or are we only clearing a blended SLA?” Name the metric (breach rate), the grain (ticket), the window (Q3, as of 1 Oct), and the decision (cover that shift, or stop talking about it).
- Each manager writes one question from their own operation. Not a tool goal. “Learn pivot tables” goes back.
- Partners mark the card: metric, grain, window, decision. Anything missing is rewritten before the break.
- Three cards go on the wall. Ahmad reads them without softening. A missing decision is named as a missing decision.
Faculty
- The fast talker will define a metric and skip the decision. Stop there.
- If two people own the same queue, do not let them write the same card. One takes speed, one takes repeat contact.
- Keep the cards. Thursday’s brief should answer the card, or they should say why the card was the wrong question.
11:00
12:30
Lab
Trust the extract
“If the row is dirty, the chart is gossip.”
Aim. A Table named Tickets, five checks run, failures flagged in a new column, source cells untouched.
- Import ticket_log as a Table named Tickets. Not a range. Confirm the row count against the file note: 398 tickets.
- Freeze the header. Turn on the filter. Do not format yet.
- Add a Flag column. Run five checks: row count, resolved before opened, status Resolved with no resolved time, status Open with a resolved time filled, agent code missing from the roster.
- You are looking for 10 bad rows. Find them. Do not delete them. Do not type over the source.
- Add AsOf as a named cell: 1 October 2026 18:00. Every later formula points at that cell, not at NOW().
- Add ResponseHrs and ResolveHrs. Impossible clocks return NA(), not zero.
Flag
=IF(AND([@status]="Resolved",[@resolved_at]=""),"Resolved with no time", IF(AND([@status]="Open",[@resolved_at]<>""),"Open with a resolved time", IF(AND([@resolved_at]<>"",[@resolved_at]<[@opened_at]),"Resolved before opened", IF(COUNTIF(Roster[agent_id],[@agent_id])=0,"Agent not on roster",""))))
Resolve hours
=IF(OR([@resolved_at]="",[@opened_at]=""),NA(), IF([@resolved_at]<[@opened_at],NA(),([@resolved_at]-[@opened_at])*24))
Faculty
- The errors are planted: three clocks that run backwards, four resolved rows with no time, two open rows with a time filled, one agent coded A3 instead of A03.
- If a pair wants to skip cleaning, let them publish a breach rate, then show the same rate with the bad rows out. Do not lecture first.
- A3 is the one they will miss if they only stare at dates. Make the roster a real sheet, not a verbal list.
- Someone will “fix” a row to be helpful. Put it back. The audit is the point.
13:15
15:00
Lab
The first leadership table
“The average is what the old pack quotes. The breach rate is the promise.”
Aim. One summary by queue and by channel: tickets, breach rate, median resolve hours, open, reopen rate.
- Add IsBreach from the formula. A blank clock on a Resolved row is not a breach and not a pass — it is a flag, already excluded.
- Build the summary with FILTER and MEDIAN, not a pivot that can only average. Microsoft 365 is assumed.
- Put average hours next to median hours for one queue, then delete the average from the page you would actually send. Say why, out loud.
- Slice to Phone, P1, Central Hub, opened hour 14 or later. Write the breach rate on the card. Then write the blended breach rate under it.
- The practice promise is 80% within target. Say whether the blend passes, and whether that slice passes. Both sentences are required.
- Format freeze at 14:50. After that, no column widths. The debrief uses whatever is on the screen.
Breach flag
=IF([@Flag]<>"",NA(), IF([@resolved_at]="", IF((AsOf-[@opened_at])*24>[@sla_target_hrs],1,0), IF(([@resolved_at]-[@opened_at])*24>[@sla_target_hrs],1,0)))
Median for one queue
=MEDIAN(FILTER(Tickets[ResolveHrs],(Tickets[Queue]=G2)*(Tickets[Flag]="")))
Faculty
- Blended attainment clears 80%. The afternoon P1 phone slice does not. If a pair’s blend fails, they still have dirty rows in the average, or they used NOW().
- Chat will look calm. Do not let the room conclude “digital is fine” and go home. That is tomorrow’s trap only if they have both numbers.
- Median formulas intimidate this audience for about four minutes. Walk one cell slowly, then stop talking and circulate.
- If Power Pivot comes up, park it. This room does not need a second engine on day one.
15:15
16:30
Check
One number you trust
“One number you trust. One number you retire. One sentence each.”
Aim. The room hears the standard for a debrief, then sits a short check.
- Each pair speaks for one minute. No slides. The trusted number must have a base. The retired number must be one they used this quarter.
- Ahmad collects the retired numbers on the flipchart. Average handle time and raw CSAT will show up. Do not mock them. Ask what decision they were supporting.
- Individual check, eight items, on the Assessment page. Pass for the day is 6 of 8, plus a finished summary table. Scores stay private.
- Name the clinic: 09:00 tomorrow, ten minutes, for anyone whose table is unfinished. Everyone else starts the frame on time.
- Prep: open complaint_log and read the headers only. Write what you expect the largest category to be. Do not chart it tonight.
Faculty
- End on time. The managers who stay to polish are the ones who will miss Thursday’s brief.
- Note who argued with the breach definition. They are not behind. They are the red team. Use them on Thursday.
- If the check exposes a pair who never found A3, that is the clinic, not a speech now.