Skip to content

Usage Reports

The Usage page in Admin Bud-E provides detailed logs of every request, allowing you to:

  • Monitor spending by user, project, or time period
  • Identify high-cost operations
  • Generate reports for accounting or auditing
  • Debug issues with specific requests
  • Export data for external analysis

Accessing Usage Reports

  1. Log into Admin Bud-E dashboard
  2. Navigate to Usage in the main menu
  3. Apply filters (optional)
  4. Click Preview to view in browser or Export to download

Report Filters

Date Range

Start Date & End Date:

  • Leave both empty → Current calendar month (default)
  • Set start only → From start date to today
  • Set end only → From beginning of time to end date
  • Set both → Specific date range

Default Date Behavior

If no dates are specified, Admin Bud-E automatically uses:

  • Start: First day of current month (e.g., December 1)
  • End: Today

This prevents accidentally generating massive reports spanning all history.

Examples:

Start DateEnd DateResult
(empty)(empty)Current month to date
2024-11-01(empty)Nov 1 to today
(empty)2024-10-31All time until Oct 31
2024-09-012024-09-30September only

Project Filter

Select one or more projects from the dropdown to view only those projects' usage.

Use cases:

  • Compare department spending
  • Audit a specific class
  • Generate invoices per project

User Filter

Select specific user(s) to view their individual usage.

Use cases:

  • Investigate unusually high usage
  • Generate per-user reports
  • Verify credit deductions
  • Support requests ("Why was I charged X?")

Service Type Filter

Filter by request type:

  • LLM — Text generation
  • VLM — Vision/multimodal
  • TTS — Text-to-speech
  • ASR — Speech recognition

Use cases:

  • Identify most expensive service type
  • Optimize pricing per type
  • Plan infrastructure scaling

Provider Filter

Show requests handled by specific provider(s):

  • vertex
  • together
  • mistral
  • openai
  • etc.

Use cases:

  • Compare provider costs
  • Verify failover behavior
  • Debug provider-specific issues

Report Columns

Usage reports typically include:

ColumnDescription
TimestampWhen the request was made
UserUsername who made the request
ProjectProject the user belongs to
Service TypeLLM, VLM, TTS, or ASR
ProviderWhich provider handled it
ModelSpecific model used
Input TokensTokens in the request (LLM/VLM)
Output TokensTokens in the response (LLM/VLM)
CharactersCharacter count (TTS)
DurationAudio length in seconds (ASR)
CreditsTotal credits deducted
StatusSuccess, Error, Rate Limited, etc.

Sorting Reports

Click column headers to sort:

  • Timestamp: Chronological order
  • Credits: Highest cost first
  • User: Alphabetical
  • Provider: Group by provider

TIP

Sort by Credits descending to quickly identify your most expensive requests.

Preview vs. Export

Preview (Browser View)

Click Preview to view results in the Admin UI.

Characteristics:

  • Limited to 100-500 rows (configurable)
  • Fast, interactive
  • Good for quick checks
  • Supports sorting and pagination

Best for:

  • Quick audits
  • Spot-checking recent usage
  • Investigating specific users/projects

Export (Download)

Click Export to download the full dataset.

Formats:

  • CSV — Spreadsheet-compatible (Excel, Google Sheets)
  • PDF — Formatted report with charts (if available)
  • ZIP — Bulk export with multiple files (for large datasets)

Best for:

  • Accounting and invoicing
  • Long-term archival
  • External analysis (Python, R, etc.)
  • Sharing with stakeholders

Export Formats

CSV Export

Contents:

  • All matching records (no row limit)
  • Comma-separated values
  • Headers in first row

Use with:

  • Excel: File → Open → Select CSV
  • Google Sheets: File → Import → Upload CSV
  • Python: pandas.read_csv()
  • R: read.csv()

PDF Export

Contents:

  • Formatted tables
  • Summary statistics (total cost, request count, etc.)
  • Optional charts (usage over time, by user, by type)

Use for:

  • Presentation to management
  • Monthly reports
  • Archival (with digital signature)

ZIP Export (Bulk)

For very large date ranges or multiple projects, Admin Bud-E may generate multiple files.

Contents:

  • Multiple CSV files (split by project or date)
  • Optional summary PDF
  • README with file descriptions

Usage Examples

Example 1: Monthly Spending Report

Goal: See total spending for October 2024.

Steps:

  1. Navigate to Usage
  2. Set Start Date: 2024-10-01
  3. Set End Date: 2024-10-31
  4. Leave other filters empty (all users/projects)
  5. Click Export CSV

Result:

  • Download CSV with all October requests
  • Open in Excel
  • Sum Credits column for total

Example 2: Per-User Audit

Goal: Investigate why User "teacher-jones" has high usage.

Steps:

  1. Navigate to Usage
  2. Set User Filter: teacher-jones
  3. Leave dates empty (current month)
  4. Click Preview

Result:

  • See all requests by teacher-jones this month
  • Sort by Credits descending
  • Identify expensive operations (e.g., long TTS, many VLM requests)

Example 3: Project Comparison

Goal: Compare spending across "Teachers" and "Students" projects.

Steps:

  1. Navigate to Usage
  2. Export separate reports:
    • Filter by Project: Teachers → Export
    • Filter by Project: Students → Export
  3. Open both CSVs
  4. Sum Credits in each

Result:

  • Teachers spent 12,450 credits
  • Students spent 8,230 credits
  • Total: 20,680 credits

Example 4: Identify Most Expensive Service

Goal: Determine whether LLM, VLM, TTS, or ASR costs most.

Steps:

  1. Navigate to Usage
  2. Export CSV with all data (no filters)
  3. Open in Excel or Google Sheets
  4. Create a pivot table:
    • Rows: Service Type
    • Values: Sum of Credits

Result:

  • LLM: 8,000 credits (40%)
  • VLM: 5,000 credits (25%)
  • TTS: 6,000 credits (30%)
  • ASR: 1,000 credits (5%)
  • TTS is unexpectedly high → investigate TTS usage patterns

Detailed Request View

Some Admin Bud-E versions support clicking on individual requests to see more details:

Request Details:

  • Full request payload (if logged)
  • Response summary
  • Exact credit calculation
  • Provider response time
  • Error messages (if failed)

Use cases:

  • Debugging failed requests
  • Understanding why a request was expensive
  • Verifying correct pricing
  • Support tickets

Common Use Cases

1. Monthly Accounting

Workflow:

  1. On the 1st of each month, export previous month's data
  2. Calculate total credits consumed
  3. Multiply by your internal rate (if charging back)
  4. Generate invoice or budget report
  5. Archive CSV for records

2. User Support

Scenario: User reports "I was charged too much."

Workflow:

  1. Filter by user
  2. Find the date range in question
  3. Review detailed logs
  4. Identify the expensive request(s)
  5. Explain to user (e.g., "You processed 10 images" or "Long TTS audio")

3. Budget Monitoring

Workflow:

  1. Set up a weekly reminder
  2. Export current month usage
  3. Compare to monthly budget
  4. Project end-of-month total
  5. Adjust allowances or refill common pool if needed

Example:

  • Today: Oct 15
  • Usage so far: 12,000 credits
  • Pace: 12,000 ÷ 15 days = 800/day
  • Projected month-end: 800 × 31 = 24,800 credits
  • Budget: 20,000 credits
  • Action: Reduce allowances or add budget

4. Provider Performance

Goal: Compare reliability and cost across providers.

Workflow:

  1. Export usage for a month
  2. Pivot by Provider and Status
  3. Calculate:
    • Success rate per provider
    • Average cost per request
    • Failover frequency

Example:

ProviderTotal RequestsSuccessesFailuresSuccess RateAvg Cost
vertex1,2001,1802098.3%0.012
together8007505093.8%0.009
mistral2001901095.0%0.015

Insight: Vertex is most reliable, Together is cheapest.

5. Pricing Verification

Goal: Verify pricing is configured correctly.

Workflow:

  1. Make a test request with known token count
  2. Calculate expected cost manually:
    Input: 1,000 tokens × ($0.075 / 1M) = $0.000075
    Output: 500 tokens × ($0.30 / 1M) = $0.00015
    Total: $0.000225
  3. Check usage report for actual deduction
  4. Compare: should match within rounding

Advanced Analysis

Using Pandas (Python)

python
import pandas as pd

# Load CSV
df = pd.read_csv('usage_report.csv')

# Total spending
total = df['Credits'].sum()
print(f"Total: {total} credits")

# By user
by_user = df.groupby('User')['Credits'].sum().sort_values(ascending=False)
print("Top 10 users:")
print(by_user.head(10))

# By service type
by_type = df.groupby('Service Type')['Credits'].sum()
print("\nBy service type:")
print(by_type)

# Daily usage
df['Date'] = pd.to_datetime(df['Timestamp']).dt.date
daily = df.groupby('Date')['Credits'].sum()
print("\nDaily spending:")
print(daily)

Using Excel

Pivot Table:

  1. Insert → PivotTable
  2. Drag User to Rows
  3. Drag Credits to Values (Sum)
  4. Sort descending

Chart:

  1. Select date and credits columns
  2. Insert → Line Chart
  3. Shows spending trend over time

Performance Considerations

Large Reports

For date ranges with millions of requests:

  • Preview may timeout → use Export instead
  • CSV export is faster than PDF
  • Consider splitting by month or project

Real-Time vs. Cached

Usage data may be:

  • Real-time: Queries database on each request (slower, always current)
  • Cached: Pre-computed hourly/daily (faster, slight delay)

Check your Admin Bud-E version documentation.

Privacy and Security

Logged Data

Usage reports typically do not include:

  • Full conversation content
  • User prompts (unless explicitly enabled)
  • API responses

Reports include:

  • Metadata (tokens, characters, duration)
  • Timestamps, user IDs, costs
  • Error messages (no sensitive data)

INFO

Conversation history stays in the user's browser, not on the server. Usage logs are purely for accounting.

Access Control

Only authenticated admins can access usage reports. Ensure:

  • Strong admin password
  • Regular password rotation
  • Limited admin accounts
  • Audit log of admin actions (if available)

Data Retention

Configure data retention policies:

  • Short-term: 90 days (minimal storage)
  • Medium-term: 1 year (recommended for auditing)
  • Long-term: 5-7 years (for compliance, GDPR, etc.)

Check local regulations and organizational policies.

Troubleshooting

Issue: No Data Showing

Possible causes:

  1. Filters too restrictive → remove filters
  2. Date range is empty → check dates
  3. No usage in selected period → verify users are active
  4. Database connection issue → check logs

Issue: Default Date Range Wrong

Expected: See all October data Actual: Only seeing October 1-15

Cause: Default is "current month to date"

Solution: Explicitly set end date to last day of month.

Issue: Export Fails / Timeout

Possible causes:

  1. Date range too large
  2. Server under load
  3. Insufficient permissions

Solutions:

  1. Narrow date range (month by month)
  2. Export during off-peak hours
  3. Verify admin account has export permission

Issue: Credits Don't Match Invoice

Scenario: Report shows 10,000 credits, but provider invoice says $150 (expected ~$100).

Possible causes:

  1. Pricing not configured correctly
  2. Markup applied
  3. Provider charges additional fees (API calls, storage)
  4. Currency conversion

Solution:

  1. Verify pricing entries match provider rates
  2. Check for markup in your configuration
  3. Compare line-by-line with provider invoice
  4. Account for provider's own fees (separate from usage)

Next Steps