Skip to main content

Executive Insights

Transform raw data into actionable narrative summaries with color-coded badges highlighting key metrics, trends, and opportunities.

Best for: Executive dashboards, funnel analysis, performance reviews

Key techniques: Row indexing (rows[0], rows[-1]), conditional badge styling, narrative text generation

Executive Insights Example

Template Code

<style>
.insights-badge {
display: inline-block;
background: #EFF6FF;
color: #1E40AF;
padding: 0.08rem 0.5rem;
border-radius: 4px;
font-weight: 600;
font-size: 0.85rem;
white-space: nowrap;
}

.insights-badge.red {
background: #FEF2F2;
color: #DC2626;
}

.insights-badge.green {
background: #F0FDF4;
color: #16A34A;
}

.insights-container {
padding: 1.5rem;
max-width: 800px;
font-size: 0.9rem;
line-height: 1.6;
color: #374151;
background: #FFFFFF;
border-radius: 8px;
margin-bottom: 1.5rem;
}

.insights-container ul {
margin-top: 0.5rem;
padding-left: 1.5rem;
list-style: none;
}

.insights-container li {
margin-bottom: 0.75rem;
}

.insights-container li:last-child {
margin-bottom: 0;
}
</style>

<div class="insights-container">
<ul>
<li><p style="margin-bottom: 1rem; line-height: 1.8;">
<strong>Top Performers:</strong>
<span>{{ rows[0].`Product name` }}</span> (<span class="insights-badge">{{ rows[0].`Purchased` }}</span>),
<span>{{ rows[1].`Product name` }}</span> (<span class="insights-badge">{{ rows[1].`Purchased` }}</span>),
and <span>{{ rows[2].`Product name` }}</span> (<span class="insights-badge">{{ rows[2].`Purchased` }}</span>) lead in actual sales conversions.
</p></li>
<li><p style="margin-bottom: 1rem; line-height: 1.8;">
<strong>Largest Cart Abandonment:</strong>
<span>{{ rows[-1].`Product name` }}</span> shows the biggest gap with <span class="insights-badge red">{{ rows[-1].`Cart abandonment` }} </span> abandoned
(<span style="color: #DC2626; font-weight: 600;">{{ rows[-1].`Added to cart` }}</span> added vs. <span style="color: #0891F2; font-weight: 600;">{{ rows[-1].`Purchased` }}</span> purchased),
followed by <span>{{ rows[-2].`Product name` }}</span> (<span class="insights-badge red">{{ rows[-2].`Cart abandonment` }}</span>)
and <span>{{ rows[-3].`Product name` }}</span> (<span class="insights-badge red">{{ rows[-3].`Cart abandonment` }} gap</span>).
</p></li>
<li><p style="margin-bottom: 1rem; line-height: 1.8;">
<strong>High Conversion Rate:</strong>
<span>{{ rows[0].`Product name` }}</span> demonstrates the strongest purchase intent with only a <span class="insights-badge green">{{ rows[0].`Cart abandonment` }}</span> unit gap,
while <span>{{ rows[1].`Product name` }}</span> (<span class="insights-badge green">{{ rows[1].`Cart abandonment` }}</span>)
and <span>{{ rows[2].`Product name` }}</span> (<span class="insights-badge green">{{ rows[2].`Cart abandonment` }} gap</span>) also show relatively strong conversion.
</p></li>
<li><p style="margin-bottom: 0; line-height: 1.8;">
<strong>Opportunity Area:</strong> Products with <span class="insights-badge red">&ge;{{ rows[-3].`Cart abandonment` }}</span> gap suggest potential for targeted remarketing campaigns or checkout optimization.
</p></li>
</ul>
</div>

Required Data Fields

FieldTypeDescription
Product nameDimensionProduct or item name
PurchasedMeasureNumber of completed purchases
Added to cartMeasureNumber of cart additions
Cart abandonmentMeasureGap between cart and purchase

Sample Data

Import this data into Holistics to use: sample-data-insights.csv

Product name,Added to cart,Purchased,Cart abandonment
Dumbbells,520,500,20
Fitness Tracker,500,450,50
Jump Rope,480,420,60
Wireless Headphones,500,420,80
Running Shoes,480,380,100
Water Bottle,520,350,170
Protein Powder,490,310,180
Yoga Mat,500,290,210
Resistance Bands,500,260,240
Exercise Bike,500,180,320

Customization Tips

  • Adjust the badge colors (.insights-badge.red, .insights-badge.green) to match your brand
  • Modify the narrative text to fit your specific use case
  • Add more rows by referencing rows[3], rows[4], etc.
  • Use negative indexing (rows[-1]) to always reference the last items regardless of data size

Let us know what you think about this document :)