skip to content
Steel Ferguson

← Back to home

Cliff Analytics — Merchant-Facing AI Agent

Basin Climbing and Fitness


What It Is

An analytics agent that helps gym owners and GMs understand their business through natural conversation. Instead of navigating dashboards and running reports, the owner asks questions in plain English and gets answers with charts, tables, and investigation when needed.

How It Works

Three-Layer Approach System

Every question goes through an automatic retrieval pipeline before the agent responds:

  1. Business Taxonomy — 20+ concepts that map business terms to data. “Fitness” ≠ “Team” ≠ “Programming.” “Family” = family + duo. The agent knows what each term means in the data.

  2. Analytical Patterns — 11 patterns that teach the agent HOW to approach each type of question. Aggregation, time series, comparison, decomposition, ratio, funnel, temporal, frequency, methodology check.

  3. Worked Examples — 35+ proven question-answer pairs. The agent retrieves the most relevant examples and follows their approach. “For LTV questions, use survival curve not raw average.”

This means the agent doesn’t wing it — it follows tested approaches while still being flexible enough to handle novel questions.

Understand First, Compute Second

The core principle. Before calling any tool, the agent considers:

The agent also checks historical context before interpreting numbers — knows about the 90-for-90 promo, seasonal patterns, Klaviyo flow fixes, and other events that explain anomalies.

What It Can Answer

Revenue & Financial

Membership

Visits & Traffic

Conversion & Funnel

Diagnostics

Flow Audit

Charts & Visualization

Memory System

The merchant agent has tenant-scoped memory via the /remember command:

Feedback Loop

Every conversation is stored with:

This enables:

Admin Dashboard

Available at /admin (OTP-gated for steel@ and trinity@):

Architecture

34 Tools Across 7 Categories

CategoryToolsExamples
Data (18)Revenue, membership, visits, conversion, fitness, camps, day pass volume, member frequency, new member profileget_total_revenue, get_active_member_count, get_day_pass_volume
Charts (6)Preset + fully customchart_revenue_trend, chart_custom
Context (2)Historical business eventsget_month_context, get_promotion_details
Investigation (4)Churn decomposition, visit patterns, revenue change, cohort analysisinvestigate_churn, decompose_revenue_change
Flow Audit (2)Individual pipeline trace + gap finderaudit_customer_flow, find_flow_gaps
Segment Analysis (2)Flexible primitives: survival, billing, count, revenue by any segmentanalyze_segments, pivot_analysis

Domain Knowledge

AssetCountPurpose
Business concepts20+What terms mean in the data
Analytical patterns11How to approach each question type
Worked examples35+Proven approaches for known questions
Business events24 monthsHistorical context for anomaly explanation
Promotions library6Detailed promo lifecycle data

Infrastructure


Evaluation

Test Suite: 56 Scenarios

Easy Questions (35 tests):

CategoryTestsPass Rate
Revenue (total, breakdown, MRR, MoM)8100%
Membership (count, growth, at-risk)8100%
Visits (count, traffic, busy times)3100%
Conversion (return rate, 2-week pass)4100%
Clarification (ambiguous questions)2100%
Out of scope4100%
Charts4100%
Hallucination prevention2100%

Hard Questions (21 tests):

CategoryTestsPass Rate
Multi-step (revenue per member, day pass vs membership)4100%
Diagnostic (why churn, funnel gaps, promo evaluation)3100%
Comparative (lead sources, weekday vs weekend)3100%
Synthesis (weekly briefing, health check)2100%
Time interpretation (this quarter, YTD, last 7 days)3100%
Edge cases (broad, nonsense, future)3100%
Follow-up chains (3 multi-turn tests)3100%

What We Test For

BehaviorHow We Measure
Right tool selectionAgent picks the correct tool for the question type
ClarificationAsks before computing on ambiguous questions
Historical contextChecks business events calendar before interpreting anomalies
Follow-up offersEvery answer ends with a relevant follow-up
No hallucinationNumbers always come from tool calls, never from memory
Show methodologyExplains HOW it calculated complex metrics
Data limitationsMentions 42.6% linkage caveat when relevant
90-for-90 awarenessExcludes promo from tenure/LTV calculations
Scope acknowledgmentSays “I can’t calculate that yet” for unsupported questions

Evaluation Rubric

Dimension1 (Poor)3 (Acceptable)5 (Excellent)
AccuracyWrong numbers, wrong tool, wrong methodologyCorrect numbers but missing contextCorrect numbers + methodology explained + caveats noted
UnderstandingAnswers a different question than what was askedGets the gist, sometimes wrong scopeFully understands intent, clarifies ambiguity, matches scope
MethodologyUses raw averages, includes promo data, no explanationRight approach but doesn’t explain itSurvival curves, correct filters, explains why this method
Context AwarenessIgnores business events, seasonal patternsSometimes mentions relevant contextProactively checks calendar, explains anomalies
CompletenessAnswers with one number, no breakdownAnswers + some breakdownAnswers + breakdown + follow-up + chart offer
ClarificationGuesses on ambiguous questionsSometimes asks, sometimes guessesAlways asks on ambiguous, answers+checks on somewhat-clear
Data QualityDoesn’t mention limitationsOccasionally notes data gapsProactively flags linkage issues, data quality caveats
Follow-throughAnswers and stopsOffers generic follow-upSpecific, relevant follow-up tied to the question

Key Design Decisions

  1. Primitive tools + smart approach guides > prescriptive tools. The segment analysis tool does one thing at a time (survival, billing, count, revenue). The approach guide teaches the agent to compose them for complex analysis like LTV.

  2. Domain knowledge injected per-question, not in the system prompt. The prompt is 6.7K chars of pure behavior rules. The approach retriever injects only the relevant taxonomy, pattern, and examples for each specific question.

  3. Survival curve for tenure, not raw averages. A young, growing gym biases toward short tenures if you only average ended memberships. Survival curves account for active members and give the true expected lifetime.

  4. Every conversation saved. Conversations + feedback + tool calls all go to S3. This is training data for future model fine-tuning and the feedback-to-improvement pipeline.

  5. Business events calendar. The agent knows about the 90-for-90 promo, Klaviyo fixes, seasonal patterns, and pricing changes. It checks context before interpreting any time period.

← Back to home