Patterns of Life
Overview
Patterns of Life analyzes movement and communication patterns from mobile network data, such as CDR and IPDR records. You load activity for one or more phone numbers over a time range and review trajectories on an interactive map. The app outputs clustered locations, anomalies, home/work hotspots, and short-horizon movement predictions. Results are model-driven and require analyst review, especially when you treat locations as sensitive conclusions.
When to Use This Application
- You need to understand a subject’s routine and movement patterns over days or weeks.
- You need to identify significant locations, such as likely home or workplace.
- You need to detect unusual activity (time or location anomalies) for targeted follow-up.
- You need to compare activity patterns by weekday and hour to spot routines and deviations.
- You need short-horizon forecasts to support operational planning.
Before You Begin
- Ensure CDR/IPDR data is available and mapped so the app can query positions and activity.
- Decide the phone number identifiers you want to analyze (for example
MSISDN). - Decide the time range you want to load for analysis.
Step-by-Step Walkthrough
Step 1 — Load targets and time range
Select the phone number target(s) and a time range for analysis. After load, the app renders the activity on the map and populates the sidebar tabs.
Step 2 — Choose a playback mode
Use the map in one of two modes:
| Mode | Description |
|---|---|
| Static mode | Shows a snapshot around the current time slider position |
| Playing mode | Animates movement from the current position to the end of the time range |
In static mode, drag the time slider to jump to any moment. In playing mode, pause to freeze on a frame or stop to reset.
Step 3 — Set the track bucket and preserve positions
Two settings control how positions appear on the map.
| Setting | Description |
|---|---|
| Track bucket | Sets the time window represented by each frame. Values range from 5 min up to 48 h. Smaller buckets show finer movement detail. Larger buckets condense activity into fewer frames. Default is 15 min. |
| Preserve positions | Controls whether positions accumulate over time. Off - shows only positions inside the current window. On - accumulates all positions from the start of the range up to the current time. |
Step 4 — Tune analysis settings (optional)
Open Analysis Settings to tune clustering, hotspot classification, and anomaly detection. Adjust these settings:
| Setting | Default |
|---|---|
| Work hours | 09:00–17:00 |
| Sleep hours | 22:00–06:00 |
| Clustering radius | 0.5 km |
| Minimum stay duration | 2 h |
| Weekend days | Saturday and Sunday |
After you change settings, select Apply Settings to recompute results.
Step 5 — Use the analysis tabs
Use the sidebar tabs to explore different results. All tabs respect your time range and weekday filters.
Summary tab
Use Weekday filter to include or exclude specific days. Review activity patterns in:
- Activity bar chart (drag a window to set a time range)
- Activity timeline (online and call activity by weekday)
- Activity heatmap (weekday × hour matrix) [CONFIRM UI LABEL: Summary] [CONFIRM UI LABEL: Weekday filter]
Tracks tab
Use this tab to understand movement trajectories.
- Review total distance statistics.
- Review the cell tower transitions table for frequent routes.
- Enable Most common path to draw the most frequent route as a red line with start/end markers.
- Review the daily distance chart to spot unusual movement days.
Anomalies tab
Use Anomaly threshold to control sensitivity. Review:
- Anomaly count by
MSISDN - Anomaly table (first 150 anomalies) with time, coordinates, score, and severity label
Select an anomaly from the table or the map to center the view and load details. You can then narrow the time range around that anomaly:
- Apply filter: focuses on a window around the anomaly using the track bucket interval.
- Clear filter: returns to the full view.
Predictions tab
Provides short-horizon forecasts based on recent movement.
| Element | Description |
|---|---|
| Prediction horizon | Choose how many hours ahead to forecast after the last known position |
| Minimum confidence filter | Hides low-confidence predictions |
Predictions appear as:
- Purple markers on the map with hour offset and confidence
- A prediction table with coordinates, time offset, and confidence score
Clusters tab
Use this tab to identify frequently visited locations.
- Adjust minimum cluster size to control how many points are required to form a cluster.
- Review cluster circles on the map (sized by visit count).
- Open cluster details to see centroid coordinates, visit count, and visit periods.
Hotspots tab
Classifies recurring clusters as home and work.
| Marker | Meaning |
|---|---|
| Green house-shaped | Likely home |
| Blue briefcase-shaped | Likely workplace |
| Drop-shaped icon | hotspot marker |
Hotspot scoring uses the work/sleep hours and weekend days defined in Analysis Settings.
Understanding the Output
Patterns of Life produces map-based and tabular outputs that you interpret together.
| Output | Description |
|---|---|
| Map playback | Displays trajectories and positions over time. Static mode gives a snapshot around the slider time. Playing mode animates forward. |
| Tracks | Shows travel distance and common routes. Use these outputs to spot travel days that differ from the usual pattern. |
| Clusters | Groups frequent locations and estimates time spent. Larger cluster circles indicate higher visit count. |
| Hotspots | Labels the highest-scoring recurring clusters as home and work using configured work/sleep hours and weekend weighting. |
| Anomalies | Lists points that break routine by location novelty, time rarity, or time-location novelty. Anomaly scores range up to 1.0.< 0.2 normal> 0.8 extremely anomalous |
| Predictions | Displays forecast locations as purple markers and a table. Predictions include a confidence score. Use the minimum confidence filter to focus on reliable results. |
Tips for Best Results
- Start with the default Track bucket (
15 min), then increase it when you need a higher-level view. - Enable Preserve positions when you need a cumulative trail. Disable it when you need a clean frame-by-frame view.
- Set work/sleep hours and weekend days to match the local context before you interpret home/work outputs.
- Use Weekday filter to separate routine weekdays from weekend behavior.
- Use the anomalies table to drive targeted review, then apply a narrow time window around a selected anomaly.
- Use the Minimum confidence filter in predictions to avoid over-interpreting low-confidence forecasts.
Known Limitations
| Limitation | Explanation |
|---|---|
| CDR/IPDR locations are approximations | They reflect network activity, not GPS precision |
| Home/work classification is heuristic | Irregular schedules may produce incorrect classifications |
| Anomaly detection depends on historical coverage | Short time ranges reduce reliability |
| Predictions are probabilistic | Low confidence predictions should not guide decisions alone |