Skip to main content
All postsEngineering

Building a live analytics dashboard: footfall tracking at mall scale

5 min read

E-Max PCM needed real-time visitor counts and area-level breakdowns across a live mall. The challenge was not collecting the data — it was making that data readable at a glance for operators who have ten other things on their mind.

A shopping mall has a lot going on at any given moment. Footfall at the entrance, dwell time in the food court, traffic through the anchor tenant versus the smaller units, zone-level peaks by hour. E-Max PCM wanted all of this visible in real time, on a single screen, by the operations team that runs the mall day to day.

The brief sounds technical: sensors feed data, data goes into a database, a dashboard reads the database. In practice, every step has a design problem hiding inside the engineering problem.

The data is only as useful as its context

Raw footfall numbers mean very little without comparison. Is 4,200 visitors at 3pm on a Tuesday good or bad? It depends on the same time last Tuesday, the same time last month, and whether there is an event running today. A number without context is noise.

We built the dashboard around comparison as a first-class concept. Every metric shows a sparkline of the last seven days alongside the current value. Area-level panels show variance from the same zone's weekly average, highlighted green or red depending on direction. The dashboard is designed to surface deviations from expected patterns — not just to show current state.

Designing for peripheral use

Operations teams do not sit and stare at a dashboard. They glance at it between tasks. This means the dashboard has to communicate its status from a distance, at a glance, without requiring the user to read anything.

We used a limited colour vocabulary: green for above expected, amber for within range but worth watching, red for a significant deviation requiring attention. Zone labels are large enough to read from two metres. We resisted the temptation to add charts for everything — charts require looking, not glancing.

The most useful feedback we received during testing was from an operations manager who said the previous system "felt like a spreadsheet." The new system, he said, "tells me where to look." That is exactly the right outcome for a peripheral-use tool.

Real-time without chaos

Streaming live data into a dashboard creates update noise. If the footfall counter updates every second, the numbers are always changing, and the eye is constantly drawn to movement even when nothing meaningful has changed.

We settled on a 30-second refresh cycle for the live numbers, with a visual pulse on the last-updated timestamp so operators can see the data is live without the numbers flickering. Zone-level data updates every five minutes — fast enough to be useful, slow enough that the dashboard feels stable.

The sensor data pipeline runs separately from the display layer, buffering and aggregating before it reaches the UI. This isolation means a spike in sensor writes does not affect dashboard performance, and we can replay historical data through the same aggregation pipeline without changing the frontend.

What a dashboard is really for

Dashboards do not make decisions. People do. A good dashboard reduces the time between something happening and the right person knowing about it. Every design decision in the E-Max system — the comparison baselines, the colour vocabulary, the update cadence — was made in service of that one goal.

Keep reading

Reach us directly — no forms, no wait

Let'stalk.

Drop us a message or call us directly. We reply to every enquiry — usually the same day.