Confidence and Accuracy
This guide explains how location confidence and accuracy are handled in the Tracker GraphQL system.
Confidence Values
The confidence field in location reports and location history records indicates the reliability of the location data.
Current Scale (1-3)
As of April 2025, the confidence field uses a simple scale from 1 to 3:
| Value | Description |
|---|---|
| 1 | Low confidence |
| 2 | Medium confidence |
| 3 | High confidence |
This scale directly reflects the confidence values provided by the FindMy API.
Previous Scale (Percentage)
Prior to April 2025, the confidence field used a percentage-based scale (0-100%). This has been replaced with the simpler 1-3 scale to better align with the underlying API.
Filtering Based on Confidence
By default, the system filters location history records to only include medium to high confidence reports (confidence >= 2). This ensures that only reliable location data is used for tracking and analysis.
This filtering is applied in several places:
- The continuous aggregates for location history
- The geofence processing function
- Various frontend components
Horizontal Accuracy
The horizontalAccuracy field was added in April 2025 to provide more detailed information about the precision of location data.
Understanding Horizontal Accuracy
Horizontal accuracy represents the accuracy radius in meters. It indicates how precise the reported coordinates are:
- Lower values (e.g., 10-30 meters) indicate more precise location data
- Higher values (e.g., 100+ meters) indicate less precise location data
Usage in the UI
The horizontal accuracy is displayed in the UI alongside the confidence value to give users a more complete picture of the reliability of location data:
- In the tracker map view, the accuracy is shown in meters for each location point
- In the location timeline, the accuracy is displayed for each location entry
Technical Implementation
The horizontal_accuracy field is:
- Stored as a Float in the database
- Propagated through the materialized views for location history
- Available in all GraphQL queries that return location history data
Example GraphQL Query
This query retrieves location history with both confidence and horizontal accuracy information:
query {
locationHistoryByTimeRange(
trackerId: "123"
startTime: "2025-04-21T00:00:00Z"
endTime: "2025-04-28T23:59:59Z"
) {
id
timestamp
location {
latitude
longitude
}
nearestCity
confidence
horizontalAccuracy
}
}
Best Practices
- For critical applications, consider filtering out locations with low confidence (confidence < 2)
- Use the horizontalAccuracy field to further refine location data quality assessment
- When displaying location data on maps, consider visualizing the accuracy radius to give users a sense of the precision