A modern, responsive analytics dashboard for revenue operations teams. Visualize marketing, pipeline, and revenue data with interactive filters, beautiful charts, and actionable insights—all powered by local CSVs and Python.
- Streamlit UI:
streamlit_app/app.py— main dashboard, filters, and theming - Analytics Layer:
src/revops/analytics/— KPI calculations and aggregations - Data Access:
src/revops/data.py— cached CSV loaders - Synthetic Data:
src/revops/data_generation.py— CLI to generate demo datasets - Validation:
src/revops/validation.py— schema checks for all data - Tests:
tests/— pytest suite for analytics and validation
- Clone and enter the repo
git clone <your-fork-url> revops-dashboard cd revops-dashboard
- Create a virtual environment and install dependencies
python3 -m venv .venv source .venv/bin/activate pip install -e '.[dev]'
- (Optional) Regenerate demo data
python -m revops.data_generation --output . - Launch the dashboard
streamlit run streamlit_app/app.py
- Open your browser
- Go to http://localhost:8501
- Explore tabs for Marketing, Pipeline, Revenue, and Insights
marketing_channels.csv— marketing funnel eventspipeline_deals.csv— sales pipeline dealsrevenue_customers.csv— customer revenue and churnbenchmarks.csv— industry targets for KPIs
Regenerate all with:
python -m revops.data_generation --output .streamlit_app/ # UI, theming, entrypoint
src/revops/ # Analytics, data, validation, generation
analytics/ # KPI logic
ai/ # Insights engine
data.py # CSV loaders
data_generation.py # Synthetic data CLI
validation.py # Schema checks
config.py # Data paths
benchmarks.csv # Seed data
marketing_channels.csv # Seed data
pipeline_deals.csv # Seed data
revenue_customers.csv # Seed data
tests/ # Pytest suite
README.md # This file
- Install:
pip install -e '.[dev]' - Generate data:
python -m revops.data_generation --output . - Run tests:
pytest - Start dashboard:
streamlit run streamlit_app/app.py
docs/developer-guide.md— technical deep divedocs/business-user-guide.md— user-facing walkthrough
MIT (see LICENSE)
