Data storytelling & reporting

An analysis only creates value when someone acts on it. Senior managers have limited time, so your job is to deliver one clear message, backed by evidence, with a recommended action. That is data storytelling.

Start with the big idea

Before building slides, write your main message in one sentence that contains a point of view and the stakes:

"Weekday evening sales in our Lucknow stores fell 18% after the new traffic rules, so we should test a 6–9 pm delivery offer before the wedding season."

If you cannot write this sentence, you are not ready to present.

A simple structure: situation, complication, resolution

Part Question it answers Example
Situation What is normal? Lucknow stores contribute 22% of revenue.
Complication What changed or is at risk? Evening sales dropped 18% since March.
Resolution What should we do? Pilot delivery offer in two stores for four weeks.

Put the recommendation first for senior audiences and the supporting evidence after it.

Pick the chart for the message

Message Chart
Change over time Line chart
Compare categories Horizontal bar chart, sorted
Part of a whole (few parts) Stacked bar, or a pie with at most 3–4 slices
Relationship between two numbers Scatter plot
Single headline number Big number with a comparison ("₹4.2 cr, +9% vs last year")

Make the chart say the message

Use the title for the insight, not a description, and highlight only what matters:

import matplotlib.pyplot as plt

months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
evening = [410, 402, 395, 330, 322, 318]   # ₹ thousand

fig, ax = plt.subplots(figsize=(7, 3.5))
ax.plot(months, evening, color="grey", marker="o")
ax.plot(months[2:4], evening[2:4], color="crimson", linewidth=3)
ax.annotate("New traffic rules", xy=(3, 330), xytext=(3.4, 380),
            arrowprops={"arrowstyle": "->"})
ax.set_title("Lucknow evening sales fell 18% after March")
ax.set_ylabel("Sales (₹ thousand)")
ax.spines[["top", "right"]].set_visible(False)
plt.tight_layout()
plt.savefig("evening_sales.png", dpi=150)

Grey for context and one accent colour for the story is a simple rule that works almost everywhere.

The one-page report

For recurring reporting (weekly MIS, monthly review), a consistent layout builds trust:

  1. Headline — the one sentence that matters this week.
  2. KPI strip — 3–5 numbers, each with a comparison (vs target, vs last year).
  3. Two or three charts explaining the biggest movements.
  4. Actions and owners with dates.
  5. Notes — data sources, definitions and known data issues.

Common mistakes

  • Showing every chart you made instead of the three that support the message.
  • Titles like "Sales by month" that make the reader find the insight.
  • Numbers without context: ₹38 lakh means nothing without a target or comparison.
  • Hiding uncertainty; say plainly when data is incomplete or a sample is small.
  • 3D charts, dual axes and rainbow colours.

Practice

Take any analysis you have done recently. Write the big-idea sentence, redraw your most important chart with an insight title and a single highlight colour, and fit the whole story on one page using the five-part layout above.

B

Written by Bablu Kumar Jha

Founder, BeeProton AI · Mumbai, Maharashtra, India