Skip to content

Compass

Scheduled Sep 23, 2026

Health scores you can explain line by line.

Replaces

  • Gainsight Customer Success · Gainsight, Inc. — no published list price
  • ChurnZero · ChurnZero, Inc. — no published list price

Rented, per year

Not published

These vendors quote privately. We use your contract, not a guess.

Owned, per year

$9,120

AWS infrastructure only. Azure is $10,680.

Build

10 weeks

2 engineers. To parity on the core features above, including reconstruction of existing health-score definitions and migration of playbooks, success plans and renewal pipeline.

Difficulty

4/5

Substantial. Compliance or realtime depth involved.

Reference organisation: 1,200 customer accounts, 45 CS seats, 900M product usage events a year, 3 years of retained telemetry, single region, prod + non-prod. 3-year Compute Savings Plan on Fargate / 3-year reservation on Container Apps. Aurora minimum 0.5 ACU. Athena at $5 per TB scanned with partition pruning; Synapse serverless at the equivalent published rate. One Stream Analytics streaming unit on Azure. Excludes LLM gateway token cost and any existing warehouse the telemetry may already land in. Figures are infrastructure only and exclude the build.

What it is

Compass is a customer success system: account health scores built from product telemetry and support signal, playbooks that fire on risk, renewal and expansion pipeline, and an executive view of the book of business. It is aimed at SaaS and subscription businesses past roughly $30M of recurring revenue, where the customer success platform has become expensive enough to justify its own business case and opaque enough that nobody trusts the health score. Compass makes the score arithmetic visible: every point comes from a named input, with the query that produced it.

Why this one stops making sense

  • Neither Gainsight nor ChurnZero publishes a price. Gainsight's pricing page says 'Request Pricing'; ChurnZero has no pricing page at all. You negotiate every renewal without a public benchmark, and so does everyone you might ask.
  • The health score is the product, and in both tools it is a weighted formula whose inputs your CS team cannot audit end to end. A score nobody trusts gets overridden manually, and then you are paying for a spreadsheet.
  • Your product telemetry is already flowing somewhere — a warehouse, a data lake, an event pipeline. Sending it a second time into a vendor's ingestion tier, on their schema, is duplicated cost and duplicated lag.
  • Renewal risk is the highest-value prediction in a subscription business. Training that model on your data inside a vendor's platform means the model is theirs, not yours.
  • Pricing usually keys off managed ARR or account count, so the tool costs more precisely as the business grows, regardless of whether the CS team grew with it.

What ships

  • Health scores composed from named, weighted measures with a full contribution breakdown per account
  • Score history retained so you can see what a score was on any past date and why it moved
  • Product usage ingestion from your existing event pipeline, warehouse or a direct SDK
  • Support, billing and survey signals joined into the same account timeline
  • Playbooks: triggers, tasks, owners, due dates and completion evidence
  • Renewal and expansion pipeline with forecast categories and a churn-risk register
  • Success plans with customer-visible objectives and shared milestones
  • Segment-level cohort analysis: retention curves, expansion rates and time-to-value
  • Alerting into Slack or Teams on score drops, champion departure and usage cliffs
  • Executive book-of-business view with drill-down to the underlying rows

Data model

AccountSubscriptionContactUsageEventMeasureScoreSnapshotScoreContributionPlaybookPlaybookRunTaskSuccessPlanRenewalOpportunityRiskRegisterEntryAuditEvent

Stack

frontend
Next.js 15 App Router + Tailwind + TanStack Query
backend
NestJS on Node 22 — application API plus a scoring service that runs as a scheduled job
database
PostgreSQL 16 for accounts, scores and playbooks; object storage in Parquet for raw telemetry
cache
Redis 7 for book-of-business views and alert deduplication
queue
BullMQ for playbook execution, alerting and export
auth
OIDC against the customer IdP; SCIM 2.0 for provisioning
search
PostgreSQL tsvector across accounts, notes and success plans
ai
Optional churn-reason clustering over support and note text through an LLM gateway

Parity, honestly

What we match, and what we do not.

The rows marked No are the important ones. If one of them is the reason you bought Gainsight Customer Success, keep buying it — and we will tell you that on the first call rather than the fifth month.

CapabilityGainsight Customer SuccessOursNote
Composite account health scoringYesYesWith a visible contribution breakdown, which is the part CS teams actually ask for.
Product usage ingestion and analyticsYesYesReads your existing pipeline rather than demanding a second instrumentation pass.
Playbooks and task automationYesYes
Renewal and expansion forecastingYesYes
Customer-facing success plansYesYes
Score history and retrospective recalculationPartialYesBecause the inputs are retained as raw rows, changing a weighting lets you replay the last two years rather than only affecting tomorrow.
Public list pricing you can benchmarkNoYesCompass costs you infrastructure, and the number is below.
Gainsight's in-app engagement and product-tour layerYesNoGainsight PX is a separate product doing in-application messaging and tours. If you use it, Converse covers that ground; Compass does not, and pretending otherwise would be dishonest.
Prebuilt benchmark data across the SaaS industryYesNoGainsight can tell you how your NRR compares with a peer set because it sits inside hundreds of subscription businesses. We have your data and only your data.
Packaged best-practice playbook library and CS methodologyYesNoYou are buying a way of working as much as software. We build the playbooks your team designs; we do not ship a methodology.
Certified partner and consultant ecosystemYesNoGainsight implementations are a services market of their own. Compass is maintained by your team or under a Conseiltek Run agreement.
Vendor-run SOC 2 attestationYesNoInherits your cloud posture.
Slack and Teams alertingYesYes
Churn-risk model trained on your own historyPartialYesThe model, the features and the training set stay in your account and can be inspected by your own data team.

Reference architecture

Built twice, on purpose.

Every application in Techtons ships with a production architecture for AWS and one for Azure, using the same diagram grammar so you can read them side by side. Your cloud, your account, your bill.

Amazon Web Services

Compute
ECS Fargate (api, worker) behind an ALB; scoring runs as a scheduled ECS task, not a long-lived service
Data
Aurora Serverless v2 PostgreSQL for the application; S3 plus Glue Data Catalog and Athena for telemetry
Storage and edge
S3 in Parquet, partitioned by day and tenant, with lifecycle to Glacier Instant Retrieval at 400 days
Identity
Cognito federated to the customer IdP
Observability
CloudWatch and OpenTelemetry; scoring-job freshness published as a metric the UI displays
Infrastructure as code
Terraform, one module per environment

Services

ECS FargateALBAurora Serverless v2ElastiCache RedisS3Kinesis Data FirehoseGlue Data CatalogAthenaCloudFrontCognitoEventBridge SchedulerSQSSESSecrets ManagerCloudWatch

The decision worth arguing about

Health scores are not computed in the application database, and resisting that is the whole design. Product telemetry arrives through Kinesis Data Firehose, which writes Parquet into S3 with dynamic partitioning by day and tenant; a nightly Athena query computes each measure and writes back only the score, the contributing measures and their weights into Aurora — a few hundred rows per account per year rather than a few hundred million events. Putting raw usage events in Aurora is the obvious shortcut and it fails in a specific way: the table that grows fastest becomes the table your book-of-business view scans, autovacuum falls behind, and the CS dashboard that used to load in 400ms starts timing out around month nine. The trade-off is staleness. Firehose has a minimum buffer of 60 seconds and the scoring job runs nightly, so a score can be up to 24 hours old, which is fine for a usage decline and useless for a customer who has just raised three P1 tickets in an hour. So there is a second, much narrower path: support and billing events go straight to EventBridge and can move a score immediately, bypassing the batch entirely. Two paths is more machinery than one, and it is the reason the dashboard can say when each number was last true.

Microsoft Azure

Compute
Container Apps (api, worker) with a Container Apps job for scoring on a cron schedule
Data
PostgreSQL Flexible Server for the application; ADLS Gen2 with Synapse serverless SQL over the telemetry
Storage and edge
ADLS Gen2 in Parquet, partitioned by day and tenant, lifecycle to cool then archive
Identity
Microsoft Entra ID directly
Observability
Azure Monitor and Application Insights; scoring freshness as a custom metric
Infrastructure as code
Bicep, azd-compatible layout

Services

Container AppsContainer Apps JobsFront Door StandardPostgreSQL Flexible ServerCache for RedisEvent HubsStream AnalyticsADLS Gen2Synapse serverless SQLEntra IDKey VaultService BusCommunication ServicesLog Analytics

The decision worth arguing about

The Azure pipeline needs one component the AWS one does not, and it is worth understanding before you cost the two. Event Hubs Capture will land your telemetry in storage automatically, but it writes Avro, not Parquet. Synapse serverless SQL bills per terabyte scanned, and a columnar Parquet file with predicate pushdown will read a small fraction of what the equivalent row-oriented Avro file forces you to read for the same query — so querying Capture output directly is convenient and then quietly becomes the largest line on the bill. The alternative is a Stream Analytics job converting Event Hubs output to Parquet on the way in, which costs a streaming unit running continuously and adds a component that can fall over at three in the morning. We take the Stream Analytics route because the scan saving exceeds the streaming-unit cost above roughly 50 GB of telemetry a day, and we say plainly that below that threshold the simpler Capture-to-Avro shape is the right call and the Bicep supports it with a flag. Firehose on AWS does this conversion natively and charges for it as part of ingestion, which is why this decision does not appear in the AWS notes at all.

Sources

Every price on this page, with the page we read it from and the date we read it.

ProductPlanList priceCheckedSource
Gainsight Customer SuccessEssentials / EnterpriseNot published2026-09-05www.gainsight.com/pricing/

Gainsight publishes no list price. Its pricing page shows a 'Request Pricing' call to action against both the Essentials and Enterprise tiers and no dollar figures anywhere.

ChurnZeroQuoted per customerNot published2026-09-05churnzero.com/customer-success-software/

ChurnZero publishes no pricing page at all — churnzero.com/pricing/ returns a 404 and the product pages route only to a demo request. Every figure is quoted privately.

Should you still be paying for Gainsight Customer Success?

Two weeks, fixed price. We audit what you actually use, map it against Compass, cost the replacement on your own AWS or Azure account, and give you a delivery plan. If the honest answer is to keep the licence, that is what the report will say.