3DRetail and operationsGuide 09

Store footfall heatmaps for daypart demand

Make lunch rushes and after-work peaks obvious across weekdays and hours with a rotatable 3D grid.

Visitor demand by daypart

Example data
Height shows the numerical value; colour shows its shade band. Zero and negative values are flat. Outlined tiles have no data. Drag to orbit. Focus the chart and use arrow keys to rotate, plus or minus to zoom, and Home to reset. Tab to enter the grid, then use arrow keys to inspect adjacent cells.Row 1, column 12: 21Row 1, column 11: 38Row 2, column 12: 28Row 1, column 10: 48Row 2, column 11: 49Row 3, column 12: 34Row 1, column 9: 38Row 2, column 10: 62Row 3, column 11: 60Row 4, column 12: 41Row 1, column 8: 22Row 2, column 9: 49Row 3, column 10: 77Row 4, column 11: 72Row 5, column 12: 59Row 1, column 7: 16Row 2, column 8: 28Row 3, column 9: 60Row 4, column 10: 91Row 5, column 11: 115Row 6, column 12: 67Row 1, column 6: 25Row 2, column 7: 20Row 3, column 8: 35Row 4, column 9: 72Row 5, column 10: 150Row 6, column 11: 130Row 1, column 5: 47Row 7, column 12: 75Row 2, column 6: 33Row 3, column 7: 25Row 4, column 8: 41Row 5, column 9: 115Row 6, column 10: 170Row 1, column 4: 47Row 7, column 11: 146Row 2, column 5: 62Row 3, column 6: 40Row 4, column 7: 30Row 5, column 8: 59Row 6, column 9: 130Row 1, column 3: 25Row 7, column 10: 190Row 2, column 4: 61Row 3, column 5: 76Row 4, column 6: 48Row 5, column 7: 36Row 6, column 8: 67Row 1, column 2: 14Row 7, column 9: 146Row 2, column 3: 32Row 3, column 4: 76Row 4, column 5: 90Row 5, column 6: 56Row 6, column 7: 41Row 1, column 1: 12Row 7, column 8: 75Row 2, column 2: 18Row 3, column 3: 40Row 4, column 4: 90Row 5, column 5: 104Row 6, column 6: 63Row 7, column 7: 46Row 2, column 1: 16Row 3, column 2: 22Row 4, column 3: 47Row 5, column 4: 104Row 6, column 5: 118Row 7, column 6: 71Row 3, column 1: 19Row 4, column 2: 26Row 5, column 3: 55Row 6, column 4: 118Row 7, column 5: 132Row 4, column 1: 23Row 5, column 2: 30Row 6, column 3: 62Row 7, column 4: 132Row 5, column 1: 27Row 6, column 2: 34Row 7, column 3: 70Row 6, column 1: 30Row 7, column 2: 39Row 7, column 1: 34
lessmore
7 days · 09:00–20:00Drag to explore · Keyboard accessible
Rows
Weekday
Columns
Operating hour
Value
Visitor count → height

The pattern

What the data tells you

Lunch and evening rushes rise above quieter hours. Rotate the scene to compare the dayparts across the week.

Use rows for days, columns for operating hours, and height for visitors. Circular columns and a patterned material make the surface feel like a physical volume while keeping the underlying matrix simple.

Teams planning staffing, inventory, or promotions need to compare two time dimensions at once. The 3D view adds a sense of volume without forcing a WebGL dependency or a separate rendering model.

Build it in React

From data to heatmap

TypeScript / React

Prepare your data

A day-by-hour matrix of visitors, orders, scans, or another count that can be compared across the week.

Make the component yours

Start with this example. Adjust the labels, colours, and tooltips to fit your product.

store-footfall.tsx
import { Heatmap3D } from "@thilakbhat/heatmap-ui";
import "@thilakbhat/heatmap-ui/styles.css";

// One row per weekday, one column per operating-hour bucket.
const visitors = [
  [42, 55, 88, 142, 118, 74],
  [38, 51, 81, 126, 111, 68],
  [44, 62, 94, 154, 132, 79],
  // …the rest of the week
];

export function StoreFootfall() {
  return (
    <Heatmap3D
      rows={visitors.length}
      columns={visitors[0].length}
      values={visitors}
      shape="circle"
      material="pattern"
      maxHeight={55}
      interactive
      showControls
      ariaLabel="Store footfall by day and hour"
    />
  );
}
Key props
Heatmap3Dshape="circle"material="pattern"showControls
API reference

A few more details

Common questions

Store footfall heatmaps, explained.

What is a 3D store footfall heatmap?

It maps visitors, orders, or scans by weekday and operating hour, using height to make busy dayparts stand out across the week.

How can a footfall heatmap improve staffing plans?

Compare the tallest columns across days and hours to find lunch rushes, after-work peaks, and consistently quiet windows that can inform staffing, inventory, or promotions.

What data shape does a retail footfall heatmap use?

Use a day-by-hour matrix where every cell contains a visitor, order, scan, or demand count. Keep the time labels in the same order as the matrix so comparisons remain accurate.

Can the same heatmap compare weekdays and hours?

Yes. Give each weekday a row and each operating-hour bucket a column, then use Heatmap3D to add height without changing the simple two-dimensional data model.