-
Introduction
- Understanding Matomo
-
Matomo Core development
- Contributing to Matomo Core
- Contributing to Matomo Plugins
- Coding Standards
- Using GitHub Issues
- Pull Requests and Reviews
- The Core Team Workflow
- Maintaining Plugins
- Maintaining Translations
- Matomo APIs
- Debugging Core
- Profiling Code
- Reproducing Issues
- FAQs
- Core Components
- Composer dependencies
- Release Management
- Using GitHub Actions
- Matomo's Roadmap
- Matomo Plugin development
- Web Interface
- Utils
- Reporting API
- Data Model
- Tests
- Tools
-
Plugin Development
Data Model
Data Model
About this guide
Read this guide if
- you'd like to know how to aggregate, store and serve new analytics data with your plugin
- you'd like to know what the Archiving Process is and how it is used to automatically aggregate and cache analytics data
- you'd like to know how analytics data is stored and manipulated in PHP
- you'd like to know what segments are and how you can define your own
About analytics
Analyzing data means searching for patterns in a set of things. In Matomo (formerly Piwik) those things are visits, web actions and goal conversions.
We search for patterns by reducing the set of things. Or in other words, we search for patterns by grouping individual things together to create subsets that are both recognizable and meaningful.
In Matomo the result of that grouping is the analytics data. Analytics data is stored, displayed and exposed through an API. Read on to learn what this data contains, how Matomo calculates and stores it, and how it is made available to Matomo users.
Data workflow
Here is the workflow that data follows in Matomo:
- raw data is collected from trackers and stored as log data
- the archiving process aggregates log data into archive data (see also the archiving behavior specification)
- archive data is loaded and presented into reports