SkeneProductDevelopersUse casesMeasurePricingEventsAbout
Skene
Start free
Customer Success

Which accounts are quietly stuck?

A health score is a claim about accounts you are not talking to. It is only as good as the usage behind it.

Two ways the list lies to you.

One costs your team a week on accounts that were never at risk. The other drops the at-risk accounts off the list, and a shorter list reads as good news.

Low usage is the signal. That is the whole mechanism, so anything that stops usage being recorded looks identical to an account going quiet.

The first way is loud. A core action stops being recorded, every account that depends on it drops at once, and your team spends the week on accounts that were never at risk.

The second way is silent, and it is the one that costs you. If a detail sent with the usage, something like plan tier, stops arriving, those accounts do not score badly. They fall out of the segment and off the list entirely. A shorter list looks like good news. That is the churn you do not see coming: not an account you scored wrong, an account you stopped scoring.

Lifecycle/Low usage
How it failsWhat you see
LoudA core action stops being recorded. Every account that depends on it drops at once.
QuietOne account stops being recorded. It looks exactly like an account going quiet.
What this looks like in practice

Nothing stops firing. The list just gets shorter.

The two enterprise accounts about to churn stay invisible for a quarter, and the event volume never moves.

Say an update stops sending plan_tier with a usage signal. The signal keeps firing and the volume is unchanged, so nothing looks broken.

But the health model segments by plan, and enterprise accounts now arrive with no tier. They fall out of the enterprise segment, off the at-risk list, and the two that were about to churn are invisible for a quarter.

Lifecycle/skene-dashboard
5 stages
  1. discoveryDiscoveryAttention and consideration through signup
    Customer created

    Customers added to the register and available for order processing.

    public.customers
  2. onboardingOnboardingIntegrations, settings, initial setup
    First order received

    Customers with at least one newly received order awaiting production.

    public.orders
  3. engagementEngagementRepeat usage and feature depth
    Order shipped

    Orders that completed fulfilment and have been marked as shipped.

    public.orders
  4. retentionRetentionContinuous activity, renewals, habit lock-in
    Invoice paid

    Invoices settled, the point where revenue is realised rather than booked.

    public.invoices
  5. expansionExpansionPaid upgrade, additional seats, premium features
    Invoice issued

    Customers with an open or sent invoice representing a billable order.

    public.invoices

Missing details get caught with the change that drops them.

Describe what keeps accounts healthy in plain language and you get back the signals and fields it takes to measure it, to review before anything is saved.

A dropped field is one of the four things the check looks for, and it is the one review is worst at, because the call is still there and still runs.

When you have a theory about what keeps accounts healthy, describe it in plain language and Skene drafts the measurement plan: the outcome, the questions the data has to answer, and the signals and fields that must exist to answer them. You review the draft before anything is saved.

Evaluator/Account health
1 missing
Healthy means the workspace is used weeklyThe call still runs. One of the fields it carries does not.
workspace_opened
Found in code and in arriving events
account_id
Present
seat_count
Not observed since the refactor
Before the segment goes quiet

The flag is one signal. The fields under it are what keeps the account on the list.

Write the rule down as a plan and verification runs against it before anything is wired up: the event that raises the flag, and every field the segment reads once it is raised. Each one comes back ready or missing, so a field that would quietly shrink the list is named while it can still be added.

Evaluator/skene-dashboard
7 signals missing
Flag customers that have gone quiet for thirty daysVerify · 0 of 7 requirements confirmed
quiet_customer_flagged
The event was not found in code or runtime evidence.eventformula input
missing
timestamp
Required event field was not observed.
missing
customer_id
Required property was not observed.
missing
flag_id
Required property was not observed.
missing
last_order_at
Required property was not observed.
missing
days_since_last_order
Required property was not observed.
missing
quiet_customer_reactivated_within_30_days
The event was not found in code or runtime evidence.eventformula input
missing
The second failure is an account that stops being scored rather than one scored wrongly. That is what the four properties under the flag are for. If days_since_last_order never arrives, the flag still fires and the account still falls off the list.
Who owns what

You decide

What healthy means, and which fields your segments depend on.

Engineering does

A specific line and a fix they can read. Nothing about your health model.

Start free
All use casesGrowthLifecycleCustomer Success
Skene

Product

How it worksMeasure what you shipFeaturesIntegrationsSecuritySupabasePricing

Developers

Developersvs coding agentsOpen sourceDocs

Resources

ResourcesGlossaryPlaybooksBlogReleases

Company

AboutCommunityEventsContactPrivacyTerms
© 2026 Skene Technologies. All rights reserved.
Skene