Usage Metering

Data usage is automatically metered, providing precise billing, transparent usage tracking, and predictable costs for AI labs and data holders.

How usage metering works

Xase's Usage Metering system automatically tracks how data is used, providing precise billing without manual intervention.

The metering system records:

  • Records accessed — Number of data points/records accessed
  • Volume — Total data size in GB/TB
  • Duration — Time spent using the data
  • Operations — Computational operations performed
  • Sessions — Number of access sessions

This creates automatic billing with no manual tracking needed.

Billing dimensions

1. Time-Based Metrics

Usage is measured based on time:

{
  "session_id": "sess_7f6e5d4c",
  "time_metrics": {
    "session_duration_hours": 6.25,
    "active_time_minutes": 217.4,
    "idle_time_minutes": 157.6,
    "time_rate": "$10/hour"
  }
}

2. Volume-Based Metrics

Usage based on data volume:

{
  "session_id": "sess_7f6e5d4c",
  "volume_metrics": {
    "records_accessed": 15273,
    "total_data_gb": 2.47,
    "record_rate": "$0.001/record",
    "volume_rate": "$5/GB"
  }
}

3. Operation-Based Metrics

Usage based on operations performed:

{
  "session_id": "sess_7f6e5d4c",
  "operation_metrics": {
    "read_operations": 157,
    "filter_operations": 23,
    "transform_operations": 45,
    "train_operations": 89,
    "operation_rate": "$0.005/operation"
  }
}

4. Special Metrics

Domain-specific metrics:

{
  "session_id": "sess_7f6e5d4c",
  "special_metrics": {
    "healthcare_patient_records": 4739,
    "healthcare_rate": "$0.02/patient",
    "financial_transactions": 8214,
    "financial_rate": "$0.01/transaction"
  }
}

Accessing usage data

Session Usage

Access usage data for a specific session:

import xase

client = xase.Client(api_key="sk_...")

# Get session usage
session_usage = client.billing.get_session_usage("sess_7f6e5d4c")
print(f"Duration: ${session_usage.time_metrics.session_duration_hours} hours")
print(f"Records: ${session_usage.volume_metrics.records_accessed}")
print(f"Estimated cost: $${session_usage.estimated_cost}")

# Get usage breakdown
usage_breakdown = session_usage.get_breakdown()
for category, cost_amount in usage_breakdown.items():
    print(f"${category}: $${cost_amount}")

Usage Reports

Generate usage reports for time periods:

# Generate monthly usage report
usage_report = client.billing.generate_usage_report(
    start_date="2026-01-01",
    end_date="2026-01-31",
    dataset_id="dataset_medical_records_2025",
    format="csv"  # or "json", "pdf"
)

# Save the report
usage_report.download("./january_usage_report.csv")

# Get aggregated metrics
usage_metrics = client.billing.get_aggregated_metrics(
    start_date="2026-01-01",
    end_date="2026-01-31"
)
print(f"Total sessions: ${usage_metrics.total_sessions}")
print(f"Total records: ${usage_metrics.total_records}")
print(f"Total hours: ${usage_metrics.total_hours}")
print(f"Total cost: $${usage_metrics.total_cost}")

Real-Time Monitoring

Monitor usage in real-time:

# Get active sessions
active_sessions = client.sessions.list(status="ACTIVE")

# Monitor usage in real-time
for session_obj in active_sessions:
    realtime_usage = client.billing.get_session_usage(session_obj.id)
    print(f"Session ${session_obj.id}")
    print(f"Runtime: ${realtime_usage.time_metrics.session_duration_hours} hours")
    print(f"Current cost: $${realtime_usage.estimated_cost}")
    
    # Set usage alerts
    client.billing.set_usage_alert(
        session_id=session_obj.id,
        threshold_amount=100,  # USD
        notification_email="alerts@company.com"
    )

Billing models

Pay-per-Use

Standard pricing based on exact usage metrics with no minimums. Ideal for variable or experimental usage.

Usage Tiers

Volume discounts automatically applied as usage increases, with rates decreasing at higher tiers.

Committed Use

Discounted rates for upfront commitments to a certain usage level, with flexible terms.

Custom Pricing

For enterprise clients with unique requirements, custom pricing models can be configured.

Next steps

© 2025 Xasefounders@xase.ai