This chapter covers Microsoft 365 Usage Reports and Analytics, a key topic in Domain 4 (Pricing and Support) of the MS-900 exam. Understanding these reports is critical because they help organizations monitor adoption, identify unused licenses, and optimize spending. Expect approximately 5-10% of exam questions to touch on reporting capabilities, focusing on which reports exist, how to access them, and what insights they provide. We will explore the main report categories, data freshness, permissions, and how reports tie into broader Microsoft 365 management.
Jump to a section
Imagine you are the fleet manager for a delivery company with 500 trucks. Each truck has sensors that report fuel level, engine temperature, mileage, and delivery status every 15 minutes. You have a central dashboard that aggregates all this data. The dashboard shows you: total miles driven today, average fuel efficiency across the fleet, number of trucks currently out of service, and a list of drivers who haven't completed their last delivery. You can drill down into any truck to see its detailed history. This dashboard is your "Usage Report." Without it, you would have to call each driver individually or wait for weekly paper logs. With it, you can spot a truck that's idling too long (wasting fuel) or a driver who consistently finishes late. You can also set alerts: if a truck's engine temperature exceeds a threshold, you get a notification. In Microsoft 365, the admin center's usage reports work exactly like this. Each user's activity (email sent, Teams meetings attended, files accessed) is recorded every 24 hours. The reports aggregate these into tenant-wide trends and allow drill-downs. The key difference: in a car, you care about fuel and engine; in M365, you care about adoption, license utilization, and security compliance. The dashboard helps you make data-driven decisions: who needs training, which licenses are wasted, and whether users are adopting new features.
What Are Microsoft 365 Usage Reports and Why Do They Exist?
Microsoft 365 usage reports are pre-built dashboards and detailed data sets within the Microsoft 365 admin center that show how users are engaging with various services (Exchange Online, SharePoint Online, Teams, OneDrive for Business, Yammer, etc.). They exist to answer critical business questions: Are employees using the tools we pay for? Which features are underutilized? Are there security or compliance risks from inactive accounts? Without these reports, administrators would have to manually query each service's audit logs or PowerShell cmdlets, which is time-consuming and inconsistent.
How Do Usage Reports Work Internally?
Microsoft 365 collects telemetry from each service at the user activity level. For example, when a user sends an email, Exchange Online logs the action with a timestamp, sender, recipient count, and subject (subject is anonymized in reports). These logs are aggregated into the Microsoft 365 reporting data store, which is separate from the audit log (Unified Audit Log). The aggregation process runs once every 24 to 48 hours. Therefore, reports are not real-time; they reflect data from the previous day or earlier.
Key internal components: - Activity types: Each service defines what constitutes an "active user." For Exchange, sending or reading an email counts. For Teams, any chat, call, or meeting participation counts. For SharePoint, viewing, editing, uploading, or downloading a file counts. - Data retention: Usage report data is retained for up to 28 days for most reports. Historical data beyond 28 days is not available in the admin center; you must use Microsoft Graph API or export reports to get longer retention. - Aggregation: Reports are aggregated at the tenant level and can be filtered by product (e.g., Teams user activity report) or by date range (7, 30, 90, or 180 days for some reports like adoption trends).
Key Components, Values, Defaults, and Timers
- Report categories: - Adoption reports: Show trends over time (e.g., how many active users per month for the last 6 months). - Activity reports: Show per-user activity for a specific product (e.g., number of emails sent, meetings organized). - License utilization reports: Show how many assigned licenses are actually being used. - Security and compliance reports: (Covered in other chapters) but include DLP policy matches, threat detections. - Data freshness: Reports are typically updated every 24–48 hours. The exact update time varies by service. The report header shows the last update timestamp. - Default retention: 28 days. To keep data longer, you must use the Microsoft Graph API to export and store reports. - Permissions: To view usage reports, a user must have one of the following roles: Global Administrator, Reports Reader, Security Administrator, Exchange Administrator, SharePoint Administrator, or Teams Administrator (depending on the report). The Reports Reader role is specifically designed for read-only access to usage reports without granting other admin privileges.
Configuration and Verification Commands
You can access reports via the Microsoft 365 admin center at Reports > Usage. Alternatively, you can use the Microsoft Graph API or PowerShell. For example, to get Teams user activity via Graph API:
GET https://graph.microsoft.com/v1.0/reports/getTeamsUserActivityUserDetail(period='D7')This returns a CSV with user-level data for the last 7 days.
Using PowerShell with the Exchange Online module:
Get-MailboxActivityReport -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date)To check who can view reports, verify role assignments in Azure AD:
Get-AzureADDirectoryRole | Where-Object {$_.DisplayName -eq "Reports Reader"} | Get-AzureADDirectoryRoleMemberHow Reports Interact with Related Technologies
Usage reports are closely tied to: - Microsoft 365 admin center: The primary UI for viewing reports. - Microsoft Graph: The API that powers data extraction for custom dashboards. - Power BI: You can connect usage report data to Power BI for advanced visualization using pre-built templates. - Azure AD: User identities and licenses are the foundation; reports show activity per user. - Microsoft 365 Adoption Score: A separate feature that uses usage data to provide organizational productivity insights, but it's not the same as raw usage reports. Adoption Score includes additional metrics like network connectivity and communication trends.
Edge Cases and Exam Traps
Inactive users: A user may have an active license but be inactive in reports. The exam may ask: "Which report shows users who haven't logged in for 30 days?" Answer: The Inactive Users report (found under Reports > Usage > Inactive Users) or you can derive it from the activity reports.
Data latency: The exam often tests that reports are not real-time. Typical wrong answer: "Reports show real-time data." Reality: Reports are updated every 24–48 hours.
Report Reader role: Candidates often confuse Reports Reader with Global Reader. Reports Reader can view usage reports but not other admin centers. Global Reader can view everything except security and compliance settings.
Export options: Reports can be exported to CSV or PDF. The exam may ask about supported export formats.
Summary of Key Exam Points
Reports are in Microsoft 365 admin center under Reports > Usage.
Data freshness: 24–48 hours.
Retention: 28 days (longer via Graph API).
Roles: Reports Reader is the minimum role to view reports.
Categories: Adoption, Activity, License utilization, Security & Compliance.
Use cases: Identify inactive users, optimize license spend, monitor adoption of new features.
Navigate to Usage Reports
Log in to the Microsoft 365 admin center (https://admin.microsoft.com) with an account that has the Reports Reader role or higher. In the left navigation pane, click **Reports**, then select **Usage**. This opens the Usage Reports dashboard, which shows a summary of activity across all services. The dashboard displays key metrics such as total active users, top products (e.g., Teams, Exchange), and trend charts. You can filter by date range (7, 30, 90, or 180 days). This is the entry point for all report exploration.
Select a Specific Report
From the Usage dashboard, click on a product tile (e.g., **Microsoft Teams**) to view its detailed report. Alternatively, scroll down to the **View reports by product** section and click **Microsoft Teams user activity**. This opens a detailed report page with tabs: **Activity** (aggregate counts), **Users** (per-user details), and **Files** (if applicable). The Activity tab shows graphs of active users, messages, and meetings over time. The Users tab lists each user's activity counts (e.g., number of chat messages, calls, meetings organized). You can export the data to CSV or PDF using the **Export** button.
Analyze Per-User Data
In the Users tab, you see a table with columns: Username, Last Activity Date, Total Chat Messages, Total Meetings Organized, Total Calls, and more. You can sort by any column to identify top or bottom users. For example, sort by Total Chat Messages descending to find the most active communicators. Use the search box to find a specific user. This data is useful for understanding adoption at the individual level. Note that the data is aggregated over the selected date range (e.g., last 7 days). The report shows data for users who were active at least once in that period.
Export Report Data
Click the **Export** button in the toolbar. Choose **Export as CSV** or **Export as PDF**. CSV exports the raw data table (all rows and columns). PDF exports a snapshot of the current view (graphs and table). The exported file is downloaded to your local machine. CSV files can be opened in Excel for further analysis, such as pivot tables or conditional formatting. This is essential for creating custom reports or sharing data with stakeholders who don't have admin access. The export includes the date range and report type in the filename.
Set Up Automated Report Delivery
In the Usage dashboard, you can schedule automated email delivery of reports. Click **Schedule delivery** (if available) or navigate to **Reports > Usage > Schedule delivery**. You can choose which reports to include, the frequency (daily, weekly, monthly), and recipients. The email will contain a link to the report and optionally a PDF attachment. This is useful for regular monitoring without manual login. Note: This feature may not be available for all report types. The scheduled report is generated based on the latest data available at the time of delivery.
Enterprise Scenario 1: License Optimization
A multinational corporation with 10,000 employees uses Microsoft 365 E5 licenses. The IT director suspects many licenses are underutilized. Using the Microsoft 365 Active Users Report (under Reports > Usage > Active Users), the admin filters by product (e.g., Teams) and sees that only 6,000 users have been active in Teams in the last 30 days. Further drill-down into the Inactive Users Report reveals 1,200 users who have not used any M365 service for over 90 days. The admin creates a PowerShell script to automatically remove licenses from these users after a grace period, saving $240,000 per year (assuming $20/user/month). The challenge: the report's 24-48 hour latency means a user who was active yesterday might still appear inactive if the report hasn't updated. The admin compensates by setting the inactivity threshold to 100 days to avoid premature removal.
Enterprise Scenario 2: Adoption Campaign Tracking
A company rolls out a new Microsoft Teams feature—breakout rooms. The change management team wants to measure adoption. They use the Teams User Activity Report to get a baseline of meeting counts before the rollout. After training, they monitor the report weekly. They see that the number of meetings with breakout rooms (a separate metric) increased by 30% in the first month. However, they notice that the report only shows data for the last 28 days. To track long-term trends, they use Microsoft Graph API to export data daily into a Power BI dashboard. Misconfiguration: The admin initially gave the change manager Global Admin access to view reports, which was excessive. They later assigned the Reports Reader role, which is sufficient and more secure.
Scenario 3: Security Investigation
A security analyst notices a sudden spike in external sharing of SharePoint files. They use the SharePoint Site Usage Report to see which sites have the most activity. Then they drill into the File Activity Report to identify which users are sharing externally. The report shows the number of files shared externally per user. They discover that a marketing user has shared a confidential document with a vendor. The report's data is 2 days old, but it still helps the analyst narrow down the investigation. They then use the Unified Audit Log to get real-time details. The lesson: usage reports are for trends, not real-time forensics.
MS-900 Objective 4.2: Describe usage reports and analytics
The exam expects you to know:
The location: Microsoft 365 admin center > Reports > Usage.
The main report categories: Adoption, Activity, License utilization, Security & Compliance.
Data latency: 24-48 hours, not real-time.
Data retention: 28 days default (longer via Graph API).
Minimum permission: Reports Reader role.
Export formats: CSV and PDF.
Common Wrong Answers on the Exam
"Reports show real-time data." This is the most common trap. Candidates think because the admin center is a web portal, data is live. Reality: reports are batched daily.
"Only Global Administrators can view usage reports." Many assume only the highest role can see everything. Reality: Reports Reader is a dedicated role. Global Reader can also view but not edit.
"Usage reports are available for all Microsoft 365 services." While most are covered, some services like Microsoft Viva Insights have separate reporting. The exam may highlight exceptions.
"You can retain usage data indefinitely in the admin center." False. 28 days is the max for built-in reports. To keep longer, you must export or use Graph API.
Specific Numbers and Terms That Appear Verbatim
28 days: Data retention period.
24-48 hours: Data freshness interval.
Reports Reader: The role name.
Active Users Report: A specific report name.
Inactive Users Report: Another specific report.
Edge Cases and Exceptions
Trial tenants: Reports may not be available for some services if the trial doesn't include them.
GCC/GCC High tenants: Some reports are not available in government clouds due to data residency.
Multi-geo tenants: Reports aggregate across all geographies; you cannot filter by geography in the built-in reports.
How to Eliminate Wrong Answers Using the Underlying Mechanism
If a question asks about report freshness, remember the aggregation mechanism: telemetry is collected, then processed in batches. Any answer suggesting real-time or instantaneous is wrong. If a question asks about permissions, recall that Reports Reader is a read-only role specifically for reports. Answers that mention Global Admin as the only role are incorrect. For data retention, the 28-day default is a hard limit in the admin center. Answers claiming indefinite retention are wrong.
Usage reports are accessed via Microsoft 365 admin center > Reports > Usage.
Data freshness is 24–48 hours; not real-time.
Default data retention is 28 days.
Minimum permission: Reports Reader role.
Export formats: CSV and PDF.
Categories: Adoption, Activity, License utilization, Security & Compliance.
Use cases: Identify inactive users, optimize license spend, monitor adoption.
Reports Reader does not grant access to other admin centers.
Longer retention requires Graph API or manual exports.
Inactive Users Report shows users with no activity for 30, 60, or 90 days.
These come up on the exam all the time. Here's how to tell them apart.
Usage Reports (Admin Center)
Pre-built dashboards in admin center
Data retention of 28 days only
No programming required
Limited to predefined metrics
Scheduled email delivery available
Microsoft Graph API
Custom queries and automation
Can export data for long-term storage
Requires development skills
Access to raw data for custom metrics
No built-in scheduling; must implement via code
Mistake
Usage reports show data in real time.
Correct
Usage reports are updated every 24–48 hours. The data is not real-time because it requires batch processing of telemetry from all services. The report header displays the last update timestamp.
Mistake
Only Global Administrators can view usage reports.
Correct
The Reports Reader role is specifically designed for read-only access to usage reports. Other roles like Exchange Administrator can also view related reports. Global Admin can view all reports, but it is not the only role.
Mistake
Usage reports are available for all Microsoft 365 products equally.
Correct
While most major products (Exchange, Teams, SharePoint, OneDrive, Yammer) have reports, some services like Microsoft Viva Insights have separate reporting. Additionally, some reports may not be available in all subscription tiers.
Mistake
You can keep usage report data in the admin center for years.
Correct
The built-in reports retain data for a maximum of 28 days. To keep data longer, you must export reports to CSV or use the Microsoft Graph API to store data externally.
Mistake
Usage reports include real-time security alerts.
Correct
Usage reports focus on adoption and activity trends, not security. Security alerts are found in the Security & Compliance center or Microsoft 365 Defender. Usage reports have a 24-48 hour delay, making them unsuitable for real-time security monitoring.
Reveal each answer, then mark whether you got it right. Score 60%+ to unlock the next chapter.
Usage reports are updated every 24 to 48 hours. The exact refresh time varies by service, but you will never see real-time data. The report header shows the date and time of the last update. For example, if you look at a report on Wednesday, it likely contains data through Monday or Tuesday. Always check the timestamp before making decisions based on the data.
You need the Reports Reader role, which is a dedicated read-only role for usage reports. Other roles like Global Administrator, Exchange Administrator, SharePoint Administrator, and Teams Administrator can also view specific reports. The Reports Reader role is the least privileged option and is recommended for users who only need to see reports without other admin capabilities.
Usage data is retained for a maximum of 28 days in the built-in reports. After 28 days, the data is no longer accessible via the admin center. To keep historical data longer, you must export the reports to CSV or use the Microsoft Graph API to pull data into an external storage system like Azure Blob Storage or a database.
Yes, many activity reports have a Users tab that lists per-user activity. For example, the Teams user activity report shows each user's chat messages, meetings, and calls. You can search for a specific user by name or email. Additionally, the Inactive Users report lists users who have not been active for a specified period.
Adoption reports show trends over time, such as the number of active users per month for the last 6 months. They help you see whether usage is growing or declining. Activity reports show detailed per-user activity for a specific period (e.g., last 7 days). Adoption reports are more strategic, while activity reports are tactical for troubleshooting or individual assessment.
Some usage reports are available in GCC, GCC High, and DoD clouds, but not all. For example, the Adoption Score feature may be limited. You should check the specific documentation for your cloud environment. Generally, basic activity reports for Exchange, Teams, and SharePoint are available, but advanced analytics may not be.
You can use the Microsoft Graph API to programmatically export usage report data. For example, you can call the GET /reports/getTeamsUserActivityUserDetail endpoint to get user-level data. You can run this in a script (PowerShell, Python) on a schedule. Alternatively, you can use the built-in schedule delivery feature in the admin center to email reports as PDFs.
You've just covered Microsoft 365 Usage Reports and Analytics — now see how well it sticks with free MS-900 practice questions. Full explanations included, no account needed.
Done with this chapter?