# Attendance Analytics

Attendance Analytics turns access control data into actionable insights about how employees use the workplace. This visibility into how and when employees are on-site is essential for right-sizing office space, streamlining daily operations, and ensuring teams can be productive in a hybrid environment.

***

## Navigate to Attendance Analytics

{% stepper %}
{% step %}

#### In Verkada Command, go to **All Products** > **Access**.

{% endstep %}

{% step %}

#### In the left-hand menu, select **Reports > Attendance**.

{% endstep %}

{% step %}

#### Use the view dropdown to switch between the [**Aggregate View**](#h_5ca6b7479d) and [**Individual View**](#h_e2bda3eac1).

{% endstep %}
{% endstepper %}

{% hint style="warning" %}
If a user has a legacy access control role, they need to [migrate to the current roles](https://help.verkada.com/access-control/configuration-and-setup/legacy-access-control-roles) in order to view Attendance Analytics.
{% endhint %}

***

## Aggregate view

The Aggregate view shows overall attendance patterns for one or more selected sites. Use this view to understand how many employees are coming in, how often they attend, and whether attendance is trending up or down.

![](https://134288481-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaaHs5RfKqv9Z49mi02cC%2Fuploads%2Fgit-blob-8adc7c072f33998cf8e4c8313a5abfbe8fffa6cd%2Fa597b151f60cbf2651e3238f3470755f638e86d4.png?alt=media)

### Key metrics

At the top of the page, three summary metrics provide quick insights:

| Metric                   | Description                                                                                                                                                                                                                                                                                                                                                            |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Total Attendees          | <p>The total number of users who attended at least once in the selected date range.</p><p>Each user is counted a maximum of once for the selected date range.</p><p>The Total Attendees metric is shown against the total user population (e.g., 245 out of 1,200 users). By default, this includes all access users in the system before any filters are applied.</p> |
| Average Daily Attendance | <p>The average number of unique users who attended per day.</p><p>Each user is counted a maximum of once per day.</p>                                                                                                                                                                                                                                                  |
| Attendance Rate          | <p>The percentage of total possible workdays attended by users in the selected date range.</p><p>The rate is calculated as total days attended across all users divided by the total possible user-days (number of users × number of workdays).</p><p>Days when a user was suspended, deactivated, or not yet created are excluded from the user-days count.</p>       |

{% hint style="warning" %}
By default, **Attendance Rate** includes all users in your access control system, even those not expected to be on-site (for example, remote employees or staff from other offices), which can lower the rate.

For a more accurate measure, apply user population filters (such as *Directories* or *Access Groups*) to include only users expected to attend the selected site(s).

Alternatively, set the *Attendance* filter to "Attendees Only" to limit the calculation to only include the users who attended at least once in the selected date range.
{% endhint %}

### Daily attendance chart

This chart displays the number of attendees for each day within the specified date range, making it easy to identify trends.

* **Table View:** Click **Table** to see the same data in a sortable table format, allowing you to quickly find the busiest and least busy days.
* **Zoom Control:** Use the zoom button to adjust the chart’s Y-axis relative to the data range. This makes smaller fluctuations in attendance easier to see.

***

## Individual view

Switch to the Individual View to see attendance data at the user level.

![](https://134288481-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaaHs5RfKqv9Z49mi02cC%2Fuploads%2Fgit-blob-45c5cdbf040813cb759a4acd27916b51ebcd0c26%2F9c6e66ece52e2e9cea6d325e16ca3afb53c1e7cd.png?alt=media)

### Attendance table

The main display is a table showing attendance metrics for each access user:

* **Days in Attendance:** The total number of days the user attended within the selected date range. Can be shown as either a number or a percentage.
* **Weeks in Attendance:** The total number of weeks where the user attended at least once. Can be shown as either a number or a percentage.

When toggled to a percentage, values are calculated **only using the days the access user was active** (not suspended, deactivated, or not yet created) rather than the total calendar days in the date range.

### User detail view

Click on a user’s row in the table to see a day-by-day view of their attendance over the selected date range. Each day will show one of two statuses:

* **Present:** Includes the timestamp, site, and door of the user’s first and last "Access Granted" event for that day.
* **No Record:** Indicates that no "Access Granted" event was found for the user at the filtered sites on that day.

![](https://134288481-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaaHs5RfKqv9Z49mi02cC%2Fuploads%2Fgit-blob-1c6733df27bc487e3a7e98bb152fc25446479bbb%2Fc8ac0ca37854564cf99bc0dd2866611f23bf8917.png?alt=media)

{% hint style="danger" %}
**"No Record" does not definitively mean the user was absent**. It means no matching access granted event was found. The user may have attended a different site, been let in by someone else (tailgated), or fallen outside the selected filters for that day.
{% endhint %}

### Export options

You can export data from the individual view in the following way:

{% stepper %}
{% step %}

#### **Export Attendance Summary:** Downloads the main table with one row per user, including the number of days attended and weeks attended.

{% endstep %}

{% step %}

#### **Export Daily Records:** Downloads a detailed report with a separate row for each user for each date in the range, marked as "Present" or "No Record".

a. By default, the export includes all users matching the selected user population filters, including those with zero attendance days.\
b. To export only users who attended at least once during the date range, set the **Attendance** filter to **Attendees Only**.
{% endstep %}
{% endstepper %}

***

## How attendance is tracked

Attendance Analytics is based on "Access Granted" events from your access control system.

* A user is marked **"Present"** for a day if they have been granted access to at least one door in any of the selected sites.
* All credential types are used to track attendance; only remote unlocks are excluded, unless performed near the reader via Bluetooth.
* Multiple badge events by the same user on the same day are counted only once.
* Attendance is recorded for the calendar day on which it occurs, according to the access controller’s local time zone.
* By default, a "day" runs from 12:00 AM to 11:59 PM.

***

## Filters

Filters let you narrow attendance reporting to the sites, users, and timeframes most relevant to you. All filters apply across both aggregate and individual views, and exports respect the filters you set.

* **Date Range:** Choose from presets like "Last 4 Weeks" or a custom range. Weeks are defined as Monday-Sunday.
* **Days of Week:** Select which days to include in calculations (default is Monday-Friday).
* **Sites:** Select one or more sites. To include subsites, you must select them explicitly.
* **Doors:** Select specific doors to view attendance at a more granular level.
* **Attendance**: Choose whether to include all users who match the user population filters or only those who attended at least one day during the date range.
* **User Population:** Narrow your results by access groups, directories, departments, job titles, or specific users.

### How filters affect attendance records

Filters are evaluated against each user’s attributes on a day-by-day basis. Attendance records only include days where the user matched all selected filters (e.g., directory, access group, department, or job title).

For example, if a user moves from Marketing to the Sales department, a report filtered by "Sales" will only count the days they attended *after* joining that department. To see a user’s complete attendance for the entire period, you would need to remove the department filter.

***

## Data availability

Historical attendance data is available starting September 1, 2025. The available history increases daily and is limited by your organization’s data retention policy.

***

## FAQ

<details>

<summary>Does the Attendance report include visitors?</summary>

No. The Attendance report only includes activity from regular access users. Visitor activity is not included in the report.

</details>

{% hint style="success" %}
**Need more help?** Contact [Verkada Support](https://app.gitbook.com/s/NRq5qDDjsYNxwNzF1bcB/need-help/contact-verkada-support).
{% endhint %}
