💡 Inspiration

In the subscription economy, churn is the silent killer. Most companies wait for a cancellation email to realize a customer is unhappy. But the truth is, the decision to leave happens weeks earlier—when usage drops.

I wanted to solve the "Silent Churn" problem. I realized that while we have data (Salesforce Data Cloud) and visualization (Tableau), we often lack the immediate action layer. I built Revenue Sentinel to close that gap—moving from reactive reporting to proactive saving.

⚙️ What it does

Revenue Sentinel is an autonomous "Human-in-the-Loop" agent that protects recurring revenue.

  1. Detects: A Python agent monitors usage telemetry in real-time. It doesn't just look for zeros; it calculates specific drop-off patterns (e.g., "41% drop vs. 5-day moving average").
  2. Alerts: Instead of burying the insight in a dashboard, it pushes a "High Priority" alert to Slack.
  3. Acts: It generates a contextual retention offer (e.g., 15% discount) and provides the Account Manager with a "One-Click" approval button.
  4. Executes: Once approved, it triggers the necessary API calls (mocked via Salesforce) to apply the offer instantly.

🛠️ How we built it

The project has three distinct layers:

  • The Brain (Python & Pandas): I wrote a script (agent.py) that ingests CSV telemetry logs (simulating Salesforce Data Cloud). It uses Pandas for time-series analysis to calculate the drop_rate and determine the risk level.
  • The Interface (Slack & Flask): I used the Slack Block Kit to build interactive alerts. A lightweight Flask server (server.py) handles the webhook payloads, allowing the "Approve" button to trigger a real response.
  • The Verification (Tableau): I built a Customer Health Command Center in Tableau. This dashboard allows the human manager to visually verify the crash before approving the AI's suggestion.

🧠 Challenges we ran into

The biggest challenge was the "Localhost to Cloud" gap. Getting a local Python script to communicate securely with Slack's public API required careful handling of Webhooks and payloads. I also had to design the "Risk Logic" to be smart enough to distinguish between a weekend dip and a genuine churn risk.

📚 What we learned

I learned that AI is most powerful when it empowers humans, not replaces them. The "Human-in-the-Loop" workflow (AI detects -> Human approves -> AI executes) is much more effective for sensitive B2B relationships than fully automated bots. I also gained deep experience with Flask, Webhooks, and Tableau Data Visualization.

Built With

Share this project:

Updates