Hi all,
As the AI Builder team has been receiving questions on how to track credit consumption per model, here is what you can do as of today to build a Power BI report that tracks consumption per model type and per model, leveraging the Dataverse AI Event table:
- Find and copy the environment URL (in Power Platform Admin Center -> Environments -> <Env name> -> Details)
- Open Power BI desktop
- Select "Common Data Service (Legacy)" as data source
- Enter environment URL (do not forget the https:// and the / at the end)
- Select tables/entities msdyn_aievent, msdyn_aitemplate and msdyn_aimodel
- In the Model view, establish a many to one relationship between table msdyn_AIModel column msdyn_templateid and table msdyn_AITemplate column msdyn_aitemplateid
- In the Report view, add a Matrix visualization
- Select “msdyn_uniquename” (from msdyn_AITemplate) and “msdyn_name” (from msdyn_AIModel) as rows, “month” from date hierarchy of msdyn_processingdate (from msdyn_AIEvent) as columns, and Sum of “msdyn_creditconsumed” (from msdyn_AIEvent) as values: this will show the monthly consumption per model type (prebuilt models) & per model (custom models)
You can of course change the processing date hierarchy to fit you needs, or change the type of visualization.

Some additional info:
- admins see all data, makers see only their own;
- <blank> model id/type is when a model has been deleted;
- check out Monitor model activity (preview) | Microsoft Learn for the official documentation;
- the AI Builder consumption report - AI Builder | Microsoft Learn remains the source of truth for credit consumption tracking as some consumptions are not recorded in the AI Event table (ex: object detection training, prediction models consumption, errors when recording the predicts in the table etc).
Hope that helps !
JK from the AI Builder team
[October 2025 update]
To track Copilot Credits consumption of AI Builder models and prompts, you can add a calculated column in your Power BI report:
In the Table view, for the msdyn_AIEvent table, add a "CopilotCreditConsumption" column with
CopilotCreditConsumption =
VAR jsonText = [msdyn_eventdata]
VAR startPos = FIND("""consumption"":", jsonText, 1, -1)
RETURN
IF(
startPos > 0,
VALUE(
SUBSTITUTE(
MID(
jsonText,
startPos + LEN("""consumption"":"),
FIND("}", jsonText & "}", startPos) - startPos - LEN("""consumption"":")
),
"}", ""
)
),
0
)
You can then use these values to track Copilot Credit consumption.