Every day from to . Hover for exact values.
Y axis: organic post impressions. X axis: month, 2026. Months marked * are partial.
Y axis: page engagements as a share of organic impressions.
August matched April on reach-adjusted performance.
Judged only on reactions, comments and shares, April looked like a runaway outlier. At the page level the two months are near-identical — 35,090 engagements in April against 35,758 in August — and August did it on 20% less reach, for a 25.2% engagement rate versus April's 20.0%. August was the best month by conversion, which the post-level counts hid entirely.
Restricted to the 79 days with exactly one post, so a day's reach maps to one posting hour.
9-11pm wins on conversion, not on reach.
On solo-post days, posting at 9-11pm produced an engagement rate 6.7 points higher than posting between 3pm and 8pm (p=0.013) — while reaching a statistically identical number of people (p=0.798). Same audience size, substantially more of them acting. That rules out the distribution confound: the audience is more responsive late at night, Facebook is not simply showing those posts to more people.
Y axis: median daily engagement rate. X axis: three-hour window, local Eastern time, ordered best to worst. Dashed line is the 206-day average of 19.9%.
Y axis: median organic impressions that day. Same windows and order as the left chart. Deliberately flat — reach does not track posting hour, which is what makes the rate difference meaningful.
Two-sided permutation tests on the difference of medians, 20,000 resamples. n=9 late-night days against 34 afternoon/evening days.
Direction never flips and magnitude stays between +4.7 and +9.1 points, but significance is sensitive to the impression floor and to April. Real in direction, imprecise in magnitude.
Two honest limits. The 9-11pm hypothesis came from an earlier pass over this same dataset, so the reach normalisation strengthens the mechanism but is not independent confirmation — only new posts provide that. And daily engagement counts include activity on older posts, so on a solo-post day the new post dominates the number without being its only contributor.
Click any column to sort.
Reactions, comments and shares are as-of the pull date, not as-of publication, so older posts have had longer to accumulate. Dates link to the post on Facebook.
Per-post reach is not retrievable in Graph API v26.0.
Meta retired the entire post-level impressions family — post_impressions,
post_impressions_unique, post_impressions_organic and
post_engaged_users all return "must be a valid insights metric". Only
post_clicks, post_reactions_by_type_total and
post_video_views survive on the post node. That is why the timing analysis is
built from day-level reach on solo-post days rather than per-post reach directly.
page_fans_online is also retired, so the "when your fans are online" curve that
would answer the timing question head-on is no longer exposed through the API. It remains
visible inside Meta Business Suite.
Scale warning.
Facebook's page_post_engagements counts clicks, photo expands and link taps as well
as reactions, comments and shares. It runs roughly 10-18x the reaction/comment/share totals in
the posts table, so the two scales are not interchangeable.