HubSpot · Analysis

Measure activity. State the evidence window.

Review available login events, user status and activity indicators. A missing event can reflect limited retention or incomplete access; describe the evidence window and corroborate inactivity before recommending changes.

A floating matte black office chair on white, representing licensed seats.
01 · The problem

The evidence available decides the claim you are allowed to make

Activity fields and audit logs have different meanings and retention periods. Check what your subscription exposes and which channels are covered before describing a seat as inactive.

01

A window, not a lifetime

Report whether human login events were observed in the reviewed window, with coverage gaps stated. An absence of observed events is not proof of lifetime non-use.

02

Ordering is not guaranteed

The login endpoint carries no documented sort guarantee, so activity summaries have to take the maximum timestamp per channel rather than trusting the first row returned. Reading it naively produces confidently wrong dormancy findings.

03

Check native seat options first

View-Only seats may suit users who only need visibility. Confirm feature restrictions and how reducing purchased paid seats affects your contract before assigning a monetary value.

02 · Why it is hard

Cleaner licence model, thinner evidence trail

HubSpot's seat structure is easier to reason about than Salesforce's. The analytical difficulty moves to establishing what actually happened on a seat, with a narrower evidence base and several signals that mislead if used as primary claims.

  • 01

    The available activity indicators and login history must be checked for scope and retention. Do not infer lifetime inactivity from a limited window.

  • 02

    Engagement authorship is a legitimate corroborating signal and a legitimate veto, but a poor accusation — a seat holder living in dashboards and forecasts authors nothing and is entirely active.

  • 03

    Role configuration can imply a paid seat while seat assignment says otherwise; the disagreement should be reported, not silently resolved in whichever direction is convenient.

  • 04

    Free seat classes cost nothing, so counting them as recoverable inflates the number and destroys credibility on inspection.

  • 05

    Public pricing provides a reference; your invoices and order form establish what the account pays.

  • 06

    If a seat cannot be matched to an agreed price, report it as unpriced rather than estimating recovery.

03 · Evidence examined

What the analysis reads

Read-only, through the API, against your own portal. No configuration is changed. Evidence exports and retention are agreed as part of the engagement.

  • 01Seat assignment across Core, Sales and Service seats by tier
  • 02Free seat classes held: View-Only, Partner and Developer
  • 03Successful human login events across the full available window
  • 04Maximum login timestamp per channel, rather than first-returned row
  • 05User active and archived status against seat assignment
  • 06Engagement authorship, used as corroboration and as a veto
  • 07Role configuration and its implied billing status, cross-checked against assignment
  • 08Disagreements between implied and actual seat status, flagged rather than resolved
  • 09Paid seats whose activity pattern is entirely read-and-report
  • 10Purchased seat count against assigned count, per seat class and tier
  • 11Hub tier and the entitlements included at that tier
  • 12Contract minimums and billing period, customer-confirmed
04 · What we determine

What we establish

01

Seats with no observed human login in the reviewed window

Stated precisely as that, with the window named. Corroborated where authorship data supports it, and vetoed wherever any human session or authorship contradicts it.

02

View-Only reclassification candidates

Candidates whose verified workflows fit View-Only restrictions. Confirm required reports, editing, email logging and administrative capabilities before changing the seat.

03

Archived users still holding paid seats

Reconcile departed or inactive users with remaining seat assignments. Unassignment and subscription reduction are separate steps; establish the effective billing date from the agreement.

04

Specialised seats without matching requirements

Check whether each specialised Sales or Service seat is needed, and whether a different seat type fits the verified work.

05 · What it lets you decide

Separate access changes from commercial changes. Unassigning a seat does not itself reduce purchased quantities; use the order form and confirmed renewal date to schedule bill reductions.

  • Which paid seats can move to free View-Only seats with no loss of access
  • Which archived-user seats can be released immediately
  • Which specialised seats can change to an appropriate lower-access seat type
  • Which seats show no human login and belong in the renewal conversation
  • Where implied and actual seat status disagree and need resolving internally
  • When each permitted subscription reduction changes the bill
06 · What you receive

What you receive

01

The seat ledger

Every seat with class, tier, cost, login evidence across the stated window, and its classification: keep, reclassify, or release.

02

Evidence pack

Each finding with its underlying rows, the measurement window named explicitly, and every claim scoped to what the platform data can actually support.

03

The honest number

Recoverable value with free seat classes excluded, unpriced tiers flagged rather than estimated, and each figure dated to when it becomes available.

The claim you cannot evidence is the one that loses the room.

Say only what the data says

Stage 00 is a 30-minute qualifying call at no cost. If the timing or the estate does not justify an engagement, we say so on that call.