{"id":6233,"date":"2025-07-17T11:42:11","date_gmt":"2025-07-17T11:42:11","guid":{"rendered":"https:\/\/www.footfallcam.com\/blog\/?p=6233"},"modified":"2025-11-06T08:43:45","modified_gmt":"2025-11-06T08:43:45","slug":"bluetooth-ble-re-identification-and-visual-fusion-in-airport-departure-lounge-analytics","status":"publish","type":"post","link":"https:\/\/www.footfallcam.com\/blog\/2025\/07\/bluetooth-ble-re-identification-and-visual-fusion-in-airport-departure-lounge-analytics\/","title":{"rendered":"Bluetooth BLE Re-identification and Visual Fusion in Airport Departure Lounge Analytics"},"content":{"rendered":"\n<div style=\"height:10px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">Modern airports seek to optimise commercial revenues while improving passenger experiences. Understanding how passengers move within departure lounges\u2014especially in retail, F&amp;B, and VIP zones\u2014is central to this goal.<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">Traditional CCTV and Wi-Fi analytics provide partial coverage or coarse data. Bluetooth Low Energy (BLE) offers a cost-effective and scalable method for passive, anonymous re-identification and journey reconstruction\u2014when combined with visual verification and advanced fusion techniques.<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">This document explains, in precise technical terms, how FootfallCam leverages continuous BLE coverage and AI-based fusion to provide reliable, flight-level movement analytics without depending on any personal data.<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1024\" height=\"1024\" src=\"https:\/\/www.footfallcam.com\/blog\/wp-content\/uploads\/2025\/07\/Bluetooth-BLE-Re-identification-and-Visual-Fusion-in-Airport-Departure-Lounge-Analytics-1024x1024.png\" alt=\"\" class=\"wp-image-6290\" srcset=\"https:\/\/www.footfallcam.com\/blog\/wp-content\/uploads\/2025\/07\/Bluetooth-BLE-Re-identification-and-Visual-Fusion-in-Airport-Departure-Lounge-Analytics-1024x1024.png 1024w, https:\/\/www.footfallcam.com\/blog\/wp-content\/uploads\/2025\/07\/Bluetooth-BLE-Re-identification-and-Visual-Fusion-in-Airport-Departure-Lounge-Analytics-300x300.png 300w, https:\/\/www.footfallcam.com\/blog\/wp-content\/uploads\/2025\/07\/Bluetooth-BLE-Re-identification-and-Visual-Fusion-in-Airport-Departure-Lounge-Analytics-150x150.png 150w, https:\/\/www.footfallcam.com\/blog\/wp-content\/uploads\/2025\/07\/Bluetooth-BLE-Re-identification-and-Visual-Fusion-in-Airport-Departure-Lounge-Analytics-768x768.png 768w, https:\/\/www.footfallcam.com\/blog\/wp-content\/uploads\/2025\/07\/Bluetooth-BLE-Re-identification-and-Visual-Fusion-in-Airport-Departure-Lounge-Analytics.png 1080w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"article-h2 article-h3\"><span style=\"font-family: archivo, sans-serif; font-size: 28px; color: #323232;\">The Technical Basis of BLE Tracking<\/span><\/h3>\n<p>\u00a0<\/p>\n\n\n\n<p class=\"article-h2 article-paragraph\"><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>BLE Advertising and MAC Randomisation<\/strong><\/span><\/p>\n<p>\u00a0<\/p>\n\n\n\n<p class=\"article-h2 article-paragraph\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Modern BLE-enabled devices (smartphones, wearables, etc.) broadcast advertising packets on 3 channels (37, 38, 39) at customisable intervals (typically 20ms\u20131s). Each packet includes:<\/span><\/p>\n<ul>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">A randomised MAC address<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">Optional payload (often empty or application-defined)<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">TX power level (often fixed)<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n\n\n\n<p class=\"article-h2 article-paragraph\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">To preserve privacy, Android and iOS both implement <strong>MAC address randomisation<\/strong>, typically rotating every <strong>15 minutes<\/strong> under default system settings.<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<p class=\"article-h2 article-paragraph\"><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Key Insight:<\/strong><\/span><\/p>\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">The 15-minute rotation window is sufficient for re-identification over short-to-mid-range sessions such as time spent in departure lounges (30\u201390 min). Many BLE devices exhibit recognisable behaviour over these sessions, including:<\/span><\/p>\n<ul>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">Consistent signal patterns (RSSI profile)<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">Sudden disappearance\/reappearance correlations<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">Unique transmission frequencies or idle durations<\/span><\/li>\n<\/ul>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Continuous Coverage in Large Spaces<\/strong><\/span><\/p>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">Assuming a BLE reader with a 15m effective radius, a 30m diameter cell can be deployed. Overlapping coverage is necessary to ensure smooth handover. With a mesh deployment of BLE gateways, full coverage of lounge zones is viable.<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">If we define:<\/span><\/p>\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">A = area of the lounge (e.g. 10,000 m\u00b2) <\/span><br><span style=\"font-family: archivo, sans-serif; color: #666666;\">r = coverage radius per node (15 m) <\/span><br><span style=\"font-family: archivo, sans-serif; color: #666666;\">N \u2248 A \/ (\u03c0r\u00b2) = approximate number of nodes for full coverage<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">Then, approximately <strong>14\u201316 BLE gateways<\/strong> would suffice for a 10,000 m\u00b2 open lounge.<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Re-identification via RSSI Reappearance Heuristic<\/strong><\/span><\/p>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">A peer-reviewed approach shows the feasibility of tracking randomised MACs via correlation of:<\/span><\/p>\n<ul>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Disappearance timing<\/strong> t\u2081 of MAC A<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Appearance timing<\/strong> t\u2082 of MAC B<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>RSSI consistency \u0394RSSI<\/strong> \u2264 \u03f5 across adjacent readers<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Spatial overlap<\/strong> across adjacent nodes<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n\n\n\n<p><a href=\"https:\/\/www.footfallcam.com\/blog\/wp-content\/uploads\/2025\/07\/ble-graph-temp.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-6262 size-full\" src=\"https:\/\/www.footfallcam.com\/blog\/wp-content\/uploads\/2025\/07\/ble-graph-temp.png\" alt=\"\" width=\"792\" height=\"574\" srcset=\"https:\/\/www.footfallcam.com\/blog\/wp-content\/uploads\/2025\/07\/ble-graph-temp.png 792w, https:\/\/www.footfallcam.com\/blog\/wp-content\/uploads\/2025\/07\/ble-graph-temp-300x217.png 300w, https:\/\/www.footfallcam.com\/blog\/wp-content\/uploads\/2025\/07\/ble-graph-temp-768x557.png 768w\" sizes=\"(max-width: 792px) 100vw, 792px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">A pairing score S can be defined as:<\/span><\/p>\n<p><a href=\"https:\/\/www.footfallcam.com\/blog\/wp-content\/uploads\/2025\/07\/rssi-formula.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-6239 size-full\" src=\"https:\/\/www.footfallcam.com\/blog\/wp-content\/uploads\/2025\/07\/rssi-formula.png\" alt=\"\" width=\"855\" height=\"108\" srcset=\"https:\/\/www.footfallcam.com\/blog\/wp-content\/uploads\/2025\/07\/rssi-formula.png 855w, https:\/\/www.footfallcam.com\/blog\/wp-content\/uploads\/2025\/07\/rssi-formula-300x38.png 300w, https:\/\/www.footfallcam.com\/blog\/wp-content\/uploads\/2025\/07\/rssi-formula-768x97.png 768w\" sizes=\"(max-width: 855px) 100vw, 855px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<p data-start=\"3355\" data-end=\"3361\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Where:<\/span><\/p>\n<ul data-start=\"3362\" data-end=\"3511\">\n<li data-start=\"3362\" data-end=\"3410\">\n<p data-start=\"3364\" data-end=\"3410\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">\u03b1, \u03b2 are weighting coefficients<\/span><\/p>\n<\/li>\n<li data-start=\"3362\" data-end=\"3410\">\n<p data-start=\"3364\" data-end=\"3410\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">\u03c3, \u03b3 are decay parameters<\/span><\/p>\n<\/li>\n<li data-start=\"3362\" data-end=\"3410\">\n<p data-start=\"3364\" data-end=\"3410\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Loc refers to the physical BLE reader&#8217;s location<\/span><\/p>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">If S &gt; \u03b8, the two MACs are considered the same entity re-randomised.<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"article-h2 article-h3\"><span style=\"font-family: archivo, sans-serif; font-size: 28px; color: #323232;\">Enhancing BLE Tracking with Visual Ground Truth<\/span><\/h3>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Role of Visual Analytics<\/strong><\/span><\/p>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">Cameras placed at chokepoints (e.g. shop entrances, corridor transitions, gate access) are used to:<\/span><\/p>\n<ul>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">Count individuals passing specific thresholds (ground truth)<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">Capture physical attributes (clothing color, gait, group association)<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">Generate anonymous path snapshots<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">This creates a complementary dataset that can be temporally aligned with BLE tracking for accuracy validation.<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Fusion Approach<\/strong><\/span><\/p>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">Each BLE-tracked path is aligned with the nearest visual-detected path based on:<\/span><\/p>\n<ul>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Timestamp proximity \u0394t &lt; 2 seconds<\/strong><\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Movement vector similarity<\/strong><\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Dwell zone overlap<\/strong><\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">This hybrid method allows:<\/span><\/p>\n<ul>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">BLE-only paths to be sanity-checked against known ground-truth flow<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">Visual detections to confirm BLE device presence and distinguish individuals in proximity<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">Correction of BLE dropout zones or ambiguous MAC pairings<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"article-h2 article-h3\"><span style=\"font-family: archivo, sans-serif; font-size: 28px; color: #323232;\">Journey Reconstruction and Behavioural Aggregation<\/span><\/h3>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Individual Path Tracking<\/strong><\/span><\/p>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">For each re-identified BLE entity, we construct a sequential record:<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<table style=\"width: 100%; border-collapse: collapse; height: 92px;\" border=\"1\" cellpadding=\"10px\">\n<tbody>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #e8e8e8; width: 20%; background-color: #f7f7f7;\"><span style=\"color: #323232; font-family: archivo, sans-serif;\"><strong>Device ID<\/strong><\/span><\/td>\n<td style=\"height: 23px; border-color: #e8e8e8; width: 20%; background-color: #f7f7f7;\"><span style=\"color: #323232; font-family: archivo, sans-serif;\"><strong>Time<\/strong><\/span><\/td>\n<td style=\"border-color: #e8e8e8; width: 20%; height: 23px; background-color: #f7f7f7;\"><span style=\"color: #323232; font-family: archivo, sans-serif;\"><strong>Zone Entered<\/strong><\/span><\/td>\n<td style=\"border-color: #e8e8e8; width: 20%; height: 23px; background-color: #f7f7f7;\"><span style=\"color: #323232; font-family: archivo, sans-serif;\"><strong>Dwell Time<\/strong><\/span><\/td>\n<td style=\"border-color: #e8e8e8; width: 20%; height: 23px; background-color: #f7f7f7;\"><span style=\"color: #323232; font-family: archivo, sans-serif;\"><strong>Exit Time<\/strong><\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #e8e8e8; width: 20%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">0xA17B&#8230;<\/span><\/td>\n<td style=\"height: 23px; border-color: #e8e8e8; width: 20%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">09:10<\/span><\/td>\n<td style=\"border-color: #e8e8e8; width: 20%; height: 23px;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Restaurant A<\/span><\/td>\n<td style=\"border-color: #e8e8e8; width: 20%; height: 23px;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">12 min<\/span><\/td>\n<td style=\"border-color: #e8e8e8; width: 20%; height: 23px;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">09:22<\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #e8e8e8; width: 20%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">0xA17B&#8230;<\/span><\/td>\n<td style=\"height: 23px; border-color: #e8e8e8; width: 20%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">09:23<\/span><\/td>\n<td style=\"border-color: #e8e8e8; width: 20%; height: 23px;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Retail B<\/span><\/td>\n<td style=\"border-color: #e8e8e8; width: 20%; height: 23px;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">5 min<\/span><\/td>\n<td style=\"border-color: #e8e8e8; width: 20%; height: 23px;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">09:28<\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #e8e8e8; width: 20%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">0xA17B&#8230;<\/span><\/td>\n<td style=\"height: 23px; border-color: #e8e8e8; width: 20%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">09:29<\/span><\/td>\n<td style=\"border-color: #e8e8e8; width: 20%; height: 23px;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">VIP Lounge<\/span><\/td>\n<td style=\"border-color: #e8e8e8; width: 20%; height: 23px;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">22 min<\/span><\/td>\n<td style=\"border-color: #e8e8e8; width: 20%; height: 23px;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">09:51<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">This data can be visualised using a Sankey diagram, Gantt timeline, or path overlay on floor plans.<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Grouping by Flight<\/strong><\/span><\/p>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">Passengers heading to the same gate (e.g. Gate C6, flight EY025 to Abu Dhabi) are grouped by:<\/span><\/p>\n<ul>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">Final detected zone (boarding area)<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">Time window of boarding (e.g. 09:45\u201310:05)<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">BLE device movement convergence<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">Once grouped, aggregate behaviours are derived:<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<table style=\"width: 100%; border-collapse: collapse; height: 115px;\" border=\"1\" cellpadding=\"10px\">\n<tbody>\n<tr style=\"height: 23px;\">\n<td style=\"width: 50%; height: 23px; border-color: #e8e8e8; background-color: #f7f7f7;\"><span style=\"color: #323232; font-family: archivo, sans-serif;\"><strong>Metric<\/strong><\/span><\/td>\n<td style=\"width: 25%; height: 23px; border-color: #e8e8e8; background-color: #f7f7f7;\"><span style=\"color: #323232; font-family: archivo, sans-serif;\"><strong>Value<\/strong><\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 50%; height: 23px; border-color: #e8e8e8;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Avg time in retail<\/span><\/td>\n<td style=\"width: 25%; height: 23px; border-color: #e8e8e8;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">7.4 min<\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 50%; height: 23px; border-color: #e8e8e8;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Avg time in F&amp;B<\/span><\/td>\n<td style=\"width: 25%; height: 23px; border-color: #e8e8e8;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">12.6 min<\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 50%; height: 23px; border-color: #e8e8e8;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">% visited Duty Free<\/span><\/td>\n<td style=\"width: 25%; height: 23px; border-color: #e8e8e8;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">72%<\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"width: 50%; height: 23px; border-color: #e8e8e8;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Avg time at gate before boarding<\/span><\/td>\n<td style=\"width: 25%; height: 23px; border-color: #e8e8e8;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">18.2 min<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">This provides actionable intelligence for commercial planning.<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"article-h3 article-h2\"><span style=\"font-family: archivo, sans-serif; font-size: 28px; color: #323232;\">Accuracy and Limitations<\/span><\/h3>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Accuracy Expectations<\/strong><\/span><\/p>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">Under controlled deployments with overlapping BLE coverage and adequate visual checkpoints:<\/span><\/p>\n<ul>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>BLE-only journey stitching<\/strong>: ~70\u201380% reliability<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Fusion-enhanced BLE pathing<\/strong>: ~85\u201390% journey coverage accuracy<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Zone-level dwell estimation<\/strong>: \u00b110s average temporal deviation<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">The largest factors influencing accuracy include:<\/span><\/p>\n<ul>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>BLE device broadcast intervals<\/strong><\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Crowded zones with high device density<\/strong><\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Blind spots without overlapping readers<\/strong><\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">Visual alignment mitigates many of these weaknesses.<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Limitations<\/strong><\/span><\/p>\n<p>\u00a0<\/p>\n\n\n\n<ul>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">Cannot uniquely identify individuals; anonymous only<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">BLE must be active (some users disable it)<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">No guarantee that all travelers carry BLE devices<\/span><\/li>\n<li><span style=\"font-family: archivo, sans-serif; color: #666666;\">Randomisation frequency varies across OS versions<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">Despite these, at a population level (100\u2013500 concurrent devices), aggregate patterns remain statistically significant.<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"article-h3 article-h2\"><span style=\"font-family: archivo, sans-serif; font-size: 28px; color: #323232;\">Practical Implementation Guidelines<\/span><\/h3>\n<p>\u00a0<\/p>\n\n\n\n<table style=\"width: 100%; border-collapse: collapse; height: 160px;\" border=\"1\" cellpadding=\"10px\">\n<tbody>\n<tr style=\"height: 23px;\">\n<td style=\"height: 22px; border-color: #e8e8e8; width: 30%; background-color: #f7f7f7;\"><span style=\"color: #323232; font-family: archivo, sans-serif;\"><strong>Task<\/strong><\/span><\/td>\n<td style=\"height: 22px; border-color: #e8e8e8; width: 70%; background-color: #f7f7f7;\"><span style=\"color: #323232; font-family: archivo, sans-serif;\"><strong>Recommended Practice<\/strong><\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #e8e8e8; width: 30%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">BLE reader placement<\/span><\/td>\n<td style=\"height: 23px; border-color: #e8e8e8; width: 70%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">15m grid, &lt;10m mounting height<\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #e8e8e8; width: 30%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Visual camera placement<\/span><\/td>\n<td style=\"height: 23px; border-color: #e8e8e8; width: 70%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Entrances, corridors, major commercial touchpoints<\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #e8e8e8; width: 30%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Data retention<\/span><\/td>\n<td style=\"height: 23px; border-color: #e8e8e8; width: 70%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Anonymous; store only pseudonymised path IDs<\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #e8e8e8; width: 30%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">MAC re-identification<\/span><\/td>\n<td style=\"height: 23px; border-color: #e8e8e8; width: 70%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Use time-RSSI fusion with path continuity heuristics<\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"border-color: #e8e8e8; width: 30%; height: 23px;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Fusion pipeline<\/span><\/td>\n<td style=\"border-color: #e8e8e8; width: 70%; height: 23px;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">BLE \u2192 Preprocessed tracks \u2192 Align to visual ground truth<\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"border-color: #e8e8e8; width: 30%; height: 23px;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Output format<\/span><\/td>\n<td style=\"border-color: #e8e8e8; width: 70%; height: 23px;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Table (CSV), Floorplan heatmaps, Flight-level dashboards<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u00a0<\/p>\n\n\n\n<h3 class=\"article-h3 article-h2\"><span style=\"font-family: archivo, sans-serif; font-size: 28px; color: #323232;\">Use Cases for Airport Operators<\/span><\/h3>\n<p>\u00a0<\/p>\n\n\n\n<table style=\"width: 100%; border-collapse: collapse; height: 138px;\" border=\"1\" cellpadding=\"10px\">\n<tbody>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #e8e8e8; width: 40%; background-color: #f7f7f7;\"><span style=\"color: #323232; font-family: archivo, sans-serif;\"><strong>Use Case<\/strong><\/span><\/td>\n<td style=\"height: 23px; border-color: #e8e8e8; width: 60%; background-color: #f7f7f7;\"><span style=\"color: #323232; font-family: archivo, sans-serif;\"><strong>Benefit<\/strong><\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #e8e8e8; width: 40%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Flight-level shopper profiling<\/strong><\/span><\/td>\n<td style=\"height: 23px; border-color: #e8e8e8; width: 60%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Tailor ads and promotions by nationality\/time slot<\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #e8e8e8; width: 40%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Zone popularity analysis<\/strong><\/span><\/td>\n<td style=\"height: 23px; border-color: #e8e8e8; width: 60%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Optimise retail layouts and lease pricing<\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #e8e8e8; width: 40%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Queue bypass behaviour<\/strong><\/span><\/td>\n<td style=\"height: 23px; border-color: #e8e8e8; width: 60%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Detect early gate rush or missed signage<\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"height: 23px; border-color: #e8e8e8; width: 40%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>VIP lounge utilisation<\/strong><\/span><\/td>\n<td style=\"height: 23px; border-color: #e8e8e8; width: 60%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">Understand dwell and dwell segmentation<\/span><\/td>\n<\/tr>\n<tr style=\"height: 23px;\">\n<td style=\"border-color: #e8e8e8; height: 23px; width: 40%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Retail conversion insight<\/strong><\/span><\/td>\n<td style=\"border-color: #e8e8e8; height: 23px; width: 60%;\"><span style=\"font-family: archivo, sans-serif; color: #666666;\">What % of a flight\u2019s passengers entered Store X<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u00a0<\/p>\n\n\n\n<h3 class=\"article-h3 article-h2\"><span style=\"font-family: archivo, sans-serif; font-size: 28px; color: #323232;\">Future Development Roadmap<\/span><\/h3>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>MAC Persistence Modeling<\/strong><\/span><\/p>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">Investigating ML models (e.g., LSTM) to track &#8220;soft fingerprints&#8221; across randomised MACs, beyond just RSSI time-proximity.<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Multi-modal Identity Matching<\/strong><\/span><\/p>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">Extending to Wi-Fi, UWB, or device charging logs as auxiliary hints, where privacy policies allow.<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\"><strong>Integration with Retail POS<\/strong><\/span><\/p>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">(Optional and privacy-compliant) \u2013 Correlating foot traffic with purchase data, enabling full funnel conversion insight.<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"article-h3 article-h2\"><span style=\"font-family: archivo, sans-serif; font-size: 28px; color: #323232;\">Summary<\/span><\/h3>\n<p>\u00a0<\/p>\n\n\n\n<p><span style=\"font-family: archivo, sans-serif; color: #666666;\">BLE tracking, despite its anonymity and randomisation, can be a powerful tool when combined with visual analytics. With adequate coverage, temporal granularity, and fusion alignment, airport operators can gain deep insights into how passenger cohorts behave by flight. This enables targeted operational improvements and commercial uplift, while remaining compliant with data privacy regulations.<\/span><\/p>\n<p>&nbsp;<\/p>\n\n\n\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<p><span style=\"font-family: archivo, sans-serif; color: #666666; font-size: 16px;\"><a href=\"#SmartAirports\" target=\"_blank\" rel=\"noopener\">#SmartAirports<\/a> <a href=\"#OccupancyAnalytics\" target=\"_blank\" rel=\"noopener\">#OccupancyAnalytics<\/a> <a href=\"#AirportTech\" target=\"_blank\" rel=\"noopener\">#AirportTech<\/a> <a href=\"#BLEReidentification\" target=\"_blank\" rel=\"noopener\">#BLEReidentification<\/a> <a href=\"#AirportAnalytics\" target=\"_blank\" rel=\"noopener\">#AirportAnalytics<\/a><\/span><\/p>\n<p>\u00a0<\/p>\n\n\n\n<style>\ntd {\n  padding: 5px !important;\n}\n<\/style>\n","protected":false},"excerpt":{"rendered":"<p>Modern airports seek to optimise commercial revenues while improving passenger experiences. Understanding how passengers move within departure lounges\u2014especially in retail, F&amp;B, and VIP zones\u2014is central to this goal. &nbsp; Traditional &#8230;<\/p>\n","protected":false},"author":1,"featured_media":6290,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[723,719,186],"tags":[791,790,576],"_links":{"self":[{"href":"https:\/\/www.footfallcam.com\/blog\/wp-json\/wp\/v2\/posts\/6233"}],"collection":[{"href":"https:\/\/www.footfallcam.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.footfallcam.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.footfallcam.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.footfallcam.com\/blog\/wp-json\/wp\/v2\/comments?post=6233"}],"version-history":[{"count":48,"href":"https:\/\/www.footfallcam.com\/blog\/wp-json\/wp\/v2\/posts\/6233\/revisions"}],"predecessor-version":[{"id":7407,"href":"https:\/\/www.footfallcam.com\/blog\/wp-json\/wp\/v2\/posts\/6233\/revisions\/7407"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.footfallcam.com\/blog\/wp-json\/wp\/v2\/media\/6290"}],"wp:attachment":[{"href":"https:\/\/www.footfallcam.com\/blog\/wp-json\/wp\/v2\/media?parent=6233"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.footfallcam.com\/blog\/wp-json\/wp\/v2\/categories?post=6233"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.footfallcam.com\/blog\/wp-json\/wp\/v2\/tags?post=6233"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}