OverpayingForAIPricing desk

SQL · 5 checks · max 500 tokens · benched 2026-09-16

Gemini 3.1 Pro Preview vs Gemini 3.8 Flash vs Gemini 3.5 Flash Lite on monthly active users

Google models side by side on "Monthly active users": Gemini 3.5 Flash Lite scores 10/10; Gemini 3.5 Flash Lite is the cheapest answer scoring 8+ at $0.24 per 1,000 runs. Outputs, checks, judge reasons, latency and cost.

The prompt every model received

System

You are a database engineer. Reply with a single SQL statement and nothing else.

User

Table: events(user_id, event_type, occurred_at). Write one PostgreSQL query returning, for each calendar month of 2025, the month (as the first day of that month) and the number of distinct users who had at least one event in that month, ordered by month ascending.

Rubric for the judge: Uses date_trunc('month', occurred_at), COUNT(DISTINCT user_id), a 2025 filter, grouped and ordered by month.

Side by side

Every cell is one OpenRouter call at temperature 0 with the prompt's token cap and reasoning effort "low" where the model supports it. Cost is usage × the catalogue rate in models.json. Quality is one judge call to anthropic/claude-haiku-4.5 against the prompt's rubric, cached per prompt version.

Gemini 3.1 Pro Preview

google/gemini-3.1-pro-preview

1/10
Latency
2.6s
Cost
$0.00611
Per 1,000
$6.11

81 in · 496 out (478 reasoning) · 6 words · checks 1/5

  • regex
  • regex
  • regex
  • regex
  • contains
SELECT DATE_TRUNC('month', occurred_at)::DATE AS month, COUNT

Judge: Output is incomplete and non-functional—missing the FROM clause, WHERE clause for 2025 filter, GROUP BY, ORDER BY, and the COUNT(DISTINCT user_id) expression is cut off.

Gemini 3.8 Flash

google/gemini-3.8-flash

9/10
Latency
724ms
Cost
$0.00053
Per 1,000
$0.53

81 in · 125 out · 31 words · checks 5/5

  • regex
  • regex
  • regex
  • regex
  • contains
```sql
SELECT 
    m.month,
    COUNT(DISTINCT e.user_id) AS distinct_users
FROM 
    generate_series('2025-01-01'::date, '2025-12-01'::date, '1 month'::interval) AS m(month)
LEFT JOIN 
    events e ON date_trunc('month', e.occurred_at) = m.month
GROUP BY 
    m.month
ORDER BY 
    m.month ASC;
```

Judge: Query correctly uses date_trunc('month', occurred_at), COUNT(DISTINCT user_id), filters to 2025, groups and orders by month, and returns the first day of each month; the LEFT JOIN approach is valid and ensures all 12 months appear even with zero events, though a WHERE clause filter would be more con

Gemini 3.5 Flash Lite

google/gemini-3.5-flash-lite

10/10
top judge scorecheapest scoring 8+
Latency
504ms
Cost
$0.00024
Per 1,000
$0.24

81 in · 88 out · 29 words · checks 5/5

  • regex
  • regex
  • regex
  • regex
  • contains
```sql
SELECT DATE_TRUNC('month', occurred_at)::DATE AS month, COUNT(DISTINCT user_id) AS distinct_users FROM events WHERE occurred_at >= '2025-01-01' AND occurred_at < '2026-01-01' GROUP BY DATE_TRUNC('month', occurred_at) ORDER BY month ASC;
```

Judge: Query correctly uses date_trunc('month', occurred_at), COUNT(DISTINCT user_id), filters for 2025, groups and orders by month as required by the rubric.

Frequently asked

What does this prompt test?

SQL: Uses date_trunc('month', occurred_at), COUNT(DISTINCT user_id), a 2025 filter, grouped and ordered by month. The deterministic checks are regex, regex, regex, regex, contains.

Which model should I pick for this task?

If the judge's bar of 8/10 is good enough for you, Gemini 3.5 Flash Lite at $0.24 per 1,000 runs. If you need the top score, Gemini 3.5 Flash Lite at $0.24 per 1,000 runs.

If our calculators helped you cut down on hidden AI wallet leaks, thanks for using them. A tiny fraction of your savings is what keeps our pricing indexes updated daily.

Not sure which AI is cheapest for your use case? Find out in 30 seconds — no signup required.

AI cost intelligence

Stop overpaying for AI tools

Join the OverpayingForAI list for pricing updates, cheaper alternatives, and practical buying guidance.

Now tracking 50+ AI tools, models, platforms, subscriptions, coding tools, and automation products.

We use your email only for OverpayingForAI updates. Unsubscribe anytime.