← All free guides
A free guide from Kristen Parise

Build Your Own Scorecard

A private weekly dashboard built from your own exports, with every client's name replaced by a code before any AI reads the file.

For client-based businesses with a paid Claude plan Time about 45 minutes, then 15 minutes a week Updated 11 September 2026

Every Friday morning I drop seven exports from my clinic's client software into one folder, click a single file, and by the time my coffee is poured every one of my 26 providers' clients is just a code: CLIENT_1, CLIENT_2. A scheduled task reads only that clean folder and hands me a dashboard: revenue, retention, who is overbooked, who is under, and the list of people who cancelled and never came back. My admin works that last list every Thursday and Friday with one phone script, and about a third of them rebook. This is the whole thing, one kit to unzip and a handful of plain questions.

You do not need to be technical, and you do not need any one practice-management system. This works from whatever you already export as a spreadsheet, whether that is a booking system, a CRM, or a plain point-of-sale report.

START HERE Get ready 10 MINUTES Step 1Make your decisions Nothing is installed yet. You are choosing names. Install 10 MINUTES Step 2Install the kit Fake data proves the privacy layer works. First real week 15 MINUTES, ONCE Step 3The eyes-on check You confirm what each column means, once. Every week after 15 MINUTES Step 4Run the scorecard Step 5The recovery habit Then, every week: export, redact, run, and the dashboard updates itself.
The route. Four boxes, left to right. Each step in the map is a link to the step on this page.
What you end up with

A private weekly dashboard. Revenue, retention, utilisation, cancelled-not-rebooked, built from your own exports, no matter which system you export from.

Every client turned into a code before any AI ever reads the file, checked twice: once by the script, once by your own eyes.

A recovery habit. The list of people who cancelled and never came back, with a script that gets a third of them back on the books.

Before you start

Step 1Make your decisions

Fill this in before you install anything. It becomes the config file the whole system reads from.

DecisionMine, so you can see the shapeYours
Your business's nameBlueberry Therapy
Whose hours to track as the ownerMy name, as it appears in my client software
Classes, groups or internal bookings to leave out of client countsGroup programs, staff meetings, admin blocks
Anyone appearing under more than one spelling"Dr. Jane Smith" and "Jane Smith," merged
Do you sell online, and whereShopify, for a small product line
Your currency and timezoneCAD, America/Toronto

Leave the goal lines (targets and red flags) at the kit's defaults for now. The first four weeks only measure, no targets, because a target borrowed from someone else's business is noise. In week four it proposes goals from your own averages, and you approve those before they go live.

Step 2Install the kit, ten minutes

  1. Download the starter kit (the button below) and unzip it.
  2. Move the folder to a plain local spot on your computer, for example Documents\Clinic Scorecard. Not Google Drive, iCloud, OneDrive or Dropbox.
  3. Open your AI assistant on that folder and paste Prompt 1.

The kit already holds the redaction script, the dashboard, the instructions and the templates. The install asks a few plain questions, fills in your answers, and proves the privacy layer on invented data before it finishes.

Download the starter kit (.zip)
Prompt 1 · Install the kit, ten minutes
You are helping me set up the Clinic Scorecard kit I just downloaded and unzipped into this folder. Read CLAUDE.md first, then follow it.

STEP 1. Check where we are. If this folder's path contains "OneDrive", "Google Drive", "GoogleDrive", "My Drive", "Dropbox" or "iCloud", stop and tell me: raw client files must not sync to any cloud, and help me move the folder to a plain local spot first.

STEP 2. Ask me these questions, one at a time, and update the config section of scorecard_data.json with my answers (keep everything else in the file exactly as it is):
1. My business's name.
2. Whose hours should this track as the owner (my name, as it appears in my client software).
3. Anything that shows up in my exports that is not an individual client: classes, group programs, meetings, admin blocks.
4. Anyone who appears under more than one spelling.
5. Do I sell online, and where, or "none."
6. My currency and my timezone.

Then the "what matters to you" questions, same rhythm: what I am trying to make happen in my business over the next year (northStar), which three things matter most right now from more new clients, clients rebooking, filling providers' schedules, growing revenue, growing product sales, fewer no-shows, or protecting my own time (focusAreas), whether I want more, fewer, or steady hours seeing clients myself (ownerHoursDirection), and whether it is just me or a team (soloPractice).

STEP 3. Check Python is installed: on Windows run "py --version" (fall back to "python --version"), on Mac run "python3 --version". If missing, walk me through installing it from python.org/downloads. On a Mac, also run chmod +x on "Redact This Week.command" so double-click works.

STEP 4. Run the self-test, fake data only: create two invented sample rows in 1_Raw as a CSV (an obviously fake name, email and phone number, nothing real), run the redaction script, and confirm it prints CLEAN and that the fake identifying details do not appear anywhere in 2_Redacted. Then delete the fake files from 1_Raw and their outputs from 2_Redacted and keys.

STEP 5. Report back: the full path of this folder, what you filled in, anything you could not answer, and the line "Your scorecard is installed. Next: your first real week whenever you have this week's exports ready." Then stop.

Rules: never invent a value, write [to be filled] if I skip a question. Ask me question 1 now.
What you should see. A location check, six questions, then a self-test that ends in CLEAN on fake data only, then a short report ending "Your scorecard is installed." If it skips straight to asking for real data, say "stop, run the self-test first."

Step 3Your first real week, the eyes-on check

Prompt 2 · Confirm what your export means, first real week only
Look at every file in 2_Redacted. For each one, tell me what you believe it is (a visit or appointment list, a revenue report, a schedule report, a client retention summary, a list of clients with no future booking, or something else), which column you will use for each metric it can supply, and anything you are not sure about. Do not calculate anything yet. Wait for me to say yes, then save the confirmed mapping into scorecard_data.json under config.columnMap so you do not have to ask me again next week unless a new file shape shows up.
What you should see. A short table, file by file. Read it against what you know your export contains. If a column looks wrong, correct it before you say yes, this is the one manual check that protects every week after it.

Step 4Run it every week

Once the mapping is confirmed, this is the whole routine: export, redact, ask, open the dashboard.

Prompt 3 · Run the weekly scorecard
Run this week's scorecard from the files now in 2_Redacted, following the column mapping you already confirmed. Update scorecard_data.json, scorecard_data.js and the weekly report in 3_Output, then give me the one-line headline.
What you should see. A one-line headline, then double-click dashboard.html for the full picture: red flags first, your numbers against your own four-week average, then three Monday actions and one strategic question.

Step 5The recovery habit

The cancelled-not-rebooked list is the part of my own scorecard that pays for the whole build. Every Thursday and Friday my admin calls the clients on it, with one script: not "when would you like to book," but "I see you were in in the morning, would you like to book in in the morning again." About a third rebook who otherwise would not have.

One thing this list cannot do for you

Your AI only ever sees CLIENT_2, a last-visit date, and a provider, never a real name or number, because that is the whole point of the redaction step. Whoever makes the calls has to look up CLIENT_2's last-visit date in your actual client software to find out who that is and how to reach them. The script and the tally page below are what your AI can build. The lookup step is yours, in the system that already has the number.

Prompt 4 · Build your own recovery-call habit
From this week's cancelled-not-rebooked list in the scorecard (client codes, last-visit dates and providers, no names), write me a short phone script for calling these clients once I have looked each one up in my own client software, anchored to their last visit rather than asking an open-ended "when would you like to book." Then build me a small private page (one HTML file, no client names, just a tally) where whoever makes these calls can log how many they called, how many rebooked, and the reason given when someone says no. Do not include any client-identifying detail on the page itself.
What you should see. A script you would say out loud without wincing, and one simple page for logging counts. Mine runs on a small hosted page, yours can just as easily be a file you open locally.

What mine does for me now

Tonight, download the kit and paste Prompt 1. This week, export one real week of your own numbers and do the eyes-on check yourself. After that you are running your business on your own data instead of guessing at it.
Download this guide as a PDF Download the prompts (.md)

If you want me beside you while you build it, start with the free audit at The Bottom Line or write to me at kristen@blueberrytherapy.ca.