Grouped comparison bars
Regional store brand performance vs targets
Try in PlaygroundExample brief
A grouped bar chart showing the performance of private label grocery brands across six regional divisions. Each division compares the current Q3 penetration percentage against a fixed 25% goal and last year's actual performance. The slide highlights that while most regions are growing, the Coastal West and Suburban East divisions are falling short of the corporate target and need intervention.
Render it
Structured intent — create_slide payload
Copy-paste-ready. Renders deterministically (verbatim, no LLM). Add a theme_id for any of the built-in themes — the layout stays identical.
{
"form": "bar_rank_chart",
"variant": "grouped_comparison_bar",
"headline": "Private label penetration has expanded since last year but trails the 25% target in two key divisions",
"context": "Store brand share of total basket revenue (%)",
"caution": "Coastal West and Suburban East require localized promotion of value-tier brands before year-end.",
"source_note": "Point of Sale (POS) analytics, week ending Oct 12, 2024",
"data": {
"unit": "%",
"categories": [
{
"label": "Metro Core",
"series": [
{
"label": "Q3 Current",
"value": 28.4,
"display": "28.4%"
},
{
"label": "Goal",
"value": 25,
"display": "25.0%"
},
{
"label": "LY Actual",
"value": 23.8,
"display": "23.8%"
}
]
},
{
"label": "Suburban East",
"series": [
{
"label": "Q3 Current",
"value": 21.6,
"display": "21.6%"
},
{
"label": "Goal",
"value": 25,
"display": "25.0%"
},
{
"label": "LY Actual",
"value": 20.4,
"display": "20.4%"
}
],
"status_label": "Lagging",
"tone": "warn"
},
{
"label": "Coastal West",
"series": [
{
"label": "Q3 Current",
"value": 18.2,
"display": "18.2%"
},
{
"label": "Goal",
"value": 25,
"display": "25.0%"
},
{
"label": "LY Actual",
"value": 16.9,
"display": "16.9%"
}
],
"status_label": "Lagging",
"tone": "bad"
},
{
"label": "Lakeside",
"series": [
{
"label": "Q3 Current",
"value": 26.1,
"display": "26.1%"
},
{
"label": "Goal",
"value": 25,
"display": "25.0%"
},
{
"label": "LY Actual",
"value": 24.7,
"display": "24.7%"
}
]
},
{
"label": "Central Hub",
"series": [
{
"label": "Q3 Current",
"value": 24.8,
"display": "24.8%"
},
{
"label": "Goal",
"value": 25,
"display": "25.0%"
},
{
"label": "LY Actual",
"value": 22.5,
"display": "22.5%"
}
]
},
{
"label": "Northern Range",
"series": [
{
"label": "Q3 Current",
"value": 30.6,
"display": "30.6%"
},
{
"label": "Goal",
"value": 25,
"display": "25.0%"
},
{
"label": "LY Actual",
"value": 28.2,
"display": "28.2%"
}
]
}
],
"legend": [
"Q3 Current",
"Goal",
"LY Actual"
]
}
}cURL (REST)
curl -X POST https://api.slideforge.dev/v1/render/intent \
-H "Authorization: Bearer sf_live_..." \
-H "Content-Type: application/json" \
-d '{"form":"bar_rank_chart","variant":"grouped_comparison_bar","headline":"Private label penetration has expanded since last year but trails the 25% target in two key divisions","context":"Store brand share of total basket revenue (%)","caution":"Coastal West and Suburban East require localized promotion of value-tier brands before year-end.","source_note":"Point of Sale (POS) analytics, week ending Oct 12, 2024","data":{"unit":"%","categories":[{"label":"Metro Core","series":[{"label":"Q3 Current","value":28.4,"display":"28.4%"},{"label":"Goal","value":25,"display":"25.0%"},{"label":"LY Actual","value":23.8,"display":"23.8%"}]},{"label":"Suburban East","series":[{"label":"Q3 Current","value":21.6,"display":"21.6%"},{"label":"Goal","value":25,"display":"25.0%"},{"label":"LY Actual","value":20.4,"display":"20.4%"}],"status_label":"Lagging","tone":"warn"},{"label":"Coastal West","series":[{"label":"Q3 Current","value":18.2,"display":"18.2%"},{"label":"Goal","value":25,"display":"25.0%"},{"label":"LY Actual","value":16.9,"display":"16.9%"}],"status_label":"Lagging","tone":"bad"},{"label":"Lakeside","series":[{"label":"Q3 Current","value":26.1,"display":"26.1%"},{"label":"Goal","value":25,"display":"25.0%"},{"label":"LY Actual","value":24.7,"display":"24.7%"}]},{"label":"Central Hub","series":[{"label":"Q3 Current","value":24.8,"display":"24.8%"},{"label":"Goal","value":25,"display":"25.0%"},{"label":"LY Actual","value":22.5,"display":"22.5%"}]},{"label":"Northern Range","series":[{"label":"Q3 Current","value":30.6,"display":"30.6%"},{"label":"Goal","value":25,"display":"25.0%"},{"label":"LY Actual","value":28.2,"display":"28.2%"}]}],"legend":["Q3 Current","Goal","LY Actual"]}}'Frequently asked questions
How do I render the Grouped comparison bars template?
Send a POST to /v1/render/auto with a brief, or call create_slide via MCP with the structured intent shown below. The response includes an editable .pptx, a PDF, and a PNG. $0.05 per slide.
Does an AI write the slide?
No. SlideForge renders deterministically from a structured intent — no LLM draws the slide, so text is never mangled or fabricated. The optional brief path uses a router to pick the pattern, then renders deterministically.
Can I customize the colors and fonts?
Yes. Pass a theme_id to apply a built-in or custom brand theme; the layout stays the same.
Try this template
Render Grouped comparison bars deterministically — editable PowerPoint in under a second.