Juniper Books · Analysis workspace
Holiday email analysis
Report
Flow assumptions
Populate with Juniper Books data
ListrakMessage[] { list: string, messageType: string (broadcast | triggered), channel: string (Email | SMS), campaign: string, name: string, sendDate: string, spanStart: string (YYYY-MM-DD), spanEnd: string (YYYY-MM-DD), revenueCents: number, sends: number, opens: number, clicks: number, uniqueClicks: number, conversions: number, aovCents: number } gaDaily: [purchases: number, sessions: number, newUsers: number][] plus gaDailyStart: string (YYYY-MM-DD) and gaDailyEnd: string (YYYY-MM-DD) novemberPriorYearFlowSends: number, decemberPriorYearFlowSends: number excludedNameParts: string[] (fragments matched against list, campaign, and message name) promoBlastNames: string[] (exact message names counted as campaigns when triggered and at least promoBlastMinSends: number)Send plan narrative
Populate with Juniper Books data
PlannedSend[] { date: string (YYYY-MM-DD), name: string, channel: "email", recipients: number, approximate: boolean, low: number | null, high: number | null, status: "sent" | "projected", note: string } ListrakMessage[] { list: string, messageType: string (broadcast | triggered), channel: string (Email | SMS), campaign: string, name: string, sendDate: string, spanStart: string (YYYY-MM-DD), spanEnd: string (YYYY-MM-DD), revenueCents: number, sends: number, opens: number, clicks: number, uniqueClicks: number, conversions: number, aovCents: number }Click lift narrative
Populate with Juniper Books data
ListrakMessage[] { list: string, messageType: string (broadcast | triggered), channel: string (Email | SMS), campaign: string, name: string, sendDate: string, spanStart: string (YYYY-MM-DD), spanEnd: string (YYYY-MM-DD), revenueCents: number, sends: number, opens: number, clicks: number, uniqueClicks: number, conversions: number, aovCents: number }Visualizations narrative
Populate with Juniper Books data
weeklyPlacedOrder: [start: string (YYYY-MM-DD), dollars: string][] and gaWeeklyDollars: string[] (store-analytics revenue by week, ratios only) calendarForecast { definition: string, goalDollars: number, actualMayThroughOctober2026Cents: number, probabilities: { hits: number, draws: number, probability: number, totalCents: { p5: number, p25: number, p50: number, p75: number, p95: number, mean: number } }, coefficients: { id: string, label: string, block: string, priorMeanLog: number, priorMeanFactor: number, priorSd: number, posteriorMeanLog: number, posteriorMeanFactor: number, posteriorSd: number }[], weeks: { start: string, end: string, days: number, regime: string, text: string, scenarioCents: number, posterior: { p5: number, p25: number, p50: number, p75: number, p95: number, mean: number } }[] }Email trends narrative
Populate with Juniper Books data
ListrakMessage[] { list: string, messageType: string (broadcast | triggered), channel: string (Email | SMS), campaign: string, name: string, sendDate: string, spanStart: string (YYYY-MM-DD), spanEnd: string (YYYY-MM-DD), revenueCents: number, sends: number, opens: number, clicks: number, uniqueClicks: number, conversions: number, aovCents: number }