AI Assist paid licence sales: total net paid AI Assist licences sold as of 18 September 2026, broken down by region (UK, NA including Canada and US, APAC, France, South Africa), split by partner vs direct, plus licences ended since 23 April
Basis: Net paid AI Assist licence units, using contracted AI Assist client limits; ended licences use gross, 18 Sep 2026 snapshot; ended licences from 23 Apr through 18 Sep 2026 inclusive. Governed filters applied. Every row's «Direct Licences Ended Since 23 April 2026» came back as 0. That is usually a wrong segment filter rather than a real zero.
Per-step detail — each LLM call, each Omni request, each rejected draft —
is traced to stdout only and is not stored, so it cannot be shown here.
Query attempts counts run_query executions, not model turns.
WITH current_booking_grain AS (
SELECT DISTINCT
CASE
WHEN omni_dbt__eds_all_accounts."SALESFORCE_COUNTRY" = 'South Africa' THEN 5
WHEN omni_dbt__eds_all_accounts."FINANCE_COUNTRY_GROUPING" = 'UK' THEN 1
WHEN omni_dbt__eds_all_accounts."FINANCE_COUNTRY_GROUPING" IN ('Canada', 'US') THEN 2
WHEN omni_dbt__eds_all_accounts."FINANCE_COUNTRY_GROUPING" = 'APAC' THEN 3
WHEN omni_dbt__eds_all_accounts."FINANCE_COUNTRY_GROUPING" = 'France' THEN 4
ELSE NULL
END AS "Region Code",
omni_dbt__eds_all_accounts."FINANCE_ACCOUNT_TYPE" AS "Finance Account Type",
omni_dbt__eds_bookings."PRIMARY_KEY" AS "Booking Primary Key",
omni_dbt__eds_bookings."AI_ASSIST_CONTRACT_CLIENT_LIMIT" AS "Paid AI Assist Licences"
FROM PROD."EDS_ALL_ACCOUNTS" AS omni_dbt__eds_all_accounts
INNER JOIN PROD."EDS_CALENDAR_DAY" AS omni_dbt__eds_calendar_day
ON omni_dbt__eds_calendar_day."DATE_DAY" >= omni_dbt__eds_all_accounts."VALID_FROM" AND omni_dbt__eds_calendar_day."DATE_DAY" <= omni_dbt__eds_all_accounts."VALID_TO"
LEFT JOIN PROD."EDS_BOOKINGS" AS omni_dbt__eds_bookings
ON omni_dbt__eds_all_accounts."DERIVED_ACCOUNT_ID" = omni_dbt__eds_bookings."DERIVED_ACCOUNT_ID" AND omni_dbt__eds_calendar_day."DATE_DAY" >= omni_dbt__eds_bookings."VALID_FROM" AND omni_dbt__eds_calendar_day."DATE_DAY" <= omni_dbt__eds_bookings."VALID_TO"
WHERE omni_dbt__eds_calendar_day."DATE_DAY" = DATE_FROM_PARTS(2026, 9, 18)
AND omni_dbt__eds_all_accounts."FINANCE_ACCOUNT_TYPE" IN ('Accountant', 'Corporate')
AND (omni_dbt__eds_all_accounts."FINANCE_ACCOUNT_TYPE" = 'Accountant' OR omni_dbt__eds_bookings."HAS_PAID_SUBSCRIPTION" = TRUE)
AND omni_dbt__eds_bookings."AI_ASSIST_ADDON" = TRUE
AND omni_dbt__eds_bookings."AI_ASSIST_CONTRACT_CLIENT_LIMIT" > 0
AND COALESCE(omni_dbt__eds_all_accounts."IS_DEXT_DEMO", FALSE) = FALSE
AND omni_dbt__eds_all_accounts."FRANCHISE_NAME" IS NULL
AND (omni_dbt__eds_all_accounts."SALESFORCE_ACCOUNT_TYPE" != 'Reseller' OR omni_dbt__eds_all_accounts."SALESFORCE_ACCOUNT_TYPE" IS NULL)
), current_totals AS (
SELECT
"Region Code" AS "Region Code",
SUM(CASE WHEN "Finance Account Type" = 'Accountant' THEN "Paid AI Assist Licences" ELSE 0 END) AS "Partner Paid Licences",
SUM(CASE WHEN "Finance Account Type" = 'Corporate' THEN "Paid AI Assist Licences" ELSE 0 END) AS "Direct Paid Licences"
FROM current_booking_grain
WHERE "Region Code" IS NOT NULL
GROUP BY "Region Code"
), ended_change_grain AS (
SELECT
CASE
WHEN omni_dbt__eds_all_accounts."SALESFORCE_COUNTRY" = 'South Africa' THEN 5
WHEN omni_dbt__eds_all_accounts."FINANCE_COUNTRY_GROUPING" = 'UK' THEN 1
WHEN omni_dbt__eds_all_accounts."FINANCE_COUNTRY_GROUPING" IN ('Canada', 'US') THEN 2
WHEN omni_dbt__eds_all_accounts."FINANCE_COUNTRY_GROUPING" = 'APAC' THEN 3
WHEN omni_dbt__eds_all_accounts."FINANCE_COUNTRY_GROUPING" = 'France' THEN 4
ELSE NULL
END AS "Region Code",
omni_dbt__eds_all_accounts."FINANCE_ACCOUNT_TYPE" AS "Finance Account Type",
omni_dbt__eds_bookings_addon_changes."DERIVED_ACCOUNT_DAY_KEY" AS "AI Assist Change Key",
MAX(CASE WHEN omni_dbt__eds_all_accounts."FINANCE_ACCOUNT_TYPE" = 'Accountant' THEN 1 WHEN omni_dbt__eds_all_accounts."FINANCE_ACCOUNT_TYPE" = 'Corporate' AND omni_dbt__eds_bookings."HAS_PAID_SUBSCRIPTION" = TRUE THEN 1 ELSE 0 END) AS "Eligible Paid Segment",
MAX(omni_dbt__eds_bookings_addon_changes."AI_ASSIST_CLIENT_LIMIT_CHANGE_AMOUNT") AS "AI Assist Licence Change"
FROM PROD."EDS_ALL_ACCOUNTS" AS omni_dbt__eds_all_accounts
INNER JOIN PROD."EDS_CALENDAR_DAY" AS omni_dbt__eds_calendar_day
ON omni_dbt__eds_calendar_day."DATE_DAY" >= omni_dbt__eds_all_accounts."VALID_FROM" AND omni_dbt__eds_calendar_day."DATE_DAY" <= omni_dbt__eds_all_accounts."VALID_TO"
LEFT JOIN PROD."EDS_BOOKINGS" AS omni_dbt__eds_bookings
ON omni_dbt__eds_all_accounts."DERIVED_ACCOUNT_ID" = omni_dbt__eds_bookings."DERIVED_ACCOUNT_ID" AND omni_dbt__eds_calendar_day."DATE_DAY" >= omni_dbt__eds_bookings."VALID_FROM" AND omni_dbt__eds_calendar_day."DATE_DAY" <= omni_dbt__eds_bookings."VALID_TO"
LEFT JOIN PROD."EDS_BOOKINGS_ADDON_CHANGES" AS omni_dbt__eds_bookings_addon_changes
ON omni_dbt__eds_all_accounts."DERIVED_ACCOUNT_ID" = omni_dbt__eds_bookings_addon_changes."DERIVED_ACCOUNT_ID"
and omni_dbt__eds_calendar_day."DATE_DAY" = omni_dbt__eds_bookings_addon_changes."CHANGE_DATE"
WHERE omni_dbt__eds_calendar_day."DATE_DAY" >= DATE_FROM_PARTS(2026, 4, 23)
AND omni_dbt__eds_calendar_day."DATE_DAY" <= DATE_FROM_PARTS(2026, 9, 18)
AND omni_dbt__eds_all_accounts."FINANCE_ACCOUNT_TYPE" IN ('Accountant', 'Corporate')
AND omni_dbt__eds_bookings_addon_changes."AI_ASSIST_CLIENT_LIMIT_CHANGE_AMOUNT" < 0
AND COALESCE(omni_dbt__eds_all_accounts."IS_DEXT_DEMO", FALSE) = FALSE
AND omni_dbt__eds_all_accounts."FRANCHISE_NAME" IS NULL
AND (omni_dbt__eds_all_accounts."SALESFORCE_ACCOUNT_TYPE" != 'Reseller' OR omni_dbt__eds_all_accounts."SALESFORCE_ACCOUNT_TYPE" IS NULL)
GROUP BY "Region Code", "Finance Account Type", "AI Assist Change Key"
), ended_totals AS (
SELECT
"Region Code" AS "Region Code",
SUM(CASE WHEN "Finance Account Type" = 'Accountant' THEN -"AI Assist Licence Change" ELSE 0 END) AS "Partner Ended Licences",
SUM(CASE WHEN "Finance Account Type" = 'Corporate' THEN -"AI Assist Licence Change" ELSE 0 END) AS "Direct Ended Licences"
FROM ended_change_grain
WHERE "Eligible Paid Segment" = 1 AND "Region Code" IS NOT NULL
GROUP BY "Region Code"
), requested_regions AS (
SELECT column1 AS "Region Code" FROM VALUES (1), (2), (3), (4), (5)
), combined AS (
SELECT
requested_regions."Region Code" AS "Region Code",
COALESCE(current_totals."Partner Paid Licences", 0) AS "Partner Paid Licences",
COALESCE(current_totals."Direct Paid Licences", 0) AS "Direct Paid Licences",
COALESCE(ended_totals."Partner Ended Licences", 0) AS "Partner Ended Licences",
COALESCE(ended_totals."Direct Ended Licences", 0) AS "Direct Ended Licences"
FROM requested_regions
LEFT JOIN current_totals ON requested_regions."Region Code" = current_totals."Region Code"
LEFT JOIN ended_totals ON requested_regions."Region Code" = ended_totals."Region Code"
)
SELECT
"Region Code" AS "Region Code",
"Partner Paid Licences" AS "Partner Paid AI Assist Licences as of 18 September 2026",
"Direct Paid Licences" AS "Direct Paid AI Assist Licences as of 18 September 2026",
"Partner Paid Licences" + "Direct Paid Licences" AS "Total Paid AI Assist Licences as of 18 September 2026",
"Partner Ended Licences" AS "Partner Licences Ended Since 23 April 2026",
"Direct Ended Licences" AS "Direct Licences Ended Since 23 April 2026",
"Partner Ended Licences" + "Direct Ended Licences" AS "Total Licences Ended Since 23 April 2026",
SUM("Partner Paid Licences" + "Direct Paid Licences") OVER () AS "All-region Paid AI Assist Licences",
SUM("Partner Ended Licences" + "Direct Ended Licences") OVER () AS "All-region Licences Ended"
FROM combined
ORDER BY "Region Code"
LIMIT 5
No feedback linked to this request.
Cost is the LLM completion spend LiteLLM priced for each call, summed per
request.
Chandler is running on the Codex CLI, which draws ChatGPT plan quota
rather than per-token API billing, so this figure is not money paid —
it is what the same traffic would have cost on the API, priced from the
token counts Codex reports. Read it as the size of the bill avoided.
Two known limits: embedding spend is not recorded, so
retrieval and matching cost is missing, and because the figure is one sum
per request it cannot be split by model within a request — a
request's classifier and agent calls can use different models while
llm_model holds only one name.
Only authenticated calls are logged, USAGE_LOG_ENABLED can
switch logging off, and log writes are fail-soft — this is not a complete
record of traffic. Questions are grouped into sessions: a session is
exact when the caller echoed its id back to us and otherwise inferred from
a 30-minute gap in that user’s activity, so a grouping is only as
good as the source shown on the session itself. A call with no
attributable user gets no session at all; those questions are listed
separately rather than dropped.