بنقرة واحدة
customer-base-health
Lens 5 -- Assess overall customer base health via C3 chart, acquisition flow, and repeat rates
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Lens 5 -- Assess overall customer base health via C3 chart, acquisition flow, and repeat rates
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | customer-base-health |
| description | Lens 5 -- Assess overall customer base health via C3 chart, acquisition flow, and repeat rates |
Lens 5 of the customer-base audit. Provides the "big picture" view of how the customer base is evolving: are profits coming from loyal returning customers or from constant re-acquisition?
Orders DataFrame with columns: customer_id, date, period, spend, profit (optional), cohort.
The C3 chart is the signature visualization of the customer-base audit. It shows a stacked bar chart where each bar is a period and each segment is a cohort's contribution.
import polars as pl
import plotly.graph_objects as go
c3 = orders.group_by("cohort", "period").agg(
pl.col("spend").sum().alias("value"), # or "profit" if available
pl.col("customer_id").n_unique().alias("n_active"),
).sort("cohort", "period")
# Plotly stacked bar
fig = go.Figure()
for cohort in sorted(c3["cohort"].unique().to_list()):
cd = c3.filter(pl.col("cohort") == cohort)
fig.add_trace(go.Bar(
x=cd["period"].to_list(),
y=cd["value"].to_list(),
name=f"Cohort {cohort}",
))
fig.update_layout(barmode="stack", template="plotly_white",
title="C3: Cohort Contribution Over Time",
xaxis_title="Period", yaxis_title="Revenue/Profit")
Track cohort sizes over time to understand acquisition trends:
acquisition = orders.group_by("cohort").agg(
pl.col("customer_id").n_unique().alias("cohort_size"),
).sort("cohort")
fig = go.Figure(go.Bar(
x=acquisition["cohort"].to_list(),
y=acquisition["cohort_size"].to_list(),
))
fig.update_layout(template="plotly_white", title="Acquisition Flow: New Customers per Cohort",
xaxis_title="Cohort", yaxis_title="New Customers")
For each cohort, compute the fraction of period-t customers who also appear in period t+1:
periods = sorted(orders["period"].unique().to_list())
cohorts_list = sorted(orders["cohort"].unique().to_list())
rates = []
for cohort in cohorts_list:
cohort_orders = orders.filter(pl.col("cohort") == cohort)
for i in range(len(periods) - 1):
p1_custs = set(cohort_orders.filter(pl.col("period") == periods[i])["customer_id"].to_list())
p2_custs = set(cohort_orders.filter(pl.col("period") == periods[i+1])["customer_id"].to_list())
if p1_custs:
rates.append({
"cohort": cohort,
"from_period": periods[i],
"repeat_rate": len(p1_custs & p2_custs) / len(p1_custs),
})
rates_df = pl.DataFrame(rates)
Apply the profit decomposition per cohort per period:
decomp_grid = orders.group_by("cohort", "period").agg(
pl.col("customer_id").n_unique().alias("n_active"),
pl.len().alias("n_transactions"),
pl.col("spend").sum().alias("total_revenue"),
).with_columns(
(pl.col("n_transactions") / pl.col("n_active")).alias("aof"),
(pl.col("total_revenue") / pl.col("n_transactions")).alias("aov"),
).sort("cohort", "period")
${CLAUDE_PLUGIN_ROOT}/references/methodology.md -- C3 chart and customer base health${CLAUDE_PLUGIN_ROOT}/references/expected_patterns.md -- What healthy vs unhealthy looks like${CLAUDE_PLUGIN_ROOT}/references/common_pitfalls.md -- Pitfall #10: ignoring cohort mix effectsTurn completed audit outputs into an executive-ready document (Word/PDF) organized by insight, not by lens -- Pyramid Principle, SCQA, action titles, embedded exhibits
Complete customer-base audit orchestrator -- runs all lenses with parallel sub-agents and review
Lens 4 -- Compare two acquisition cohorts side-by-side using left-aligned analysis
Lens 3 -- Track a single cohort's behavior over time (activity, frequency, value decay)
Lens 1 -- Analyze customer heterogeneity via profit decomposition, distributions, and deciles
Load, validate, and aggregate transaction data for customer-base audit