Halo Effect Tracker

Halo correlation and incremental lift

The flagship halo read — how much off-TikTok revenue moved with TikTok activity over the window, and how confidently that can be claimed. Four things come back:

summarybase_sales is the average daily Amazon+Shopify revenue over the 30 days immediately BEFORE the window (the pre-period run rate). incremental_revenue is the window's revenue minus that run rate carried across the days that have data — the revenue above baseline, and the number to quote as halo lift. It goes negative when the window underperformed the prior 30 days. relationship_strength is the Pearson r between daily TikTok views and daily combined off-platform revenue; views_explain is r squared, readable as 'views explain N% of the day-to-day revenue swing'.

channel_correlations — the same regression per off-platform channel, each with r, a two-sided p_value (below 0.05 is the usual bar for calling it real) and a plain-English label. TikTok GMV is deliberately absent: it is driven by the same views it would be correlated against, so it correlates by construction and is direct attribution, not halo. It appears under attribution instead.

branded_search_correlation — TikTok views vs Amazon branded search, the earliest and cleanest halo signal. Null when the shop has no branded-search tracking.

attribution — raw revenue sums per channel for the window, unmodelled.

lag_days shifts TikTok views forward before correlating, so a video today can be matched against an Amazon order three days later; sweep 0-14 and keep the strongest r. Any r is null when fewer than 5 aligned day-pairs have data on both sides, or when a channel is not connected — check GET /halo/channels first. Correlation is not causation: a strong r with a plausible lag is evidence, not proof.

Defaults to the last 30 days ending yesterday; max 366, though TikTok views are only daily-resolved for the most recent ~30 days, so wider windows weaken the regression rather than strengthen it. Single-shop only.

post/halo/analysis

Request body

start_datestring date nullable

Inclusive window start (YYYY-MM-DD). Defaults to 29 days before end_date (a 30-day window). Max window 366 days.

end_datestring date nullable

Inclusive window end (YYYY-MM-DD). Defaults to yesterday — today's revenue rows have not been pulled yet.

amazon_asinsstring[] nullable

Restrict Amazon revenue and branded search to these ASINs. Omit for the shop total. Values come from GET /halo/products.

shopify_product_idsstring[] nullable

Restrict Shopify revenue to these product IDs. Omit for the shop total. Values come from GET /halo/products.

lag_daysinteger

Shift TikTok views forward N days before correlating, to test a delayed halo (a video today, an Amazon order three days later). 0 correlates same-day. Sweep 0-14 and keep the strongest r.

Response

Successful Response

shop_idinteger required
start_datestring required
end_datestring required
lag_daysinteger required

Changes

No recorded changes to this endpoint across all 1 revision of this API.