Add explicit Insights and Opportunities sections to campaign-end report
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
6ce1c09797
commit
46b5da00ce
3 files changed
+30
-3
No files matched your search
@@ -4326,10 +4326,14 @@ def _render_campaign_end_summary():
|
||||
for dim_title, dim_text in exec_summary.get("audience_dimensions") or []:
|
||||
body.append(html.P([html.Strong(f"{dim_title}: "), dim_text]))
|
||||
|
||||
insights = exec_summary.get("insights") or []
|
||||
if insights:
|
||||
body.append(html.H5("Insights", style={"marginTop": "18px", "color": "#1b3a5c"}))
|
||||
body.append(html.Ul([html.Li(i) for i in insights]))
|
||||
|
||||
recommendations = exec_summary.get("recommendations") or []
|
||||
if recommendations:
|
||||
body.append(html.H5("Recommendations for October & Beyond",
|
||||
style={"marginTop": "18px", "color": "#1b3a5c"}))
|
||||
body.append(html.H5("Opportunities", style={"marginTop": "18px", "color": "#1b3a5c"}))
|
||||
body.append(html.Ul([html.Li(r) for r in recommendations]))
|
||||
|
||||
if not fts_f.empty:
|
||||
|
||||
@@ -474,6 +474,23 @@ NOTES = {
|
||||
"behind both the format findings above and the failed direct "
|
||||
"asks below."),
|
||||
],
|
||||
"insights": [
|
||||
"Carousel ran 7 times across the campaign and averages 29.1% "
|
||||
"Real Eng %, clearly the best format — Text/Image averages "
|
||||
"9.1%.",
|
||||
"13/08 is the campaign's #2 post (48.7%), a Carousel paired "
|
||||
"with a concrete cost claim.",
|
||||
"A specific claim beats vague content every time it's been "
|
||||
"tried, in any format.",
|
||||
"The audience is stable: Academia/Research Institute, "
|
||||
"Germany-based, Researcher/Scientist-heavy in all 3 months.",
|
||||
"Direct asks (2 polls, 1 pilot-partner CTA) got zero or weak "
|
||||
"response every time, across all 3 months.",
|
||||
"One real engagement trigger was found (08/09's pain-point "
|
||||
"post) but never repeated.",
|
||||
"Growth decelerated every month (July +25.9%, August +17.8%, "
|
||||
"September +12.7%) even as total followers grew 85 to 142.",
|
||||
],
|
||||
"recommendations": [
|
||||
"Make Carousel the default format and keep pairing it with a "
|
||||
"concrete claim — 13/08 already proved this works (Carousel + "
|
||||
|
||||
@@ -329,9 +329,15 @@ def build_report_docx(ctx, timeframe_value="all"):
|
||||
p.add_run(f"{dim_title}: ").bold = True
|
||||
p.add_run(dim_text)
|
||||
|
||||
insights = exec_summary.get("insights") or []
|
||||
if insights:
|
||||
doc.add_heading("Insights", level=1)
|
||||
for item in insights:
|
||||
doc.add_paragraph(item, style="List Bullet")
|
||||
|
||||
recommendations = exec_summary.get("recommendations") or []
|
||||
if recommendations:
|
||||
doc.add_heading("Recommendations for October & Beyond", level=1)
|
||||
doc.add_heading("Opportunities", level=1)
|
||||
for item in recommendations:
|
||||
doc.add_paragraph(item, style="List Bullet")
|
||||
elif monthly_notes:
|
||||
|
||||
Reference in new issue
Block a user