Back to Dashboard

Platform Grading Guide & Ranking System

Complete scoring methodology, matrix logic & ranking reference April 2026
Maintenance Note — Keep this guide in sync with the dashboard
This guide documents scoring logic in knowherelabs_jarvis_v1.0.html. When thresholds, matrix axes, quadrant labels, or property page tabs change in the dashboard, review and update this file to match.
  • Tab 6 — Property Matrices: re-verify after any property page tab or STR synthesis grid redesign
  • Tab 3 — Property Grade: re-verify if GSS ITR thresholds or grading weights change in getPropertyGrade()
  • Tab 5 — Portfolio Matrices: re-verify if Dashboard Signals tab matrices are redesigned
  • Tab 4 — How They Combine: re-verify if grade escalation logic in getAttentionScore() changes
  • Tab 2 — Attention Score: re-verify if SIG thresholds change
Last verified: April 2026 / v4.46

Two Lenses

Every property is evaluated through two complementary lenses that answer different questions:

  1. Real-Time Attention Score — Does this property need attention right now? Based on the selected period's metrics (revenue vs. budget, market share, margin, occupancy), it classifies each property as Concern, Watch, or Healthy.
  2. Trailing Performance Grade (A–F) — What is this property's overall trajectory? The grade evaluates YTD financials, trailing market position (TTM RGI), and guest satisfaction to produce a weighted composite score from A to F.

These two lenses are unified. A D or F grade prevents a property from showing Healthy even if the current month looks fine. The trailing grade acts as a floor — structural underperformance always escalates to Watch at minimum.


Platform-Wide Ranking Matrices

In addition to the two core lenses, the platform uses seven 2×2 positioning matrices to classify properties and management companies across key performance axes. These appear on the Dashboard Signals tab and on individual property pages.

#Matrix NameLocationAxes
1Portfolio MomentumDashboard → SignalsRevenue vs Budget × Grade Trend
2Manager AccountabilityDashboard → SignalsRevenue vs Budget × RGI Trend
3Market ConditionsDashboard → SignalsPortfolio RGI Trend × Comp RevPAR Trend
4Rate vs OccupancyProperty → STR tabRate Index (ARI) × Occupancy Index (MPI)
5Momentum & DirectionProperty → STR tabRGI Level × RGI YoY Trend
6Financial SynthesisProperty → Financial tabRevenue vs Budget × Margin Health
7Guest SatisfactionGuest Satisfaction viewITR vs Brand Target × MoM Momentum

See the Portfolio Matrices and Property Matrices tabs for full quadrant logic on each.


Color System

Every color carries one consistent meaning — the same color always signals the same condition, everywhere on the platform.

Red — Act Now Critical threshold breached. Immediate attention required from asset manager.
Concern Rev ≥10% miss LTV >80% DSCR breach Matrix Q4 (worst)
Amber — Monitor Approaching a threshold or showing a trend that warrants tracking. Not yet critical.
Watch Rev 5–10% miss LTV 70–80% Matrix Q2 (fading)
Green — On Track Meeting or exceeding expectations. No action required.
Healthy Beat budget Matrix Q1 (best)
Blue — Recovery / Active In matrices: below plan but improving — turnaround or defensive position (Q3). Also used for navigation state, active filters, and forecast zones.
Turnaround (Q3) Active filter Forecast
Gray — Context Labels, metadata, secondary information. No action implied. Three levels of gray create visual hierarchy without color noise.
Labels Table meta Timestamps

Attention Score — Real-Time Risk Layer

The attention score uses a layered priority system. Each property is evaluated against the thresholds below and assigned the highest-severity tier that any signal triggers. A property can escalate upward but never downward from its trailing grade floor.

Concern Immediate action required
  • Revenue miss ≥10% vs budget
  • Revenue miss 5–10% AND losing market share (RGI <90) — compound escalation
  • GOP margin below 12%
  • RGI below 85 (critical share loss)
  • Occupancy miss ≥8pp while also missing revenue
Watch Monitor closely
  • Revenue miss 5–10% vs budget (without compounding share loss)
  • Revenue slip 2–5%
  • GOP margin 12–18%
  • RGI 85–90 (losing share)
  • RGI below 95 while on-budget — opportunity left on table
  • Occupancy miss ≥3pp
  • Grade D, F, or C — trailing performance escalation (grade acts as floor)
Healthy On track
  • All metrics within acceptable range
  • Grade A or B

Signal Thresholds

SignalConcernWatchHealthy
Revenue vs Budget≤ −10%−2% to −10%> −2%
GOP Margin< 12%12–18%≥ 18%
RGI (RevPAR Index)< 8585–95≥ 95
Occupancy Δ≤ −8pp (w/ rev miss)≤ −3pp> −3pp

Signal Context Labels

Each flag carries a human-readable label explaining why the property was flagged:

Missing budget Miss + losing share Market-driven headwind Opportunity to capture Ops / margin issue Trailing performance concern Ramp period Renovation

Positive Signals — Healthy Properties

When a property is Healthy, layered positive signal tags highlight specific areas of strength:

Revenue
Rev +X% Beating budget by 5%+ — strong revenue outperformance
Rev on plan Within ±2% of budget — clean execution
GOP
GOP X% Margin ≥35% = exceptional ops; ≥28% = strong ops
RGI
RGI X ≥110 = dominant share; ≥100 = winning; ≥95 = near-share
Occupancy
Occ +Xpp ≥5pp beat = filling rooms well; ≥2pp = positive
RevPAR
RevPAR +X% ≥5% beat vs budget
Grade
Score A Top performer across all trailing dimensions
Score B Strong overall trailing performance

Special Conditions

Renovation Suppression — When a property is flagged as renovating (toggled via the 🔧 button), all negative attention signals are suppressed and the property displays a renovation badge instead of Concern/Watch. Status persists in localStorage (km-renovating).
Ramp Period — Properties with fewer than 6 months of actuals are marked rampPending:true and excluded from grade scoring. They show a ramp badge rather than an A–F grade.
RGI Data Lag — STR data runs ~30 days behind actuals. RGI-sourced signal tags display "RGI as of [month]" to communicate the data window. This is intentional — do not interpret it as a data freshness problem.

Property Grade — Trailing Performance (A–F)

The grade is a weighted composite score from four dimensions evaluated over the trailing performance window. It captures structural trajectory rather than any single month's result.

Grade Scale

A
≥ 87%
Top performer. Capturing market share, beating budget, strong operations and guest satisfaction.
B
75–86%
Strong overall. On or slightly above plan across most dimensions.
C
62–74%
Borderline. Some dimensions underperforming. Triggers Watch even without current-period flags.
D
50–61%
Underperforming. Multiple dimensions off-plan. Escalates to Watch minimum.
F
< 50%
Failing. Significant underperformance across dimensions. Escalates to Watch minimum.

Grading Dimensions & Thresholds

DimensionWeight 4 pts 3 pts 2 pts 1 pt 0 pts
RGI TTM (RevPAR vs comp) ≥ 100≥ 95≥ 88≥ 80< 80
YTD Revenue Gap % ≥ 0%≥ −3%≥ −8%≥ −15%< −15%
YTD GOP Gap % ≥ 0%≥ −3%≥ −8%≥ −15%< −15%
GSS ITR — Hilton/default ≥ 80≥ 72≥ 65≥ 55< 55
GSS ITR — Marriott ≥ 82≥ 74≥ 67≥ 57< 57

Calculation: Total possible = 20 points (RGI double-weighted: 4×2 + 4 + 4 + 4 = 20). Grade score = (earned ÷ 20) × 100. RGI carries double weight because market share is the strongest leading indicator of revenue trajectory.

Trend Arrow

Each grade displays a trend arrow comparing the current grade to the grade 3 months prior:

  • Grade improved vs 3 months ago
  • Grade declined vs 3 months ago
  • Grade stable (no change)

The trend arrow feeds directly into the Portfolio Momentum matrix on the Dashboard Signals tab.

Brand-Specific GSS Thresholds

Why different thresholds for Marriott? Marriott's brand standards and customer expectation benchmarks are calibrated differently from Hilton's. The grading system detects the property's brand and applies the correct ITR scale automatically via the isMarriott flag inside getPropertyGrade().

Ramp Period

Properties with fewer than 6 months of actuals return rampPending: true and are excluded from A–F grading. They display a ramp indicator badge on the dashboard and property page. After 6 months of data, grading activates automatically.

How They Combine — Unified Output

The final property status combines the trailing grade with current-period attention signals. The grade acts as a floor — poor trailing performance prevents a property from appearing healthy even if the current month is clean.

Grade Current Period Clean Minor Issue Major Issue
A Healthy + positive tags Watch (current flags) Concern
B Healthy + positive tags Watch (current flags) Concern
C Watch (Grade C) Watch (compounded) Concern
D Watch (Grade D) Watch (compounded) Concern
F Watch (Grade F) Watch (compounded) Concern
Logic summary: The system runs the attention score first, then applies grade escalation. If a property grades C/D/F but the current period shows no flags, grade escalation injects a trailing-performance Watch flag automatically. A C-grade property always shows Watch or worse — it cannot show Healthy regardless of how clean the current month looks.

Concern Notes & Response Log

Asset managers can attach timestamped notes to any Concern-tier property via the notes modal (opened from the Dashboard). Notes persist in localStorage key km-concern-notes as {assetId: [{date:ISO, text}]} and are visible on the dashboard row and property detail page.

Portfolio Matrices — Dashboard Signals Tab

These three matrices appear on the Dashboard → Signals tab. They position properties and management companies across key axes to reveal portfolio-level patterns that individual property rows don't surface on their own.

Dashboard → Signals tab

1 — Portfolio Momentum

Maps every property across two axes: whether it's beating revenue budget, and whether its trailing grade is improving or declining. Quickly identifies which properties are accelerating vs. deteriorating — and separates short-term wins from structural improvement.

Rev \ Grade
Grade Improving ↑
Grade Stable / Declining →↓
Rev ≥ Budget
Firing on All Cylinders On or above budget and grade is trending upward. Best position — financial and structural improvement aligned.
Top-Line Strong, Quality Fading Hitting numbers now but trailing score is declining. Revenue may be masking structural drift in ops or market share.
Rev < Budget
Turnaround in Progress Missing budget but grade is improving. Trajectory is positive — watch for continued recovery into budget attainment.
Under Pressure Missing budget and grade is declining. Both financial and structural performance are moving in the wrong direction.

How It's Calculated

  • Revenue vs Budget: m.dRevPct ≥ 0 — YTD actual vs YTD budget for the selected period
  • Grade Trend: g.trend === '↑' from getPropertyGrade(), comparing current grade to grade 3 months prior
  • Every active property in the portfolio appears in exactly one quadrant

Dashboard → Signals tab

2 — Manager Accountability

Groups properties by management company and maps each group across revenue budget attainment and RGI trend. This separates properties where underperformance is market-driven from those where it's operator-driven — a critical distinction for accountability conversations.

Rev \ RGI
RGI Improving ↑
RGI Declining ↓
Rev ≥ Budget
Full Execution Beating budget and gaining market share. Operator is firing on all fronts — both financial and competitive.
Beating Budget, Losing Momentum Revenue looks fine but market share is slipping. Short-term budget tactics may be masking competitive erosion.
Rev < Budget
Fighting Market Conditions Missing budget but holding or gaining relative share vs comp set. Market headwind, not operator failure — adjust expectations accordingly.
Needs Attention Missing budget and losing competitive share. Operator accountability signal — both revenue and market position are declining together.

How It's Calculated

  • Revenue vs Budget: mg.revPct ≥ 0 — revenue gap averaged across all properties under this management company
  • RGI Trend: mg.rgiTrendAvg > 0 — average MoM RGI change across the management company's portfolio
  • Management companies with only one property are positioned by that single property's data

Dashboard → Signals tab

3 — Market Conditions

Plots individual properties across comp set RevPAR trend and portfolio RGI trend. Used to distinguish between "the market moved against us" (external) and "we underperformed the market" (operator).

RGI \ Comp
Comp RevPAR Rising ↑
Comp RevPAR Falling ↓
RGI Improving ↑
Market Tailwind + Gaining Share Strong market and property is outpacing comp set. Ideal competitive position.
Gaining Share in Down Market Comp set is declining but property is improving relative to them. Operator resilience signal.
RGI Declining ↓
Market Tailwind, Losing Ground Market is improving but property is losing relative share. Favorable conditions wasted — operator issue.
Headwind + Losing Share Weak market and property is losing ground vs comp. Compound pressure from both external and internal factors.

How It's Calculated

  • Comp RevPAR Trend: MoM change in comp set aggregate RevPAR from STR data
  • Portfolio RGI Trend: Property RGI MoM change vs 3-month trailing average

Property Matrices — Per-Property Pages

These four matrices appear on individual property pages and the portfolio Guest Satisfaction view. Each provides a two-axis synthesis of the data on that specific tab.

Maintenance flag: Property page tab layouts and STR synthesis grids are the most frequently redesigned sections. Re-verify all four matrices in this tab after any property page redesign. Check against the STR tab synthesis grid, Financial tab brief, and Guest/QA tab scoring displays.

Property page → STR tab

4 — Rate vs Occupancy

Decomposes the RGI into its two components — rate index (ARI) and occupancy index (MPI) — to reveal how a property is achieving its RevPAR position: through rate, volume, both, or neither.

ARI \ MPI
Occ Strong MPI ≥100
Occ Weak MPI <100
Rate ARI ≥100
Full Index Leaders Winning on both rate and occupancy vs comp set. Maximum competitive position — both channels contributing.
Rate Integrity Holding rate premium but occupancy is below comp set. Strategy: need to fill without sacrificing rate positioning.
Rate ARI <100
Volume Play Filling rooms at a discount to comp set. Occupancy-led — capturing share through price but leaving ADR on the table.
Losing Both Below comp set on both rate and occupancy. Weakest competitive position — requires revenue strategy and pricing review.

How It's Calculated

  • ARI (Average Rate Index): Property ADR ÷ Comp Set ADR × 100. Source: STR monthly data for the selected period
  • MPI (Market Penetration Index): Property Occupancy ÷ Comp Set Occupancy × 100. Source: STR monthly data
  • RGI relationship: RGI = ARI × MPI / 100. A property can reach RGI ≥100 by leading on either axis — this matrix shows which axis is driving it

Property page → STR tab

5 — Momentum & Direction

Plots the property's current RGI level (above or below fair-share parity at 100) against its year-over-year RGI trend. Distinguishes leaders from laggards and identifies who is gaining or losing ground over time.

Level \ YoY
RGI Up YoY ↑
RGI Down YoY ↓
RGI ≥100
Accelerating Already winning share and still improving year-over-year. Sustained and strengthening competitive advantage.
Fading Leader Currently above fair share but RGI is declining vs last year. Risk of losing dominant position — investigate comp set moves.
RGI <100
Recovery Below fair share but improving vs last year. Positive trajectory — monitor for breakout above 100 parity.
Deteriorating Below fair share and getting worse year-over-year. Competitive position is structurally weakening — requires strategic response.

How It's Calculated

  • RGI Level: Most recent monthly RGI from STR data vs 100 parity threshold
  • RGI YoY: Current period RGI vs same period prior year — positive = improving, negative = declining

Property page → Financial tab

6 — Financial Synthesis

Combines top-line budget attainment with GOP margin health to identify the true nature of financial performance. Revenue and margin can tell very different stories — this matrix surfaces the combination and the hidden risks within each.

Rev \ Margin
Margin Holding
Margin Compressing ↓
Rev ≥ Budget
Full Execution Hitting revenue and holding margin. Clean financial performance — no hidden cost pressure building beneath the top line.
Top-Line Masking Cost Problem Revenue looks good but margin is eroding. Costs are rising faster than revenue — investigate labor, utilities, or ops expense.
Rev < Budget
Defending Margin Missing revenue but protecting margin through cost discipline. GOP impact is being partially offset — operator is managing the controllables.
Under Pressure Missing revenue and margin is compressing. Dual pressure on GOP — requires immediate attention to both top-line strategy and cost structure.

How It's Calculated

  • Revenue vs Budget: YTD actual revenue vs YTD budget (_ytdVsBud ≥ 0)
  • Margin Compressing: GOP % is trending lower — detected by comparing the 3-month average GOP margin to the 6-month average GOP margin (_gopCompressing). A downward shift signals cost pressure before it becomes visible in a single month's number

Guest Satisfaction portfolio view

7 — Guest Satisfaction

Maps every property across ITR score vs. brand target and month-over-month momentum. Distinguishes sustained excellence from declining scores and recovering properties from those falling further behind.

Score \ Trend
Improving ↑ MoM
Declining ↓ MoM
Above Brand Target
Excellence Exceeding brand target and ITR is still improving. Strong guest experience with positive momentum.
Watch Above target now but declining MoM. Risk of slipping below threshold — investigate operational or service changes.
Below Brand Target
Recovery Below target but improving month-over-month. Positive trajectory — track for sustained recovery above threshold.
Concern Below target and declining further. Guest experience is structurally deteriorating — GM attention required.

Brand Targets (Matrix Placement)

  • Marriott brands: Above target = ITR ≥ 82
  • Hilton / all other brands: Above target = ITR ≥ 80

GSS ITR Scoring — Property Guest Tab

ITR ScoreLabelImplication
≥ 80STRONGSustained GSS ≥80 supports 8–12% ADR premium vs comp set
≥ 70ACCEPTABLEWithin range but insufficient for rate premium positioning
< 70ACTION REQUIREDBelow threshold — risk to brand standards and OTA visibility

QA Brand Standards Scoring — Property Guest Tab

QA ScoreLabelRisk Implication
≥ 90EXCELLENTNo action required — well above brand standards
≥ 80PASSMeets brand standards
< 80BREACHBrand flag risk active — distribution and franchise impact possible

QA inspections track three sub-dimensions: Brand Standards, Cleanliness, and Condition. A Result = 'Fail' triggers a red flag on the property detail page regardless of the numeric score.

Portfolio QA Dashboard (QA View)

  • At Risk: QA score < 80
  • Acceptable: QA score 80–89
  • Excellent: QA score ≥ 90

The QA view supports brand filtering (All Brands / Marriott / Hilton / Hyatt / other). Columns adapt based on selected brand to surface brand-specific scoring dimensions.

Metrics Reference

Quick reference for abbreviations and KPIs used throughout the platform.

Revenue & Operations

RevPARRevenue Per Available Room. Total room revenue ÷ available rooms. Primary top-line metric.
ADRAverage Daily Rate. Room revenue ÷ occupied rooms. Measures rate quality.
Occ %Occupancy rate. Occupied rooms ÷ available rooms × 100.
GOPGross Operating Profit. Revenue minus operating expenses, before debt service.
NOINet Operating Income. GOP after management fees and reserves. Used for valuation and DSCR.
TTMTrailing Twelve Months. Rolling 12-month window of actual performance data.
GOP MarginGOP as % of total revenue. Measures operational efficiency and cost discipline.
Rev Gap %Actual revenue vs budget as a percentage. Positive = beating budget.

STR & Market

RGIRevPAR Generation Index. Property RevPAR ÷ comp set RevPAR × 100. >100 = winning share.
MPIMarket Penetration Index. Property Occ ÷ comp set Occ × 100. Measures occupancy share.
ARIAverage Rate Index. Property ADR ÷ comp set ADR × 100. Measures rate premium/discount.
Comp SetCompetitive set. The group of comparable hotels STR data is benchmarked against.
STRSmith Travel Research. Third-party benchmarking data provider. Typically lags ~30 days.
RevPAR IndexSame as RGI. Index of 100 = fair share of RevPAR in the comp set.

Capital & Debt

DSCRDebt Service Coverage Ratio. NOI ÷ annual debt service. Covenant typically requires ≥1.25×.
LTVLoan-to-Value. Outstanding debt ÷ implied property value. Flag triggers above 70%.
Cap RateCapitalization rate. NOI ÷ property value. Used to derive implied valuation from NOI.
Debt YieldNOI ÷ loan balance. Lender underwriting metric. Typically required ≥9–10%.

Guest & Quality

ITRIntent to Recommend. Guest satisfaction score (0–100). Marriott threshold ≥82, Hilton ≥80.
GSSGuest Satisfaction Survey. Brand-administered survey system producing the ITR score.
QA ScoreBrand quality assurance inspection score (0–100). Breach = <80; Excellent = ≥90.
PIPProperty Improvement Plan. Brand-required renovation or upgrade plan, often tied to franchise renewal.

Period Selectors

MTDMonth-to-date. Current calendar month through last available day of actuals.
YTDYear-to-date. January through last available month.
T3 / T6Trailing 3 or 6 months. Rolling window ending at the current selected month.
T12 / TTMTrailing 12 months. Same as TTM when the selected month is the latest available.

All Notes

All notes you've added across every section of this guide, in one place.