SGA Dental Partners
Pacing Intelligence Dashboard
Loading…
The Seasonal Pattern
Day of Week Trends
Predictions
Calendar Forecast
Practice Trends
Ops Director View
Year-over-Year
Audit
Methodology & Power BI
Six Months of Data Reveal a Clear Seasonal Cycle
The data now spans November 2025 through April 2026 — revealing a clear seasonal cycle. January/February benefits renewal creates a production peak that the R8 rolling average anchors to. By March/April, production returns to November/December baseline levels, making the R8 prediction unreachable.
Weekly Network Production Trajectory
Total weekly production across all practices with R8 prediction overlay
Peak Month (Jan)
$7.06M
$7,058,729/wk
Current (Apr)
$6.34M
$6,338,364/wk
R8 Prediction
$7.54M
$7,539,503/wk
Peak-to-Current Drop
-10.2%
Jan to Apr decline
Dec ≈ Apr
Cyclical
$6.33M ≈ $6.34M
Monthly Summary by Day of Week
MonthMonTueWedThuFriWeekly Totalvs R8vs January
Day-of-Week Decomposition
Five mini-charts showing the 6-month trajectory for each day of the week. Each chart has its own R8 line for comparison.
Thursday: Steepest Decline
Dropped from $1.61M (Jan) to $1.34M (Apr) — a loss of $263K/week. Thursday production has declined every month since January, the most consistent downward trend of any DOW.
Tuesday: Largest Absolute Day
Still the highest-production day at $1.58M in April, but down from $1.70M in January. The -7.4% drop represents ~$125K/week in lost production from the network's strongest day.
Wednesday: December Anomaly
Wednesday was the only DOW that actually peaked in December ($1.68M) rather than January. The decline from peak is -$303K/week to April levels.
Friday: Smallest but Most Stable
Fewest practices (59-62) and lowest volume, but the most stable trajectory. The spread between best and worst months (excl. Dec anomaly) is the narrowest of any DOW.
Is the R8 the Wrong Tool?
A seasonal model (comparing to same-month-last-year) or a weighted model (heavier on recent months) would be more accurate than a flat rolling average that treats January the same as April. The R8 anchors to the Jan/Feb peak and will always overpredict during the spring and fall troughs.
Production Trajectory with Projections
Actual weekly production (solid) extended into May/June (dashed) with R8 overlay
R8 Predicts
Rolling 8-week network weekly average × 4.33 weeks. The R8 is now computed from actual network DOW production (not summed per-practice averages), so it reflects what the network actually produces.
Trend Predicts (May)
Based on 6-month linear regression of each DOW. More conservative but doesn't model seasonality either.
Calendar-Aware (May)
Prior-year same-month per-DOW × YoY trend × actual day count, with holiday closures. See the Calendar Forecast tab.
DOW Linear Regression Detail
DaySlope ($/mo)May PredictedJun PredictedR8May vs R8
Calendar-Aware Monthly Projection — May & June 2026
A true projection that accounts for: (1) the actual number of Mondays/Tuesdays/Wednesdays/Thursdays/Fridays in each target month, (2) the seasonal pattern from prior-year same-month per-DOW production, (3) the current YoY growth rate from the rolling 4-week comparison, and (4) explicit holiday closures. This is a fundamentally better model than a flat R8 rolling average for trough months.
May 2026 Forecast
June 2026 Forecast
YoY Trend Applied
latest 4wk vs prior year
May vs R8 Calendar
Jun vs R8 Calendar

May 2026

Working Days
Holiday Closures
none
No-Holiday Total
if every weekday open
Holiday Drag
closed-day impact
DOWWorking DaysPrior-Yr Wk Avg (May 25)YoY-Adj Wk AvgMonthly Contribution

June 2026

Working Days
Holiday Closures
none
No-Holiday Total
if every weekday open
Holiday Drag
closed-day impact
DOWWorking DaysPrior-Yr Wk Avg (Jun 25)YoY-Adj Wk AvgMonthly Contribution
Model Comparison — Three Ways to Project May & June
R8 Calendar (DOW-counted R8) vs Linear Trend (regression on Nov–Apr) vs Calendar-Aware (this tab). The calendar-aware model is the only one that uses prior-year same-month seasonality plus actual day counts plus holiday closures.
Why Calendar-Aware Adds Value Over R8
Even with R8 corrected to the true rolling 8-week network average, it still treats every future month the same. The calendar-aware model adds three things: (1) seasonal anchoring — uses May/June 2025 actuals so it knows summer's profile differs from spring, (2) actual day counts — June 2026 has 5 Mondays vs May 2026's 4, which materially shifts the total, and (3) explicit holiday handling — Memorial Day and Juneteenth are subtracted, not assumed away.
Holiday Treatment
Memorial Day (Mon May 25) is treated as fully closed — nearly all SGA practices observe it. Juneteenth (Fri Jun 19) is treated as fully closed in the conservative case; if half the network operates that day, add roughly +$310K to the June forecast.

Methodology — Calendar-Aware Forecast

For each target month, the projection sums per-DOW contributions:

  • Baseline: Prior-year same-month per-DOW weekly network average (e.g., May 2025 Tuesday = $1.72M). Calculated from the YoY weekly series, $300/practice-day threshold applied.
  • YoY adjustment: Multiplied by 1 + (yoy_4wk_pct/100) — the rolling 4-week network total vs the same 4 weeks last year.
  • Working day count: Actual count of each DOW in the target month minus federal holidays where practices close.
  • Monthly total: ΣDOW (working_days × baseline × yoy_mult)

Holiday assumptions (current run): Memorial Day = closed (May 25), Juneteenth = closed (Jun 19). Both are subtracted from working-day counts. The R8 Calendar comparison model uses the same DOW-count math but pulls the per-DOW R8 averages instead of seasonal baselines — isolating the seasonal-vs-anchored question.

Limitations: Prior-year baseline implicitly carries any one-off events from May/June 2025 (e.g., weather, regional issues). The YoY 4-week multiplier is a single-point trend estimate — if the network's trajectory shifts, the projection should be re-run. New practices added since May 2025 are NOT in the prior-year base, so the projection is conservative for network growth.

Declining
54
65% of practices
Stable
14
17% of practices
Improving
15
18% of practices
January Average vs April Average by Practice
Points above the diagonal are improving; below are declining
Practice Detail
Location OD Trend Nov Dec Jan Feb Mar Apr Change R8/Day
Ops Director Impact
Daily dollar lost from declining practices in each OD's portfolio. Higher bars indicate ODs whose declining practices are losing the most production. Focus coaching and intervention where the dollar impact is greatest.
Daily Production Lost per Ops Director
Sum of daily losses from declining practices in each portfolio
Ops Director Detail
Ops Director Declining Total % Declining $/Day Lost Affected Practices
Highest Dollar Impact
Highest Decline Rate
24-Month Year-over-Year View
Pulls two full years of Velox daily booked production so every week in the most recent year has a same-calendar-week prior-year pair. The 8-week trailing rolling average is overlaid as a tracking baseline that adapts as weeks roll — not a fixed line.
Weeks of Data
Last 4 Weeks
network production
Same 4 Weeks PY
prior year baseline
YoY 4-Week
vs same period last year
Latest Week
24-Month Weekly Network Production
Solid: weekly Mon–Fri total · Dashed: trailing 8-week rolling average · drag to pan, scroll to zoom, double-click to reset
Year-over-Year Overlay
Current year (solid) vs prior year same calendar week (dashed) · drag to pan, scroll to zoom, double-click to reset
Day-of-Week Year-over-Year
Same six months as the Day-of-Week Trends tab, paired against last year. Solid bars are current year; lighter bars are prior year. Header shows the latest-month YoY %.
Source-of-Truth Audit — Month to Date
Per-practice booked, completed, scheduled, and budget for the current month. Numbers use the same Gen4 measures as Power BI's Pacing Report — Provider Level Pacing at the full-month grain, so this view should reconcile line-for-line against PBI. Booked = Completed + Scheduled.
Network MTD Booked
current month
Network MTD Completed
across all practices
Network Budget
monthly budget total
Booked vs Budget
% to budget (booked ÷ budget)
Practices Reporting
Practice Audit Detail
Practice OD Source Booked Production Completed Production Scheduled Production Budgeted % to Budget Days Reported

R8 Rolling Average — Corrected Definition (2026-05-01)

The R8 displayed across this dashboard is the true rolling 8-week network DOW average — the actual sum of network production on Mondays (then Tuesdays, etc.) over the last 8 weeks, divided by 8.

Previously, R8 was computed by summing each practice's 8-week per-DOW average (filtered to days where they actually worked). That overstated the network R8 by 50–170% per DOW because every practice contributed an "if they worked" number even on DOWs where they're typically closed. Friday R8 was 171% too high; Monday–Thursday R8 were 52–57% too high.

  • True R8 weekly: ~$6.9M (vs the broken $11.4M in data.json)
  • True R8 monthly equivalent: ~$30M (vs the broken $49M)
  • Source: yoy.weekly_series last 8 weeks — the actual network DOW totals already in the dataset
  • Override is applied at the dashboard layer. The next pull-daily.js refresh will rewrite data.json with the broken values; the dashboard re-corrects them on every load. To make this permanent, fix the r8_summary calculation in tools/pacing/pull-daily.js to use rolling network DOW totals instead of per-practice sum.

$300 Threshold

Any practice reporting less than $300 in daily production is excluded from that day's calculation. The $300 threshold represents approximately one doctor-day of minimum production — below that, the practice likely had no provider and the zero would distort the average.

Data Sources

  • 83 practices: Direct VELOX reporting with daily production actuals
  • 7 practices: Estimated from monthly aggregates (no daily VELOX feed)
  • 90 total: Represent the SGA network for pacing analysis
  • Timeframe: November 2025 through April 2026 (6 months, ~130 business days)

Prediction Model: Linear Regression

The "Trend Predicts" values use ordinary least squares (OLS) linear regression on each DOW's 6-month series. Each month is assigned an index (Nov=1, Dec=2, ... Apr=6) and the regression fits production = slope * month_index + intercept.

  • May prediction: month_index = 7
  • June prediction: month_index = 8
  • Limitation: Linear regression assumes a constant trend. It does not model seasonal cycles. The December anomaly (Monday = $754 due to holidays) skews Monday's slope upward.

The Seasonal Pattern

Six months of data reveal a clear seasonal U-curve:

  • November: $6.79M/wk — baseline production
  • December: $6.33M/wk — holiday trough (fewer working days, patient cancellations)
  • January: $7.06M/wk — benefits renewal peak (new insurance year, pent-up demand)
  • February: $7.04M/wk — sustained renewal effect
  • March: $6.94M/wk — beginning to fade
  • April: $6.34M/wk — returns to December baseline levels

December and April are nearly identical ($6.33M vs $6.34M), confirming this is a seasonal cycle rather than a structural decline. The R8 will always overpredict during trough months because it includes January/February in its 8-week window.

Power BI Direct Integration

The dataset ID b57375c9-d64b-4643-be71-378a520d8f93 was extracted from the Excel connection string. A direct API integration is feasible via:

  • POST https://api.powerbi.com/v1.0/myorg/datasets/b57375c9-d64b-4643-be71-378a520d8f93/executeQueries
  • This would eliminate the Excel middleman and enable automated daily refresh
  • DAX queries can be sent directly — the same measures used in Power BI reports
  • Requirements: Azure AD service principal with Power BI API permissions (Dataset.Read.All)
  • Benefit: Dashboard could pull live data instead of requiring manual Excel exports
  • Status: Proof-of-concept validated via the Power BI bridge at VPS:3050. Full automation requires Azure AD app registration and service principal setup.