Advanced Usage Reports
Complete the full lesson to earn 25 points — 50 with Pro
Work through each section, then tap “Mark as Complete” on the last one.
✦ Skip the page breaks, the wait, and see fewer ads — read each lesson on a single page with Pro
Advanced Usage Reports in Microsoft 365: A Comprehensive Guide
Introduction: Why Usage Analytics Matter
In the modern digital workplace, organizations rely heavily on cloud-based collaboration tools. Microsoft 365 has become the backbone for communication, document management, and project execution for millions of users. However, simply deploying these tools is not enough. To truly understand whether your investment is providing value, you must look beyond the surface-level metrics. Advanced usage reporting allows administrators and business leaders to visualize how employees interact with specific services, identify bottlenecks in adoption, and make data-driven decisions regarding licensing and training.
Without a deep understanding of usage data, organizations often suffer from "license sprawl"—paying for seats that are never activated—or "siloed workflows" where teams struggle to adopt new technologies because they lack support or clarity. Advanced usage reports move us from asking "Is the service running?" to asking "Is the service actually helping people work better?" By mastering the tools within the Microsoft 365 Admin Center and the Microsoft Graph API, you can transform raw telemetry into a roadmap for organizational efficiency and digital transformation.
Understanding the Microsoft 365 Usage Landscape
Before diving into advanced reporting, it is crucial to understand the two primary ways to access usage data: the built-in Microsoft 365 Admin Center reports and the Microsoft Graph Reporting API.
The Admin Center: Your First Stop
The Microsoft 365 Admin Center provides a user-friendly interface for viewing high-level trends. These reports are excellent for quick audits. They cover the most common services, including Exchange, SharePoint, OneDrive, Microsoft Teams, and Yammer (Viva Engage). The Admin Center allows you to view data over 7, 30, 90, and 180-day intervals, which is perfect for identifying long-term adoption trends.
The Microsoft Graph Reporting API: For Deep Insights
While the Admin Center is great for snapshots, the Microsoft Graph Reporting API is the engine for deep, customized analysis. If you need to correlate usage data with other internal datasets—such as employee performance records, regional department data, or specific project milestones—the API is your only choice. It allows you to pull raw data into Power BI, Azure Data Lake, or custom dashboarding solutions.
Callout: Admin Center vs. Graph API The Microsoft 365 Admin Center is designed for accessibility and quick visualization, making it ideal for IT managers who need to provide high-level reports to leadership. In contrast, the Microsoft Graph Reporting API is designed for automation and integration. Use the Admin Center for day-to-day oversight and the Graph API when you need to build custom, recurring data pipelines or perform advanced statistical analysis.
Navigating Built-in Usage Reports
The built-in reports are more powerful than many administrators realize. To access them, navigate to the Reports section in the Microsoft 365 Admin Center. Here, you will find a dashboard that summarizes activity across your organization.
Key Metrics to Monitor
When evaluating these reports, focus on these three critical dimensions:
- Active Users: This metric tracks the number of unique users who performed a "qualifying action" in a service. A qualifying action could be sending an email, editing a document, or participating in a meeting.
- Service Adoption: This measures the percentage of your total licensed population that is actively engaging with a specific service. If your adoption rate for Microsoft Teams is stuck at 40%, it indicates a need for targeted training.
- Storage Trends: These reports show how much space is being consumed across SharePoint and OneDrive. Monitoring this helps in planning future storage capacity and identifying potential data governance issues.
Note: Microsoft 365 usage data is typically delayed by 24 to 48 hours. If you performed a large-scale migration or launched a new initiative yesterday, the data will not reflect those changes immediately. Always account for this latency when reporting to stakeholders.
Advanced Reporting with Microsoft Graph API
To move beyond the standard dashboard, you must interact with the Microsoft Graph Reporting API. This requires an Azure AD application with the appropriate permissions, specifically Reports.Read.All.
Setting Up the Environment
To begin using the API, you must register an application in the Azure portal. Once registered, you will be granted an Application ID and a Client Secret. These are the keys to your data. You will use these to authenticate and request reports in JSON format.
Example: Retrieving Teams User Activity
The following PowerShell script demonstrates how to retrieve Microsoft Teams user activity data. This is a common requirement for organizations looking to track remote work engagement.
# Define the authentication variables
$clientId = "your-client-id"
$tenantId = "your-tenant-id"
$clientSecret = "your-client-secret"
# Request an access token
$body = @{
grant_type = "client_credentials"
client_id = $clientId
client_secret = $clientSecret
scope = "https://graph.microsoft.com/.default"
}
$tokenResponse = Invoke-RestMethod -Uri "https://login.microsoftonline.com/$tenantId/oauth2/v2.0/token" -Method Post -Body $body
$token = $tokenResponse.access_token
# Define the endpoint for Teams User Activity
$uri = "https://graph.microsoft.com/v1.0/reports/getTeamsUserActivityUserDetail(period='D30')"
$headers = @{Authorization = "Bearer $token"}
# Retrieve the data
$report = Invoke-RestMethod -Uri $uri -Headers $headers -Method Get
$report | ConvertTo-Json | Out-File "TeamsActivity.json"
Explaining the Code
- Authentication: The script uses the OAuth 2.0 Client Credentials flow. This is the industry standard for server-to-server communication where no user interaction is required.
- The API Endpoint: We target the
getTeamsUserActivityUserDetailfunction. Theperiod='D30'parameter limits the data to the last 30 days. - Data Export: The raw JSON output is saved to a file, which can then be imported into Power BI or Excel for further manipulation.
Building Custom Dashboards in Power BI
Once you have the data from the Graph API, the best practice is to visualize it in Power BI. Power BI allows you to create interactive, drill-down reports that are far more useful than static PDFs.
Steps to Create a Custom Usage Dashboard
- Extract: Use the PowerShell script provided above to pull the data into a CSV or JSON format on a recurring schedule (e.g., via Azure Automation).
- Transform: Open Power BI Desktop and use "Get Data" to import your source files. Use the Power Query editor to clean the data, such as converting date columns to the correct format or filtering out inactive accounts.
- Load: Load the data into the Power BI data model.
- Visualize: Create your visuals. A bar chart for "Active Users by Department" and a line chart for "Teams Usage Over Time" are great starting points.
- Share: Publish the report to the Power BI Service, where you can set up automated refreshes so your data is always up to date.
Tip: When building dashboards for management, focus on "Actionable Insights." Don't just show them the number of emails sent. Show them the "Trend of Collaboration," which correlates increased Teams usage with decreased email traffic. This tells a story of how the organization is changing.
Best Practices for Usage Analytics
Managing usage data is as much about process as it is about technology. Follow these best practices to ensure your data remains accurate and useful.
1. Define Your KPIs Early
Do not track everything. Tracking too many metrics leads to "analysis paralysis." Focus on 3-5 Key Performance Indicators (KPIs) that align with your business goals. For example, if your company is trying to reduce shadow IT, your KPI should be "Active Users in OneDrive/SharePoint" vs. "Third-party Cloud Storage usage."
2. Anonymize Sensitive Data
By default, the Microsoft 365 Admin Center shows user-level information (names, email addresses). However, if your organization has strict privacy requirements or works with works councils, you can configure the settings to display anonymized IDs instead. Always verify your local legal requirements before reporting on individual user behavior.
3. Maintain Data Governance
Data is only useful if it is accurate. Ensure that your user accounts are correctly mapped to departments and locations in Azure Active Directory (Microsoft Entra ID). If your user attributes are incomplete, your usage reports will be segmented incorrectly, leading to faulty conclusions.
4. Schedule Regular Reviews
Set aside time once a month to review usage reports. Look for anomalies—such as a sudden drop in usage in a specific department. This could signal a technical issue, a change in management, or a need for training that you weren't previously aware of.
Common Pitfalls and How to Avoid Them
Even experienced administrators fall into common traps when working with usage data. Here is how to avoid them.
Misinterpreting "Active" Users
A common mistake is assuming that an "Active User" is a "Happy User." A user might be "active" in Teams because they are struggling to find documents and are constantly messaging colleagues for help. Always supplement your quantitative data (usage reports) with qualitative data (user surveys or feedback sessions) to understand the "why" behind the numbers.
Ignoring Licensing Costs
Many organizations pay for the "E5" license for every employee, regardless of whether they use the advanced security and analytics features. Use the usage reports to identify users who are only using "E1" level features (like basic Exchange and Teams) and consider rightsizing their licenses to save money.
Over-reliance on Default Reports
The default reports in the Admin Center are generic. If you rely solely on these, you might miss trends specific to your industry or your company’s unique workflows. If you find yourself manually exporting and combining three different reports every week, it is time to build a custom Power BI dashboard.
Warning: Do not attempt to use the Reporting API for real-time monitoring. The data is aggregated and processed, meaning it is intended for trend analysis and historical reporting, not for immediate troubleshooting of service outages or real-time security events.
Comparison Table: Reporting Methods
| Method | Audience | Complexity | Best For |
|---|---|---|---|
| Admin Center Dashboards | IT Admins, Managers | Low | Quick health checks, high-level trends |
| Power BI Content Packs | Business Analysts | Medium | Visualizing trends, departmental reporting |
| Microsoft Graph API | Developers, Data Engineers | High | Custom integration, complex data correlation |
| Excel Exports | End Users, Small Teams | Low | Ad-hoc analysis, quick calculations |
The Human Element: Training and Adoption
Usage reports should trigger action. If your reports show that OneDrive usage is low, do not just send a generic email. Instead, organize a "Lunch and Learn" session specifically for the departments that are lagging behind. Use the data to identify "Champions"—those power users who are already using the tools effectively—and ask them to mentor their colleagues.
When you present data to department heads, frame it in terms of their goals. Instead of saying, "Your department is only using Teams 20% of the time," say, "We noticed that your team is still relying heavily on email attachments. Transitioning these workflows to Teams could save your team approximately two hours of file-searching time per week." This makes the data personal and relevant.
Advanced Scenario: Correlating Usage with Business Outcomes
To truly elevate your reporting, you need to correlate Microsoft 365 usage data with external business metrics.
Example: Sales Productivity
Imagine you want to know if increased usage of the Teams "Planner" app correlates with faster project completion in your sales department.
- Export Planner Usage Data: Use the Graph API to pull activity logs for the Sales department's Planner boards.
- Export Sales Metrics: Export your project completion timestamps from your CRM (e.g., Dynamics 365 or Salesforce).
- Merge in Power BI: Create a relationship between the "Project ID" in both datasets.
- Visualize: Create a scatter plot showing "Planner Activity" on the X-axis and "Project Completion Time" on the Y-axis.
If you see a downward trend, you have concrete proof that the tools you are deploying are directly contributing to faster business outcomes. This type of analysis is what separates a standard IT administrator from a strategic business partner.
Securing Your Usage Data
Because usage data contains information about who is working and when, it can be considered sensitive. Ensure that access to the Power BI reports or the Graph API credentials is restricted to authorized personnel. Use Azure Role-Based Access Control (RBAC) to ensure that only those who need to see the reports have access.
Furthermore, if you are storing exported data in a storage account or a database, ensure that the data at rest is encrypted. Do not leave sensitive CSV files on shared network drives where they could be accessed by unauthorized users.
FAQ: Common Questions about Usage Analytics
Q: Can I see exactly what files a user is editing? A: No. Microsoft 365 usage reports provide aggregated data to protect user privacy. You can see that a user interacted with SharePoint, but you cannot see the specific titles of the files they opened or the content they wrote.
Q: How long is the usage data kept? A: Microsoft 365 stores usage data for up to 180 days. If you need to perform year-over-year analysis, you must export the data to a permanent storage solution like Azure Data Lake or a SQL database before the 180-day window expires.
Q: Why does my report show "0" for active users in a service that I know is being used? A: This usually happens if the data hasn't finished processing or if the user has not performed a "qualifying action." If you are sure they are using it, wait 48 hours. If the issue persists, check if the users have the correct licenses assigned to their accounts.
Q: Can I use the Reporting API with PowerShell without Azure AD apps?
A: While you can use the Connect-MgGraph module for interactive sessions, this is not suitable for automated, recurring reports. For production-level reporting, always use an Azure AD registered application with client credentials.
Summary of Key Takeaways
- Start with the Goal: Before pulling reports, define what you are trying to learn. Are you looking to save on licensing, improve adoption, or measure productivity? Let the business goal dictate the metrics you prioritize.
- Master the Tools: Use the Admin Center for quick, high-level visibility, but invest the time to learn the Microsoft Graph API for deeper, automated, and customized insights.
- Data Quality Matters: Ensure that your user attributes (department, location, job title) are accurate in your directory. If the underlying user data is messy, your usage reports will be misleading.
- Visualize for Impact: Raw numbers are rarely convincing. Use Power BI to turn your data into compelling stories that resonate with business stakeholders.
- Correlate to Business Outcomes: The most valuable reports are those that link IT usage to real business KPIs, such as project completion rates, response times, or operational efficiency.
- Respect Privacy: Always be mindful of privacy regulations and internal policies regarding employee monitoring. Where possible, use anonymized IDs, and communicate transparently about why usage data is being collected.
- Take Action: Data without action is just noise. Use your reports to identify training needs, recognize high-performing teams, and drive the overall digital culture of your organization.
By following these principles, you will move beyond being a passive observer of your organization's digital activity and become an active architect of its technological success. Usage analytics is not just about counting clicks; it is about understanding the pulse of your organization and ensuring that the tools you provide are actually helping your colleagues thrive.
Reach the last section to complete this lesson and earn points — you're on section 1 of 11.
- Introduction to Microsoft 365 Services
- Introduction to Microsoft 365 Services Quiz5q
- Cloud Concepts for Microsoft 365
- Cloud Concepts for Microsoft 365 Quiz5q
- Microsoft 365 Apps and Services Overview
- Microsoft 365 Apps and Services Overview Quiz5q
- Microsoft 365 Subscription Plans
- Microsoft 365 Subscription Plans Quiz5q
- Introduction to Microsoft 365 Agents
- Introduction to Microsoft 365 Agents Quiz5q
- Copilot Studio Overview
- Copilot Studio Overview Quiz5q
- Managing and Publishing Agents
- Managing and Publishing Agents Quiz5q
- Agent Security and Governance
- Agent Security and Governance Quiz5q
- Extending Copilot with Connectors
- Extending Copilot with Connectors Quiz5q
- Comprehensive Exam Strategies
- Comprehensive Exam Strategies Quiz5q
- M365 Services Key Concepts Review
- M365 Services Key Concepts Quiz5q
- Data Protection Key Concepts Review
- Data Protection Key Concepts Quiz5q
- Copilot Administration Key Concepts
- Copilot Administration Key Concepts Quiz5q
- AB-900 Final Practice Exam
- AB-900 Final Practice Exam Quiz5q
- Microsoft Graph API for Copilot
- Microsoft Graph API Quiz5q
Enjoying the courses?
Everything stays free. Pro shows fewer ads, doubles the points you earn on every lesson and quiz so you progress twice as fast, unlocks half of every practice exam — plus full case studies — with the Learn & Exam study modes, and lets you read each lesson on one page.
- ✓ Fewer advertisements
- ✓ 2× points per lesson & quiz
- ✓ 50% of every exam unlocked
- ✓ Learn & Exam modes
- ✓ Distraction-free lessons