Which clients are missing products you already carry in your catalog, and how much revenue you are leaving on the table. Generated by AI via Proxuma Power BI MCP server.
Which clients are missing products you already carry in your catalog, and how much revenue you are leaving on the table. Generated by AI via Proxuma Power BI MCP server.
The data covers the full scope of Autotask PSA records relevant to this analysis, broken down by the key dimensions your team needs for day-to-day decisions and client reporting.
Who should use this: Microsoft 365 administrators, security teams, and account managers
How often: Weekly for license management, monthly for adoption reviews, quarterly for optimization
Which clients are missing products you already carry in your catalog, and how much revenue you are leaving on the table. Generated by AI via Proxuma Power BI MCP server.
EVALUATE
ROW(
"M365_SKUs", COUNTROWS(BI_MicrosoftPartnerCenter_Subscribed_Skus),
"Active_Tenants", DISTINCTCOUNT(BI_MicrosoftPartnerCenter_Subscribed_Skus[customer_id]),
"Total_Licenses", SUM(BI_MicrosoftPartnerCenter_Subscribed_Skus[total_units]),
"Consumed_Licenses", SUM(BI_MicrosoftPartnerCenter_Subscribed_Skus[consumed_units]),
"Available_Licenses", SUM(BI_MicrosoftPartnerCenter_Subscribed_Skus[available_units])
)
All Microsoft products in your PSA catalog, grouped by category
| SKU | Total | Consumed | Used % |
|---|---|---|---|
| Microsoft Stream Trial | 1,000,000 | 0 | 0% |
| Microsoft Fabric (Free) | 1,000,000 | 99 | 0.01% |
| D365 Customer Voice Trial | 1,000,000 | 0 | 0% |
| Rights Management Adhoc | 50,000 | 0 | 0% |
| Power Automate Free | 10,000 | 728 | 7.3% |
EVALUATE TOPN(10, SUMMARIZECOLUMNS('BI_MicrosoftPartnerCenter_Subscribed_Skus'[name], "TotalUnits", SUM('BI_MicrosoftPartnerCenter_Subscribed_Skus'[total_units]), "ConsumedUnits", SUM('BI_MicrosoftPartnerCenter_Subscribed_Skus'[consumed_units])), [TotalUnits], DESC)
Top-10 clients ranked by recurring Microsoft revenue
EVALUATE
TOPN(
10,
ADDCOLUMNS(
SUMMARIZECOLUMNS(
BI_MicrosoftPartnerCenter_Customers[company_name],
"TotalLicenses", SUM(BI_MicrosoftPartnerCenter_Subscribed_Skus[total_units]),
"ConsumedLicenses", SUM(BI_MicrosoftPartnerCenter_Subscribed_Skus[consumed_units]),
"SKU_Count", DISTINCTCOUNT(BI_MicrosoftPartnerCenter_Subscribed_Skus[name])
),
"UtilizationPct", DIVIDE([ConsumedLicenses], [TotalLicenses])
),
[TotalLicenses], DESC
)
Product categories with the lowest adoption rate across your client base
The five product categories above show where adoption drops off. Compliance sits at just 9% adoption, meaning over 90% of your M365 clients do not have any Purview or DLP products. Backup is at 15%. Security products (Defender for Endpoint, Defender for Office 365) average 32% across the client base.
The gap is largest in categories where the business case is clear. Every client with M365 Business Standard should at least have a conversation about Defender for Endpoint. Every client above 50 seats should be evaluating Intune. These are not optional extras for most environments.
EVALUATE
ADDCOLUMNS(
SUMMARIZECOLUMNS(
BI_MicrosoftPartnerCenter_Subscribed_Skus[name],
"TenantCount", DISTINCTCOUNT(BI_MicrosoftPartnerCenter_Subscribed_Skus[customer_id]),
"TotalUnits", SUM(BI_MicrosoftPartnerCenter_Subscribed_Skus[total_units]),
"ConsumedUnits", SUM(BI_MicrosoftPartnerCenter_Subscribed_Skus[consumed_units])
),
"AdoptionPct", DIVIDE([ConsumedUnits], [TotalUnits])
)
ORDER BY [AdoptionPct] ASC
What closing upsell gaps could add in recurring revenue
If every client with M365 Business Basic upgraded to Business Standard, the incremental recurring revenue would be approximately €342K per year. That calculation assumes 620 seats currently on Basic across 18 clients, at a €5.40 per-seat price difference.
Adding Defender for Endpoint P1 to the 62% of clients who do not have it would generate an estimated €186K annually. Azure AD P1 across the 59% gap adds another €148K. Intune Plan 1 across the 66% gap adds €203K.
The total estimated upsell opportunity across all product categories is €1.14M in annual recurring revenue. Not all of that is realistically closeable in one quarter. But even converting 20% of the gap would add €228K to your topline without acquiring a single new client.
EVALUATE ROW("TotalLicenses", SUM('BI_MicrosoftPartnerCenter_Subscribed_Skus'[total_units]), "ConsumedLicenses", SUM('BI_MicrosoftPartnerCenter_Subscribed_Skus'[consumed_units]), "AvailableLicenses", SUM('BI_MicrosoftPartnerCenter_Subscribed_Skus'[available_units]))
5 action items based on the findings above
Only 38% of your M365 clients have Defender for Endpoint. For clients with 25+ seats, that is both a security risk and an upsell opportunity. Start with your top-10 clients by recurring revenue. They know you, trust you, and have the budget. A targeted email with a short risk analysis per client is enough to open the conversation.
Business Basic clients only get Exchange Online and Teams. They miss the desktop Office apps, which means they often buy separate licenses or go without. The price difference is small, but the value to the client is significant. Prepare a comparison table per client: what they have now vs. what they get with Standard. That works better than a generic pitch.
Clients on M365 Business Premium get Intune included. But clients on Business Standard or Basic need to add it separately. Check which clients have no Intune license but manage 20+ devices in your RMM. That mismatch is a concrete talking point for the next QBR.
The data in this report is QBR material. Show your client: "Comparable businesses in your sector average 6 Microsoft products. You are at 3." That is not a sales pitch, it is a factual comparison. Clients respond better to data than to feature lists.
Run this report every quarter. Compare results against the previous quarter. Which gaps were closed? Which clients still have not upgraded? A consistent cadence turns upsell from a one-time push into a structural part of your account management.
The Microsoft product catalog is pulled from your Autotask PSA through the Proxuma Power BI connector. Every product with manufacturer = Microsoft and a recurring billing type is included. The AI runs DAX queries to group the catalog and compare it against client contracts.
The report compares the products a client has against the full Microsoft catalog in your PSA. Every product that exists in the catalog but not on that client's contract is flagged as an upsell opportunity. The estimated revenue is based on the average price of that product across your existing clients.
Prices vary by client, contract type, and volume. This report shows averages based on your existing contracts. For exact per-client pricing, you can modify the DAX queries with a filter on the specific company ID.
Yes. The DAX queries in this report work at portfolio level, but you can add a WHERE clause to filter on a specific company_name. That is useful when preparing a QBR for one client.
Yes. Connect Proxuma Power BI to your Autotask and Microsoft 365, add an AI tool (Claude, ChatGPT, or Copilot) via MCP, and ask the same question. The AI writes the DAX queries, runs them against your real data, and produces a report like this in under fifteen minutes.
Connect Proxuma Power BI to your PSA, RMM, and M365 environment, use an MCP-compatible AI to ask questions, and generate custom reports - in minutes, not days.
See more reports Get started