pql-scoring

🔒 Internal only — Vercel employee access required (SSO gated via Vercel Deployment Protection)

A lifecycle Product Qualified Lead (PQL) scoring dashboard for Vercel teams and users. Scores every team 0–100 across 5 dimensions and assigns a tier: Cold / Warm / Hot / PQL.

Scoring model

DimensionSourceMax pts
Deployment Momentumteams_daily.deployments_t30d_count25
Team Growthteams_daily.n_team_members15
Feature Breadthbillable_pulse_metrics_daily (KV, Blob, Edge, Analytics, Cron)20
Advanced / AI Usageprojects_daily (AI workload, Turbo builds, Fluid compute)20
Monetization Readinesssubscriptions plan tier + tenure15

Tiers: Cold (0–24) · Warm (25–49) · Hot (50–74) · PQL (75–100)

API

GET /api/pql/team/:team_id   → TeamPQLScore
GET /api/pql/user/:user_id   → UserPQLScore
GET /api/pql/all             → TeamPQLScore[] (top 500 pro/enterprise teams)

Setup

cp .env.example .env.local
# Fill in your Snowflake credentials
npm install
npm run dev

Deployment

Deployed to Vercel Labs.

Auth: Enable Vercel Deployment Protection → SSO in the Vercel dashboard. Restrict to @vercel.com accounts only.

Data source

All data from dwh_prod.analytics.* in Snowflake. Scores are computed on-the-fly and cached via Next.js ISR (1 hour revalidation).