Project 01 · Case Study
An agentic analytics assistant, built in a weekend.
LangGraph + Qdrant + a hand-built semantic layer turned 48 hours of datathon time into a working analyst-on-tap for a real product dataset.
What drove the engagement drop in week 12?
Weekly engagement fell -18.4% in week 12 (Mar 17–23). Decomposing by surface:
| Surface | WoW Δ | Contribution |
| Feed | -22% | 61% |
| Search | -9% | 18% |
| Notifications | -14% | 21% |
Most of the drop is concentrated in the Feed surface and aligns with the Mar 18 ranking model rollout (v2.4). Want me to pull the experiment readout?
Yes — pull the experiment.
Experiment feed_rank_v24 ran Mar 18 → Mar 24.
Sessions / DAU · treatment vs control
Treatment shows a -2.1% lift on sessions/DAU (p = 0.03). The drop is real, not seasonal. I'd recommend rolling back v2.4 or holding out a control until the ranking model is retrained.
Problem
Analysts as a bottleneck.
Most product teams wait days for an analyst to translate a question into SQL, a chart, and a recommendation. The datathon brief: collapse that loop without losing rigor.
Architecture
LangGraph + semantic layer + RAG.
A planner agent decomposes the question, a SQL-tool agent queries the semantic layer (not raw tables), and a retrieval step pulls past analyses from Qdrant. Outputs are validated before they reach the user.
Deployment
Cached, secured, and explainable.
Response caching at the query-plan level kept latency under 4s. Every answer ships with the SQL it ran and the data it pulled — so the analyst-in-the-loop can trust, edit, or override.
Outcomes
80% of requests, served in minutes.
In production at Benable, the same pattern now handles the majority of ad-hoc analytics requests and freed the analyst team to focus on causal and strategic work.