U3.06.3Unequal month lengthsdesign

Months have unequal lengths; equal-width monthly bars are not directly comparable

Aliases: monthly bars · day normalization

What it is

Monthly-aggregated bar charts set twelve equal-width bars in a row, but months are not equal: 28 to 31 days, February about 10% shorter than March. For volume metrics (orders, incidents, amounts), equal bars imply "same-length periods compared," while the actual base periods differ — March carries roughly 10% more opportunity than February, and the bar-height difference mixes genuine change with calendar difference. Small, you think? The "plunge" from January into February is often the calendar's joke; in month-over-month KPI reviews, 10% is enough to invert conclusions.

Why it happens

The bar chart's comparative semantics say "area (length) is volume," and readers assume the supporting periods beneath the bars are equivalent. Day-count differences enter multiplicatively: monthly value ≈ daily rate × days, and equal-width bars compare the product of "rate and days" as if it were the rate itself. The distortion concentrates at short-long month seams (February-March worst) and in month-over-month narratives (this month vs last); year-over-year comparisons are immune, days being equal. Weekly aggregation carries the same disease: 53-week years, weeks spanning months, holiday weeks — all unequal base periods; quarters (90–92 days) likewise, though milder.

Where it stops holding

Not every monthly chart needs normalizing: rate and average metrics (daily averages, conversion rates, unit prices) already divide out the base, so equal bars compare directly; scenes needing "volume" semantics (budgets, cumulative figures) are inherently incomparable — comparability comes from declaration, not geometry. Normalization costs the bar its "monthly total" intuition (a fictional month of daily-rate × 30), so the axis label must say "per day." The standard fix in finance and operations is equal-length periods (4-4-5 fiscal calendars, rolling 28-day windows), eliminating unequal bases at the calendar's source.

Applying it

  • Classify the metric: volume metrics plotted by month get day normalization (per-day) or equal-length periods, without exception; any comparison question touching February forces normalization.
  • Declare the basis in axis and caption: "bar height is per-day (total / days in month)," preventing a monthly-total reading.
  • Verification: show raw-total and normalized February-March bars to two reader groups asking "how did March do?"; opposite conclusions between versions make this leaf's training case.

Related

  • Same group: U3.06.1 Uneven sampling plotted at even spacing distorts rates of change · U3.06.2 Gaps in a series should appear as gaps on the axis, not be skipped over · U3.06.4 Time zones and DST create duplicated or missing hours on the axis · U3.06.5 Temporal granularity decides which periodicities become visible
  • Nearby: U8.07.2 Trend breaks from changed definitions need annotation · U2.02.1 Bar charts suit magnitude comparison across categories
  • Search terms: monthly comparison · day normalization · calendar effect · 4-4-5 calendar

Cards in the same group

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/handbook/U3.06.3