End-to-end RevOps Analytics case for a synthetic B2B SaaS company. The project connects funnel performance, SDR and AE productivity, Customer Success, Forecast, Cohort analysis, NPS/eNPS, CRM/Data Quality, Incident Log and a responsible rule-based AI RevOps Copilot.
This project simulates 90 days of Revenue Operations for a fictitious B2B SaaS company. It shows how Marketing, SDR, Sales, Customer Success, Forecast, NPS, eNPS, Cohort analysis, CRM/Data Quality and performance incidents can be connected into one decision-oriented analytics system.
The project is designed as a portfolio case for RevOps, Analytics, Data and Growth roles.
Revenue teams often analyze symptoms in isolation: lead volume, conversion drops, Pipeline gaps, Churned MRR, low NPS, employee workload, Forecast misses or CRM/Data Quality issues.
The business problem is not only calculating metrics. It is building a reliable operating view that helps leaders answer:
- What happened?
- Why may it have happened?
- What is the revenue impact?
- What action should be taken?
- Marketing Ops
- SDR Ops
- Sales Ops
- Customer Success Ops
- Forecast
- Cohort Analysis
- NPS and eNPS
- CRM/Data Quality
- Incident Log
- AI RevOps Copilot
- Executive reporting
- Python
- Pandas
- NumPy
- SQLite
- Plotly
- Streamlit
- Pytest
No machine learning model is used. No external API is used. All data is synthetic.
Este projeto foi preparado para execução local.
Para rodar:
pip install -r requirements.txt
python src/generate_data.py
streamlit run app/streamlit_app.pyComandos opcionais de validação:
python src/data_quality.py
pytestEntrypoint do dashboard:
app/streamlit_app.py
Os CSVs sintéticos ficam em data/processed/. Se quiser regenerar a base, execute python src/generate_data.py localmente.
In production, this case would stop using synthetic data and consume real data from CRM, marketing automation, sales engagement, billing/ERP, Customer Success, product analytics, support and people survey tools.
The recommended production flow would connect ingestion, warehouse or lake storage, transformation, metrics, anomaly detection, Incident Log, AI-assisted analysis, dashboards, reports, alerts and human validation. The AI layer would continue to generate hypotheses and evidence, while confirmed causes and actions would remain human-owned.
See the full proposed architecture in docs/production_flow.md.
- CSVs:
data/processed/ - SQLite database:
data/database/revops_case.sqlite - Reports:
reports/daily/,reports/weekly/,reports/monthly/ - Executive docs:
docs/ - Executive presentation outline:
slides/executive_presentation.md
- Executive View
- Revenue Funnel
- Marketing Ops
- SDR Performance
- Sales Performance
- SDR + AE Matrix
- Forecast
- Customer Success
- NPS
- eNPS
- Incidents
- AI RevOps Copilot
- Cohort Analysis
- CRM & Data Quality
- Metrics Glossary
- Executive Decisions
The project separates metrics into three groups to avoid confusing final outcomes with diagnostic signals.
Outcome metrics show final financial or retention impact:
- New MRR
- Net New MRR
- ARR
- NRR
- GRR
- Churned MRR
Diagnostic metrics help explain what may be driving the outcome:
- Lead to MQL conversion
- MQL to SQL conversion
- SQL to Opportunity conversion
- Win Rate
- No-show Rate
- Contact Rate
- Sales Cycle
- Health Score
- NPS
- eNPS
- Product Adoption
- Tickets
Governance metrics show process reliability, Forecast discipline and CRM/Data Quality:
- Forecast Coverage
- Forecast Accuracy
- Stuck Opportunities
- SLA
- Incident Severity
- Time to Resolution
- CRM/Data Quality Score
The AI RevOps Copilot is rule-based and mock by design. It does not call external APIs and does not invent root causes.
It can:
- summarize executive context;
- explain anomalies with hypotheses;
- show supporting evidence;
- list missing evidence;
- suggest validation questions;
- recommend actions;
- narrate Forecast risk;
- support Sales coaching, customer risk and people health reviews.
It cannot:
- confirm a root cause;
- replace a manager;
- claim causality without evidence;
- fill confirmed cause fields automatically.
Confirmed causes must be completed by a responsible human manager.
- Synthetic relational dataset for a full RevOps operation.
- 90-day B2B SaaS simulation.
- End-to-end funnel from Marketing to CS.
- Forecast by opportunity, AE and month.
- Cohort analysis by acquisition month, channel, segment, CSM, ICP fit, SDR and AE.
- CRM/Data Quality checks.
- Incident Log with severity, probable cause, confirmed cause, recommended action, owner, deadline and estimated MRR impact.
- Rule-based AI layer focused on responsible executive decision support.
- Executive-ready Streamlit dashboard.
- The data is synthetic.
- Targets are simulated.
- Probable causes are hypotheses.
- Confirmed causes must be filled by a human manager.
- Forecast uses probabilities and does not replace commercial inspection.
- NPS/eNPS depend on sample size.
- Cohorts over 90 days show early signals, not definitive long-term conclusions.
- The goal is to demonstrate RevOps reasoning, analytics, governance and decision-making.
revops-analytics-command-center/
|-- app/
| |-- streamlit_app.py
|-- data/
| |-- raw/
| |-- processed/
| |-- database/
|-- docs/
|-- reports/
| |-- daily/
| |-- weekly/
| |-- monthly/
|-- slides/
|-- src/
|-- tests/
|-- .streamlit/
|-- AGENTS.md
|-- README.md
|-- requirements.txt
This project demonstrates how RevOps can move from dashboard reporting to revenue governance. The dashboard does not only show numbers; it connects funnel conversion, people performance, customer retention, Forecast risk, Incident Log and responsible AI-assisted diagnostics into one operating system for revenue leaders.
O dashboard Streamlit fica em app/streamlit_app.py. A prova visual abaixo foi gerada a partir da aplicacao local com dados sinteticos.
Screenshots adicionais:
Todos os dados são sintéticos. O projeto não usa APIs externas nem dados reais. As análises são rule-based e devem ser tratadas como hipóteses para validação, não como causa raiz confirmada.
Este case pode ser usado como base para diagnóstico RevOps em SaaS B2B, apoiando liderança com evidências, hipóteses, perguntas de validação, responsáveis e métricas de acompanhamento.
LinkedIn: https://www.linkedin.com/in/gustavo-worliczek-lazzarotto/
E-mail: gustavo.lazzaro77o@gmail.com
