Data Freshness
Data Freshness measures how recently the carrier tracking data was refreshed for your active containers. It is a live metric: it describes the current state of the data right now, not a historical period.
Freshness = AVG(NOW − last_successful_carrier_update) over active containers
Target: 6 hours | Lower is better
What it measures
Freshness tells you how stale the carrier data is. A lower value means the data was refreshed more recently.
Freshness covers carrier sources only. It does not include:
- Terminal data
- AIS vessel tracking
- Other data sources
Those sources have their own cadences and are not part of this number.
Because Freshness is a snapshot of now, there is no historical date filter for it: asking "what was Freshness in April" is not meaningful the way it is for TTFF or CD. It always reflects the live state of your currently-active containers.
How the update cadence works
Dockflow polls carrier websites and APIs on a dynamic schedule - more often when something is expected to happen, less often when a container is idle:
| Scenario | Update interval |
|---|---|
| Near an expected event | Every 6 hours |
| Idle stretch | Every 24 hours |
The metric averages the time since the last successful update across all active containers.
Which containers are in scope
| Condition | In scope when |
|---|---|
| The tradeflow is currently active | active = 1 |
| The source is a carrier | terminal / AIS / other sources excluded |
Freshness keeps the active filter - unlike Confirmation Delay and TTFF, which dropped it. This is correct: Freshness is about whether live tracking is still flowing. A completed or closed tradeflow has nothing left to refresh, so including it would be meaningless.
The outlier count next to the average
Freshness reports two things: the average, and a separately-counted outlier tail.
- Any container whose freshness exceeds 60 hours (10 × the 6h target) is treated as an outlier. It is removed from the average and reported separately with its own count and average.
The occurrence / outlier number shown alongside Freshness is the count of containers excluded from the average because they sit above the 60-hour line - it is not a count of problems inside the average, and it is not derived from Confirmation Delay. A high average would be a concern; a healthy average with a non-zero outlier count just means a handful of stale containers were held out of the calculation so they could not distort it. Open the drill-down to see exactly which containers they are.
Status bands
| Status | Band | Meaning |
|---|---|---|
| On Target | ≤ 6 h | Data is fresh, updates arriving on schedule |
| Warning | 6 - 9 h | Slight delays; may indicate carrier API issues |
| Critical | > 9 h | Significant delays; investigate specific containers |
Drill-down view
Click "View details" to list individual containers sorted by freshness:
- Worst first: oldest data at the top - start here.
- Best first: freshest data at the top.
Use it to spot:
- Containers with stale data
- A specific carrier whose feed has stalled
- Containers that may need a manual refresh
Export to CSV, up to 1,000 rows.
Troubleshooting high Freshness
Possible causes
- Carrier API downtime or rate-limiting
- Invalid or mistyped container numbers
- Containers that are no longer active with the carrier (but still active in the tradeflow)
What to do
- Open the drill-down and read off the worst containers.
- Verify the container numbers are correct.
- Contact support if a carrier feed appears stalled across many containers.