M
Meza AI

📈 Usage Model

Track feature utilization against subscription limits.

💡 Note

Configure Plans and Subscriptions first to enable license utilization calculations.

Overview

The Usage Model tracks how customers utilize features and resources within your product. By comparing usage against subscription limits (from the Plans Model), Meza AI calculates license utilization to identify upsell opportunities and at-risk accounts.

High utilization (80%+) often indicates expansion readiness. Low utilization may signal churn risk or a need for better onboarding.

Key Fields

FieldTypeDescriptionRequired
account_idStringCustomer accountYes
dimensionStringWhat is being measuredYes
valueNumberCurrent utilization valueYes
timestampTimestampWhen measuredYes

Common Dimensions

Track the same dimensions defined in your Plans Model:

DimensionDescriptionExample Value
usersNumber of active users8
storage_gbStorage consumed in GB35.5
api_calls_monthlyAPI calls this month7500
projectsNumber of projects4
seatsLicensed seats used45

License Utilization

Meza AI automatically calculates license utilization:

Utilization = (Current Usage / Plan Limit) × 100%

0-60%

Low utilization

Monitor adoption

60-80%

Healthy utilization

Normal usage

80%+

High utilization

Upsell opportunity!

Configuration Steps

1

Navigate to Data Models

Go to ConfigurationData Models.

2

Configure Usage Model

Click Configure on the Usage Model card.

3

Write Query

Write SQL to retrieve current usage values per dimension.

4

Match Plan Dimensions

Ensure dimension names match those in your Plans Model.

5

Save Model

Test and save the model.

Example SQL Query

-- Query for multiple dimensions
SELECT 
  account_id,
  'users' AS dimension,
  COUNT(DISTINCT user_id) AS value,
  NOW() AS timestamp
FROM users
WHERE status = 'active'
GROUP BY account_id

UNION ALL

SELECT 
  account_id,
  'storage_gb' AS dimension,
  SUM(file_size_bytes) / 1073741824.0 AS value,
  NOW() AS timestamp
FROM files
GROUP BY account_id

UNION ALL

SELECT 
  account_id,
  'api_calls_monthly' AS dimension,
  COUNT(*) AS value,
  NOW() AS timestamp
FROM api_logs
WHERE created_at >= DATE_TRUNC('month', NOW())
GROUP BY account_id

✅ Tip

Set up Signals to alert your team when utilization exceeds 80% — these accounts are prime for expansion conversations.

What's Next?