{"id":70946,"plugin_id":"plugin_asdk_app_6ad952447f7481918caf0285fb042792","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-29T19:06:06.999Z","digest":"f9e5a57bbff4b59f96579334b576b3cfe93cf5c91b4aeee2e1b36472f309d793","against":null,"payload":{"description":"Build a marketing performance report with Toffu: KPI hierarchy, cadence and an executive summary. Use when the user asks for a weekly, monthly or client report, or how to structure one.","included_files":[],"name":"reporting-best-practices","skill_md_contents":"---\nname: reporting-best-practices\ndescription: Build a marketing performance report with Toffu: KPI hierarchy, cadence and an executive summary. Use when the user asks for a weekly, monthly or client report, or how to structure one.\n---\n\nUse the Toffu tools. Never apply a change the user has not confirmed.\n\n1. Call `get_account_context`. If a platform has several accounts, ask which one. Pass the ids as `account_ids` to `query_campaign_performance`, and as `account_id` to the other tools.\n2. Read data with `query_campaign_performance` (daily rows: `time_increment` \"1\"), `list_campaigns`, `list_ad_sets` and `list_ads`.\n3. To change something, call `propose_update_campaign`, `propose_update_ad_set` or `propose_update_ad`, and show the preview. Call `apply_change` only after the user confirms that change.\n\nGive the report in the chat, with tables. There is no dashboard or file output here.\n\n# Marketing Reporting & Dashboard Design\n\n## KPI Hierarchy\nStructure metrics in three tiers:\n- **North Star Metric**: the single metric most correlated with business success (e.g., MRR, revenue, activated users).\n- **Primary KPIs** (3-5): directly influence the north star. Examples: CAC, ROAS, conversion rate, LTV.\n- **Secondary KPIs** (5-10): operational metrics that influence primaries. Examples: CTR, CPC, email open rate, bounce rate.\n\nReport top-down: north star first, then drill into primaries and secondaries only to explain changes.\n\n## Reporting Cadence\n- **Daily**: automated alerts on anomalies (spend spikes, conversion drops, site errors). No manual reports.\n- **Weekly**: channel performance summary. Focus on trends vs prior week and targets.\n- **Monthly**: full performance review. Include MoM and YoY comparisons, campaign-level analysis, budget reconciliation.\n- **Quarterly**: strategic review. Attribution analysis, incrementality results, budget reallocation recommendations, competitive landscape shifts.\n\n## Dashboard Layout Principles\n- **Top row**: north star metric + primary KPIs with trend indicators (up/down arrows, % change).\n- **Middle section**: channel breakdown table or chart. Sortable by key metrics.\n- **Bottom section**: detailed views — campaign performance, audience segments, content performance.\n- Use consistent date ranges. Default to last 30 days with comparison to prior period.\n- Limit to 1 page (or 1 scroll) for executive dashboards. Detail dashboards can go deeper.\n\n## Data Storytelling\n- Don't just present numbers. Answer: **what happened, why, and what we're doing about it**.\n- Lead with the insight, not the data. \"Conversion rate dropped 15% because landing page load time doubled after the deploy on March 3rd\" — not \"here's a chart of conversion rate.\"\n- Use annotations on charts to mark events (launches, outages, seasonal peaks).\n\n## Anomaly Detection\n- Set thresholds for automated alerts: any metric moving > 20% from trailing 7-day average.\n- Investigate anomalies within 24 hours. Most are data issues or external factors — catch real problems fast.\n- Track false positive rate. Tune thresholds to minimize alert fatigue.\n\n## Benchmark Setting\n- Set benchmarks from: historical performance (trailing 90-day average), industry data, or competitor analysis.\n- Update benchmarks quarterly. Stale benchmarks lose relevance.\n- Report performance vs benchmark, not just raw numbers. Context makes data actionable.\n\n## Executive Summary Format\nEvery report starts with a 3-5 sentence executive summary:\n1. Overall performance vs target (on track / ahead / behind).\n2. Biggest win this period.\n3. Biggest risk or underperformance.\n4. Key action items for next period.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}