Skip to content

How Scoring Works

JetStack AI’s scoring system evaluates your HubSpot portal across 450+ data points and rolls those individual measurements into a single portal score. The system works bottom-up: each data point gets a score, data points aggregate into blocks, blocks aggregate into sections, and sections aggregate into the final portal score.

This page explains the mechanics at every level.

Scoring flows upward through four levels:

  1. Data Point — A single measurement (e.g., “percentage of workflows with naming conventions”)
  2. Block — A group of related data points (e.g., “Workflow Best Practices”)
  3. Section — A hub-level grouping of blocks (e.g., “Automation”)
  4. Portal — The overall score combining all sections

Each level uses weighted averages to combine its children into a single 0-100 score.

Every data point produces a raw value — a percentage, a count, a boolean, or a duration. JetStack AI converts that raw value into a 0-100 score using piecewise linear interpolation against five threshold levels:

ThresholdMeaning
PoorSignificantly below acceptable standards
Below AverageNeeds improvement
AverageMeets basic expectations
Above AverageExceeds typical standards
ExcellentBest-in-class performance

Each data point definition includes specific threshold values appropriate for its metric type. For example, a “percentage of contacts with email addresses” data point might define poor as below 40%, average as 70%, and excellent as 95%.

The score is not a simple pass/fail. JetStack AI interpolates linearly between the nearest two thresholds to produce a precise score. If a raw value falls between the “average” and “above average” thresholds, the score will land somewhere between 50 and 75, proportional to where the value sits in that range.

This means small improvements in your portal always translate to measurable score increases — there are no dead zones where changes go unrecognized.

JetStack AI handles four types of raw values:

  • Percentages — Direct interpolation against percentage thresholds (e.g., 85% of forms have GDPR consent)
  • Counts — Interpolation against numeric thresholds (e.g., number of active workflows)
  • Booleans — Binary scoring. True maps to excellent (100), false maps to poor (0). Used for checks like “Is DKIM configured?”
  • Durations — Time-based interpolation (e.g., average ticket response time)

A block score is the weighted average of its data point scores. Each data point carries a weight derived from its priority and characteristics (see Weights for the full formula).

The formula:

Block Score = Sum(dataPointScore x weight) / Sum(weights)

For example, if a block contains three data points with scores of 80, 60, and 90 and weights of 7.8, 3, and 2, the block score would be:

(80 x 7.8 + 60 x 3 + 90 x 2) / (7.8 + 3 + 2) = (624 + 180 + 180) / 12.8 = 76.9

Higher-weight data points pull the block score more strongly in their direction.

Each section (General, Sales, Marketing, Automation, Service, Reporting) aggregates its block scores using base weights, with dynamic redistribution when coverage is low. See Section Scoring for the full breakdown.

The portal score combines all section scores into a single 0-100 number, which maps to a letter grade and maturity level. See Portal Score and Maturity Levels for details.

Weighted averages ensure that the most impactful aspects of your portal carry appropriate influence over the final score. A missing DKIM configuration (a fundamental, critical data point) should pull your score down more than a minor naming convention issue. The weighting system makes that happen automatically.

  • 90-100 — Your portal follows best practices consistently. Minor polish opportunities remain.
  • 70-89 — Strong foundation with specific areas for improvement. Most mature portals land here.
  • 50-69 — Functional but with meaningful gaps in configuration, hygiene, or best practices.
  • Below 50 — Significant issues that likely affect day-to-day operations and reporting accuracy.

Scores are always relative to what JetStack AI can measure. A high score means you are performing well against the evaluated criteria. It does not mean there is nothing left to improve — only that the measurable data points are in good shape.