CPR Blueprint Diagnostic

Check if your percentages are healthy. Uses a simple “Profit NOW” allocation for incoming cash.

Cash
Profit
Revenue
Why revenue is down (drilldown)
these are not the main badge. they explain the dip.
on/above target = don’t overthink the sales engine.
Profit NOW split — editable (whole %)
100%
Scores
    Overall uses the lowest pillar. Wording adapts to strength.
    Cash panel (allocation-aligned)
      Profit panel (monthly on Real Revenue)
        Revenue panel
          Actions to take today
            Color legend
            Green = healthy
            Orange = tight / watch
            Red = unhealthy

            inputs

            • revenue actual this month

            • revenue target this month

            • avg sale price

            • avg cost per sale

            • leads/jobs per month

            • win rate %

            main revenue badge

            • ratio = actual ÷ target

            • gap = target − actual (but if negative, show 0)

            badge colour

            • if ratio ≥ 1.00 → green

            • if ratio 0.90 to 0.99 → orange

            • if ratio 0.70 to 0.89 → orange

            • if ratio < 0.70 → red

            drilldown (only if actual < target)

            • wins per month = leads × win rate

              • example: 120 leads × 25% = 30 wins

            • gross margin % = 1 − (avg cost ÷ avg sale price)

              • example: 1 − (220 ÷ 400) = 45%

            • contribution per sale = avg sale price − avg cost

              • example: 400 − 220 = 180

            gap plan (rough, simple)

            • sales needed to close gap ≈ gap ÷ avg sale price (round up)

              • example: gap $2,000 ÷ $400 = 5 sales

            • leads needed ≈ sales needed ÷ win rate (round up)

              • example: 5 ÷ 25% = 20 leads

            optional “forecast” (if you want to show it)

            • expected revenue = wins × avg sale price

            • expected gross profit = wins × contribution per sale

            it’s 3 separate scores (cash, profit, revenue). then “overall” = the lowest one.

            cash score (uses cushion + runway days)

            • cushion = (bank now + opex share from money-in) − must pay soon

            • runway days = cushion ÷ (monthly opex / 30)

            score rules:

            • if cushion < 0 → 20 (red)

            • else if runway < 15 days → 60 (orange)

            • else if runway < 30 days → 85 (orange)

            • else → 100 (green)

            profit score (uses real revenue + profit% gap + opex% over)

            • real revenue = monthly revenue − direct costs

            • actual profit% = (real revenue − owner pay − tax − fixed opex) ÷ real revenue

            • actual opex% = fixed opex ÷ real revenue

            start at 100 points, then subtract:

            • if actual profit% is below target profit%:

              • subtract 2 points for every 1 percentage-point you’re short

              • (math: (target − actual) × 200)

            • if actual opex% is above target opex%:

              • subtract 1 point for every 1 percentage-point you’re over

              • (math: (actual − target) × 100)

            • cap deductions so score stays between 0 and 100

            revenue score (your glide badge: actual vs target)

            • ratio = revenue actual ÷ revenue target

            score rules:

            • ratio ≥ 1.00 → 100

            • 0.90–0.99 → 85

            • 0.70–0.89 → 60

            • < 0.70 → 20

            overall label

            • find the lowest of the 3 scores

            • whichever pillar is lowest becomes the “focus area” text (and only that score gets colored in the Scores list)

             
             

            CPR Blueprint Diagnostic

            Check if your percentages are healthy. Uses a simple “Profit NOW” allocation for incoming cash.

            Cash
            Profit
            Revenue
            Profit NOW split — editable (whole %)
            100%
            Scores
              Overall uses the lowest pillar. Wording adapts to strength.
              Cash panel (allocation-aligned)
                Profit panel (monthly on Real Revenue)
                  Revenue panel
                    Actions to take today
                      Color legend
                      Green = healthy
                      Orange = tight / watch
                      Red = unhealthy

                      1) Cash score (0/60/100)

                      • Inputs: cushion and runway_days

                        • cushion = (Bank now + OPEX share from Money In) − Must pay soon

                        • runway_days = cushion ÷ (Monthly OPEX / 30)

                      • Scoring:

                        • Cushion < 0 → 20 → red

                        • Else if Runway < 15 days → 60 → orange

                        • Else (Runway ≥ 15) → 100 → green

                      2) Profit score (0–100)

                      • Work off Real Revenue = Revenue − Direct Costs (monthly).

                      • Compute:

                        • profit_pct = (RealRev − Owner − Tax − OPEXfixed) / RealRev

                        • opex_pct = OPEXfixed / RealRev

                      • Start at 100, then subtract penalties vs your targets (the editable %s):

                        • If profit_pct is below target → subtract 2 points per percentage point short (cap 100).

                        • If opex_pct is above cap → subtract 1 point per percentage point over (cap 40).

                      • Clamp to 0–100.

                      • Profit NOW % vs target

                        • at/above target → green

                        • within 5 percentage points short → orange

                        • more than 5pp short → red

                      • OPEX % vs cap

                        • at/below cap → green

                        • within 5pp over cap → orange

                        • more than 5pp over → red

                      • Profit score (0–100)

                        • ≥ 85 → green

                        • 60–84 → orange

                        • < 60 → red

                      3) Revenue score (50 / 75 / 100)

                      • Two binary checks:

                        • Gross margin: 1 − (avg_cost / avg_price) ≥ 30%? → green

                        • Demand: leads × win_rate ≥ 1 per month? → red

                      • Score = 50 base + 25 if GM ok + 25 if demand ok → so 50, 75, or 100.

                        =========

                      Allocation (bar) colors (just labels, not “good/bad”)

                      • Pink = Profit (Profit NOW)

                      • Orange = Owner Pay

                      • Yellow = Tax

                      • Grey = OPEX

                      Sum alert (above the bar)

                      • If your editable % > 100% → red “Alert”: means you’re trying to spend more than every dollar that comes in (often feels like dipping into owner pay/personal/credit) and explains why profit ≠ cash. The math is normalized to 100% for the calculation.

                      • If < 100% → amber “Heads-up”: some cash is left unassigned; normalized to 100% for the math.

                      • If = 100% → neutral, no message.

                        The widths match your %s (normalized to 100% even if your sum ≠ 100).

                      Why you might only notice “3 colors”:

                      • If Profit NOW is very small (e.g., 5%), the pink slice can be tiny on smaller screens and easy to miss.

                      • If two adjacent slices have similar widths, they can look like one.