Skip to main content

Documentation Index

Fetch the complete documentation index at: https://hc.pillargtm.com/llms.txt

Use this file to discover all available pages before exploring further.

Product Affinity

The Product Affinity engine analyzes co-adoption patterns across your account base to identify which products are most commonly purchased together, how long cross-sell cycles typically take, and which accounts have the highest-value expansion opportunities. It generates prioritized expansion signals that feed into the Expansion Pipeline.
Product Affinity is a companion to the Expansion Pipeline dashboard. The Expansion Pipeline shows account-level whitespace and propensity; Product Affinity adds the product-pair intelligence layer — which products lead to which, at what rate, and with what ARR uplift.

How It Works

Account product ownership data
  → Co-adoption matrix (product A → product B frequency)
  → Segment-level affinity (Enterprise vs Mid-Market vs SMB patterns)
  → Whitespace identification (missing products per account)
  → Expansion scoring (affinity + readiness + health + propensity)
  → Prioritized expansion signals (ranked by score and estimated ARR)

Affinity Matrix

For every ordered product pair (A, B), the engine computes:
MetricDescription
Co-Adoption CountNumber of accounts that own both product A and product B
Co-Adoption RateCo-adoption count / total accounts owning product A (percentage)
Avg Time to Cross-SellAverage days between start_date of product A and product B
Avg ARR UpliftAverage contracted ARR of product B for accounts that also own A
The matrix is computed both at the portfolio level (segment: "all") and per segment (Enterprise, Mid-Market, SMB) to surface segment-specific patterns.

Confidence Levels

Affinity data quality is scored by sample size:
LevelInterpretation
highReliable pattern based on sufficient data
mediumDirectional signal with moderate data
lowInsufficient data — treat as hypothesis

Expansion Scoring

Each whitespace opportunity (account + missing product) receives a composite score from 0 to 1, computed from multiple weighted components:
  • Affinity — Co-adoption rate from owned products to the target product
  • Adoption Readiness — How well the account uses its current products
  • Account Health — Overall account health score
  • Expansion Propensity — Account-level expansion propensity from the scoring engine
Exact component weights are configurable per organization. Default weights are available in the PILLAR Implementation Guide provided to active customers.

Priority Levels

Expansion signals are assigned a priority from 1 (highest) to 5 (lowest) based on the composite score. Higher scores indicate stronger expansion opportunities deserving immediate attention, while lower scores are monitored over time.

ARR Estimation

Expansion ARR is estimated using available pricing data, adjusted for account size and segment characteristics.

Signal Lifecycle

Expansion signals follow a four-state lifecycle:
StatusDescription
pendingSignal generated, not yet acted on
pitchedExpansion opportunity has been presented to the account
wonCross-sell completed
dismissedSignal dismissed (not applicable)
Pending signals are regenerated on each computation cycle. Signals in pitched, won, or dismissed status are preserved across recomputations.

Data Model

PILLAR stores product affinity matrices (co-adoption metrics per product pair) and prioritized expansion signals (per-account expansion opportunities with scoring, priority, and lifecycle status). Both are scoped by organization and recomputed on each computation cycle.
Detailed data model schemas are available in the PILLAR Implementation Guide provided to active customers.

API Endpoints

GET  /api/expansion/affinity
POST /api/expansion/affinity
GET  /api/expansion/signals
POST /api/expansion/signals
PATCH /api/expansion/signals
See the Expansion Intelligence API reference for full endpoint documentation.

Access

Available to: CRO/CEO, VP Sales, VP CS, RevOps