Skip to main content

CRM Analytics Overview

Leverage built-in analytics to understand your contacts, deals, tasks, and overall CRM performance.

CRM Analytics works on the standard 3-tier pipeline: you write base SQL over the org CRM tables (contacts, deals, companies, tasks, and more) in a Dataset, and the chart builder adds GROUP BY, aggregation, date grouping, and filters on top. Datasets can also target external PostgreSQL databases, CSV/Excel uploads, or Google Sheets.

Time to complete: 15-20 minutes


CRM Analytics Overview

Expedify provides analytics across all CRM entities:

EntityKey Metrics
ContactsGrowth, sources, engagement, lifecycle
CompaniesIndustry, size, revenue, deal value
DealsPipeline, velocity, win rate, value
TasksCompletion, overdue, productivity
ActivitiesEngagement, touchpoints, timing

Contact Analytics

Key Metrics

MetricDescriptionFormula
Contact GrowthNew contacts over timeCOUNT by period
Lead Score DistributionScore breakdownGROUP BY score range
Source AttributionWhere leads come fromGROUP BY source
Lifecycle StagesContact statusGROUP BY lifecycle_stage
Engagement ScoreActivity levelBased on interactions

Contact Growth Dashboard

Track how your contact database is growing:

Dataset: Contact Growth by Month
Data Source: contacts
Columns: DATE_TRUNC(month, created_at), COUNT(*)
Group By: month
Chart: Line Chart

Insights to track:

  • Monthly new contacts
  • Year-over-year comparison
  • Growth rate trends
  • Acquisition spikes

Lead Source Analysis

Understand which channels bring the best leads:

Dataset: Contacts by Source
Data Source: contacts
Columns: lead_source, COUNT(*), AVG(lead_score)
Group By: lead_source
Sort By: count DESC
Chart: Bar Chart

Questions answered:

  • Which sources generate most leads?
  • Which sources have highest quality (score)?
  • Where should marketing invest?

Engagement Tracking

Monitor contact activity levels:

Engagement LevelCriteria
Highly ActiveActivity in last 7 days
ActiveActivity in last 30 days
DormantNo activity 30-90 days
InactiveNo activity 90+ days
Dataset: Contact Engagement Levels
Data Source: contacts
Columns: engagement_level, COUNT(*)
Filter: Calculate from last_activity_at
Chart: Donut Chart

Deal Analytics

Sales Pipeline Metrics

MetricDescriptionImportance
Pipeline ValueTotal open deal valueRevenue forecast
Win RateWon / TotalSales effectiveness
Average Deal SizeAvg closed deal valuePricing insight
Sales VelocitySpeed to closeProcess efficiency
Stage ConversionMovement between stagesPipeline health

Pipeline Value by Stage

Visualize your current pipeline:

Dataset: Pipeline by Stage
Data Source: deals
Columns: stage, COUNT(*), SUM(amount)
Filter: status = 'open'
Group By: stage
Chart: Funnel

Actionable insights:

  • Identify bottlenecks (stages with high drop-off)
  • Focus resources on largest opportunities
  • Forecast revenue based on stage probability

Win Rate Analysis

Track sales effectiveness over time:

Dataset: Monthly Win Rate
Data Source: deals
Columns:
- month(closed_at)
- SUM(CASE WHEN status='won' THEN 1 ELSE 0 END) / COUNT(*)
Filter: status IN ('won', 'lost'), closed_at IS NOT NULL
Group By: month
Chart: Line Chart

Benchmark targets:

  • Industry average: 20-30%
  • High performers: 30-50%
  • Track trend direction

Sales Velocity

Measure how fast deals close:

Sales Velocity = (Number of Opportunities × Average Deal Value × Win Rate) / Sales Cycle Length

Metrics to track:

ComponentQuery
OpportunitiesCOUNT(deals) WHERE status='open'
Avg Deal ValueAVG(amount) WHERE status='won'
Win Ratewon / (won + lost)
Cycle LengthAVG(closed_at - created_at)

Deal Aging Report

Identify stale deals:

Dataset: Deal Aging
Data Source: deals
Columns: name, amount, stage, days_in_stage
Filter: status = 'open', days_in_stage > 30
Sort By: days_in_stage DESC
Chart: Table

Task Analytics

Productivity Metrics

MetricDescription
Tasks CreatedNew tasks per period
Tasks CompletedFinished tasks
Completion RateCompleted / Created
Overdue TasksPast due date
Avg Completion TimeDays to complete

Task Status Dashboard

Dataset: Tasks by Status
Data Source: tasks
Columns: status, COUNT(*)
Group By: status
Chart: Donut Chart

Status categories:

  • To Do
  • In Progress
  • Completed
  • Overdue

Team Productivity

Compare team member performance:

Dataset: Tasks by Assignee
Data Source: tasks
Columns: assigned_to, COUNT(*) as total,
SUM(status='completed') as completed
Group By: assigned_to
Chart: Horizontal Bar

Overdue Analysis

Track and reduce overdue tasks:

Dataset: Overdue Tasks by Owner
Data Source: tasks
Columns: assigned_to, COUNT(*)
Filter: due_date < NOW(), status != 'completed'
Group By: assigned_to
Sort By: count DESC
Chart: Bar Chart

Company Analytics

Company Segmentation

Analyze your company database:

Dataset: Companies by Industry
Data Source: companies
Columns: industry, COUNT(*), SUM(deal_value)
Group By: industry
Sort By: deal_value DESC
Chart: Bar Chart

Company Size Distribution

Dataset: Companies by Size
Data Source: companies
Columns: company_size, COUNT(*)
Group By: company_size
Order: Custom (SMB → Mid-Market → Enterprise)
Chart: Donut Chart

Revenue by Company

Top accounts analysis:

Dataset: Top Companies by Revenue
Data Source: deals
Columns: company_name, SUM(amount) as total_revenue
Filter: status = 'won'
Group By: company_id
Sort By: total_revenue DESC
Top N: 20
Chart: Bar Chart

Activity Analytics

Engagement Metrics

Activity TypeWhat to Track
EmailsSent, opened, clicked, replied
CallsMade, duration, outcomes
MeetingsScheduled, completed
NotesCreated, mentions

Activity Volume by Type

Dataset: Activities by Type
Data Source: activities
Columns: activity_type, COUNT(*)
Filter: created_at last 30 days
Group By: activity_type
Chart: Pie Chart
Dataset: Daily Activity Count
Data Source: activities
Columns: DATE(created_at), COUNT(*)
Filter: created_at last 30 days
Group By: date
Chart: Area Chart

Rep Activity Report

Dataset: Activities by Rep
Data Source: activities
Columns: user_id, activity_type, COUNT(*)
Filter: created_at last 7 days
Group By: user_id, activity_type
Chart: Stacked Bar

Pre-Built Reports

Sales Performance Report

Includes:

  • Monthly revenue trend
  • Win/loss ratio
  • Average deal size
  • Top performers

Access: Analytics → Reports → Sales Performance

Pipeline Health Report

Includes:

  • Pipeline value by stage
  • Stage conversion rates
  • Deal aging
  • Forecast accuracy

Marketing Attribution Report

Includes:

  • Leads by source
  • Source to customer conversion
  • Channel ROI
  • Campaign performance

Team Activity Report

Includes:

  • Activities by team member
  • Response times
  • Task completion rates
  • Engagement scores

Building CRM Dashboards

Executive Dashboard

High-level KPIs for leadership:

WidgetMetric
KPITotal Pipeline Value
KPIMonthly Revenue
KPIWin Rate
Line ChartRevenue Trend
FunnelPipeline by Stage
TableTop Deals

Sales Rep Dashboard

Individual performance tracking:

WidgetMetric
KPIMy Open Deals
KPIThis Month Revenue
KPIQuota Attainment
TableMy Tasks
Bar ChartMy Activity

Marketing Dashboard

Campaign and lead metrics:

WidgetMetric
KPINew Leads This Month
Pie ChartLead Sources
Line ChartContact Growth
FunnelLead to Customer
Bar ChartCampaign Performance

Best Practices

Data Quality

Good Analytics Requires:
- Consistent data entry
- Complete field population
- Regular data cleanup
- Standardized values

Red Flags:
- Many null values
- Inconsistent formats
- Duplicate records
- Outdated information

Metric Selection

Choose Metrics That:
- Drive action
- Are measurable
- Have clear targets
- Tell a story

Avoid:
- Vanity metrics
- Too many KPIs
- Metrics without context
- Numbers without trends

Reporting Cadence

Report TypeFrequencyAudience
ExecutiveWeekly/MonthlyLeadership
TeamDaily/WeeklyManagers
IndividualReal-timeReps
StrategicQuarterlyPlanning

Troubleshooting

Missing Data

  1. Check field mapping - Is data being captured?
  2. Review required fields - Are they enforced?
  3. Validate imports - Data mapped correctly?
  4. Check permissions - Can you see the data?

Inaccurate Numbers

  1. Verify filters - Correct date range?
  2. Check duplicates - Counting multiple times?
  3. Review formulas - Calculations correct?
  4. Compare sources - Same definitions?

Slow Reports

  1. Add date filters - Limit data scope
  2. Reduce columns - Only needed fields
  3. Enable caching - Store results
  4. Optimize queries - Use indexes

Next Steps

With CRM analytics mastered:

  1. Connecting Third-Party Tools - Bring in external data
  2. Building Custom Dashboards - Create custom views

Quick Reference

Key CRM Formulas

MetricFormula
Win RateWon Deals / (Won + Lost)
Avg Deal SizeTotal Won Revenue / Won Deals
Sales CycleAvg(Close Date - Create Date)
Conversion RateCustomers / Leads
Pipeline CoveragePipeline Value / Quota

Standard KPIs by Role

RolePrimary KPIs
Sales RepQuota attainment, deals closed, activity
Sales ManagerTeam quota, win rate, pipeline health
MarketingLead volume, conversion, source ROI
ExecutiveRevenue, growth rate, customer acquisition