Creating Metrics
Learn how to create, configure, and manage metrics in Aim.
Overview
Metrics are the foundation of Aim. They represent measurable values that track performance over time. This guide covers everything you need to know about creating and managing metrics.
Metric Types
Aim supports three types of metrics:
1. Direct Metrics
Direct metrics pull a single value from a connected data source.
Examples:
- Total Revenue from Stripe
- Active Users from Google Analytics
- Open Tickets from Zendesk
Best for: Simple, single-value metrics from your integrations
2. Calculated Metrics
Calculated metrics combine multiple metrics using formulas.
Examples:
- Conversion Rate = (Conversions / Visitors) × 100
- Average Deal Size = Revenue / Number of Deals
- Customer Lifetime Value = (Average Purchase Value × Purchase Frequency) × Customer Lifespan
Best for: Ratios, percentages, and derived business metrics
3. Custom Query Metrics
Custom query metrics execute SQL queries or API calls for advanced use cases.
Examples:
- Complex aggregations across multiple tables
- Custom cohort analysis
- Specific data transformations
Best for: Advanced users with specific analytical needs
Creating Your First Metric
Step 1: Navigate to Metrics
- Click Metrics in the left sidebar
- Click + Create Metric button
Step 2: Choose Metric Type
Select the type of metric you want to create (Direct, Calculated, or Custom Query).
Step 3: Configure Basic Information
Name (Required)
- Use clear, descriptive names
- Include unit if helpful: “Monthly Revenue ($)” or “Conversion Rate (%)”
- Examples: “Total Active Users”, “Average Session Duration”, “Win Rate”
Description
- Explain what the metric measures
- Document why it matters
- Include calculation method if not obvious
- Example: “The percentage of website visitors who complete a purchase. Calculated as (Purchases / Visitors) × 100. Target: 2.5%”
Unit
- Select from: Count, Currency ($), Percentage (%), Time, Number, Custom
- Affects how the metric is displayed (e.g., “$1,234.56” vs “1234.56”)
Step 4: Configure Data Source
For Direct Metrics:
- Select integration (e.g., Google Analytics, Salesforce)
- Choose specific metric or field
- Add filters if needed
- Set date range
For Calculated Metrics:
- Enter formula using metric variables
- Test calculation
- Review result
For Custom Query Metrics:
- Select data source
- Write SQL query or API call
- Test query
- Map result to metric value
Step 5: Set Ownership & Visibility
Owner
- Assign a person responsible for this metric
- They’ll get alerts if the metric has issues
- Can be changed later
Team
- Assign to one or more teams
- Controls visibility and permissions
- Helps organize metrics by department
Tags (Optional)
- Add keywords for easier discovery
- Examples: “marketing”, “revenue”, “core-kpi”
Step 6: Configure Refresh Settings
Refresh Cadence
- Real-time: Updates within seconds (webhook/streaming only)
- Hourly: Updates every hour
- Daily: Updates once per day (most common)
- Weekly: Updates once per week
- Manual: Only updates when you trigger it
Choose based on:
- How frequently the underlying data changes
- How time-sensitive decisions are
- API rate limits of source system
Step 7: Set Targets (Optional)
Add target values to track progress:
- Goal: Target value to achieve
- Threshold: Acceptable range
- Direction: Higher is better, lower is better, or within range
Step 8: Review & Create
- Preview your metric
- Test with sample data if possible
- Click Create Metric
- Initial data will sync based on refresh cadence
Formula Reference (Calculated Metrics)
Basic Operators
+ Addition: Revenue_A + Revenue_B
- Subtraction: Revenue - Costs
* Multiplication: Units * Price
/ Division: Conversions / Visitors
() Grouping: (A + B) / CCommon Formulas
Conversion Rate
(Conversions / Total_Visitors) * 100Average Deal Size
Total_Revenue / Number_of_DealsWin Rate
(Deals_Won / (Deals_Won + Deals_Lost)) * 100Customer Acquisition Cost (CAC)
Marketing_Spend / New_CustomersReturn on Ad Spend (ROAS)
Revenue_from_Ads / Ad_SpendChurn Rate
(Customers_Lost / Total_Customers_Start) * 100Net Revenue Retention
((Starting_MRR + Expansion - Contraction - Churn) / Starting_MRR) * 100Functions
SUM(metric, date_range) Sum values over time period
AVG(metric, date_range) Average values over time period
MAX(metric, date_range) Maximum value over time period
MIN(metric, date_range) Minimum value over time period
COUNT(metric, date_range) Count non-null values
GROWTH(metric, current, previous) Percentage growth between periodsMetric Best Practices
Naming Conventions
Do:
- Use clear, descriptive names
- Include unit in name when helpful
- Be consistent across similar metrics
- Example: “Monthly Recurring Revenue (MRR)”
Don’t:
- Use abbreviations without context
- Make names too long (>50 characters)
- Use technical jargon unnecessarily
- Example: “rev_calc_v2_final”
Descriptions
Every metric should have a clear description that answers:
- What does it measure?
- How is it calculated?
- Why does it matter?
- Who should care about it?
- What is the target value?
Example:
Name: Customer Acquisition Cost (CAC)
Description: The average cost to acquire a new customer,
calculated as total sales & marketing spend divided by
new customers acquired in the same period. Target: <$100.
Important for evaluating marketing efficiency and
unit economics. Reviewed monthly by marketing and finance teams.Data Quality
- Validate data sources: Ensure integrations are working
- Check for gaps: Look for missing data periods
- Test calculations: Verify formulas produce expected results
- Monitor regularly: Review metrics weekly for anomalies
- Document changes: Note when you modify metric definitions
Organization
- Use consistent tags: Create a tagging system
- Group by team: Assign metrics to relevant teams
- Create folders: Use naming prefixes for organization
- Set clear owners: Every metric should have an owner
- Regular cleanup: Archive metrics that are no longer used
Advanced Features
Historical Data Import
When creating a metric from an integration, Aim can import historical data:
- Free tier: Last 30 days
- Pro tier: Last 90 days
- Enterprise tier: Last 2 years or more
To import historical data:
- Enable “Import historical data” when creating metric
- Select date range
- Wait for initial sync (5-30 minutes depending on volume)
Metric Alerts
Set up alerts to get notified when metrics change:
Threshold Alerts
- Trigger when value crosses a threshold
- Example: Alert when churn rate > 5%
Anomaly Detection
- AI identifies unusual patterns
- Based on historical trends
- Example: 20% drop in daily active users
Goal Tracking
- Alert when metric hits target
- Example: Notify when revenue exceeds $100K
Configure in: Metrics → [Your Metric] → Alerts tab
Metric Versions
Aim tracks metric definition changes over time:
- View edit history
- See who made changes and when
- Revert to previous versions if needed
- Compare values between versions
Access in: Metrics → [Your Metric] → History tab
Data Lineage
Understand where your metric data comes from:
- Source system and integration
- Any transformations applied
- Related metrics
- Dashboards using this metric
View in: Metrics → [Your Metric] → Lineage tab
Example Metrics by Department
Sales Metrics
- Total Revenue
- Average Deal Size
- Win Rate
- Sales Cycle Length
- Pipeline Value
- Quota Attainment
Marketing Metrics
- Website Traffic
- Conversion Rate
- Cost Per Lead (CPL)
- Marketing Qualified Leads (MQLs)
- Customer Acquisition Cost (CAC)
- Return on Ad Spend (ROAS)
Product Metrics
- Daily Active Users (DAU)
- Monthly Active Users (MAU)
- Feature Adoption Rate
- Time to Value
- User Engagement Score
- Churn Rate
Engineering Metrics
- Deployment Frequency
- Lead Time for Changes
- Mean Time to Recovery (MTTR)
- Change Failure Rate
- Sprint Velocity
- Bug Resolution Time
Finance Metrics
- Monthly Recurring Revenue (MRR)
- Annual Recurring Revenue (ARR)
- Gross Margin
- Burn Rate
- Cash Runway
- Net Revenue Retention
Customer Success Metrics
- Net Promoter Score (NPS)
- Customer Satisfaction (CSAT)
- Customer Lifetime Value (CLV)
- Support Ticket Volume
- First Response Time
- Resolution Rate
Troubleshooting
Metric shows no data
Possible causes:
- Integration hasn’t synced yet (check sync status)
- Date range is outside available data
- Filters are too restrictive
- Source data doesn’t exist for this period
Solutions:
- Check integration sync status in Systems
- Try a different date range
- Remove filters temporarily
- Verify data exists in source system
Calculated metric shows error
Possible causes:
- Division by zero
- Referenced metric doesn’t exist
- Formula syntax error
- Type mismatch (e.g., adding currency to percentage)
Solutions:
- Review formula for syntax errors
- Check that all referenced metrics exist
- Add zero-division protection:
IF(Denominator > 0, Numerator / Denominator, 0) - Ensure consistent units
Values seem incorrect
Possible causes:
- Wrong data source selected
- Incorrect formula
- Time zone differences
- Source data changed
Solutions:
- Compare to source system values
- Check formula logic
- Verify time zone settings match source
- Review metric edit history for recent changes
Next Steps
- Set up OKRs using your metrics
- Add metrics to dashboards
- Create alerts for metric changes
- View all your integrations