01
← → to navigate
Nekt Training · SaaS B2B · ~1h

SaaS powered by data.

MRR, churn, retention and LTV on a single basis, with context and AI. From product event to decision, without manual spreadsheet.
academy.nekt.com
Agenda
What will we see
01
Ingestion
The mental model and sources of product and billing.
02
Catalog
Lakehouse and domain organization.
03
Context and transformation
Semantics of metrics and modeling, when it pays off.
04
Activation
Consumption, governance and SaaS cases.
01
SECTION 01

The model mental

The data maturity journey, and why value comes before optimization.
The root of the problem
Each tool is a island
Today · scattered data
PGProduct
SStripe
HSHubSpot
ICIntercom
GSSheets
AEvents
With Nekt · one place
Unique environment
Lakehouse + Catalog
gold.mrr_por_plano gold.cohort_retencao gold.contas_360
Nekt connects product, billing, CRM and support in a single environment. Without this, each source tells a different story.
What fragmentation causes
The same MRR, four answers What was the MRR for March?
G
Growth
panel
R$ 205 thousand
MRR attributed in the growth panel
V
Sales
CRM
R$ 188 thousand
Closed ARR divided by 12
D
Board
manual spreadsheet
R$ 176 thousand
Hand consolidated closure
F
Financial
Stripe
R$ 152 thousand
Paid MRR, reconciled in Stripe
152
176
188
205
R$53 thousand difference Four systems, four truths, and the board doesn't close the number. Without a single basis, MRR generates a meeting, not a decision.
Maturity Model
Four steps, value from an early age
01
Consolidate
Billing, product, CRM and support together in Nekt's Lakehouse.
02
Extract value
Context plus AI, and you’re already asking churn and MRR right away. The value appears here, before modeling.
03
Transform
Cohort and retention that became routine became tableau.
04
Production
Health score and churn alerts running in the team's daily routine.
The principle that guides everything
Context and agents already deliver high assertiveness. Modeling comes later, when it pays off.
Optimization is not the beginning of the journey, it is a consequence of finding what matters in retention and revenue.
02
SECTION 02

Connecting sources

Bring product, billing and customer data in the right way.
What can you connect
The sources of a SaaS
ST
Stripe
Subscriptions, MRR and payments
VN
Vindi / Iugu
Recurring billing
PG
Product Postgres
Accounts, usage, entities
AM
Amplitude
Events and engagement
MX
Mixpanel
Product activation and funnel
HS
HubSpot
Deals, expansion and accounts
IC
Intercom/Zendesk
Support and risk signals
GS
Google Sheets
Goals and manual controls
Structured (banks, APIs, spreadsheets) and unstructured (tickets, docs) on the same basis.
Start with the question
From question to source
Business question
Why does the base cancel?
Required data
Subscriptions + usage + payments
Source
Billing + Product
Reverse engineering: start from what the business asks, not from the source.
Sync and cost
Update x cost
Full Sync
Full
Rereads the entire source with each run. Simple and error-proof for small billing tables.
Incremental Sync
Incremental
Just what changed. Essential in product events, which grow quickly and become expensive in full.
Credit savings

Incremental product events, run at useful times and shut down pipelines of accounts that have left.

Each source at your own pace
Frequency of update
Minutes
Near real time
Product and usage events. They feed risk and activation signals while there is still room to act.
Every hour
Billing
Subscriptions and payments. Keep MRR and churn for the day always close to now.
Diary
CRM and support
Deals, tickets and goals. The consolidated vision arrives early.
On demand
Manual loads
Spreadsheets and controls that change little. They run when the data changes, not before.
Match the cadence with the question

Not everything needs to be real time. Pulling each source at the pace the business requires saves credits and avoids noise.

03
SECTION 03

Fundamentals: the lakehouse

How product and billing data is refined, from raw to ready.
medallion architecture
Bronze, Silver and Gold
Bronze
Raw layer
How it came from the source
  • Raw events and charges
  • Stripe Mirror, Product, CRM
  • Raw type, often text
  • No editing, immutable
refines
Silver
Treated layer
Clean and typed
  • Clean subscriptions and accounts
  • Typed events, no duplicates
  • One table per entity
  • Pleasant to read
refines
Gold
Consumption layer
Ready for decision
  • mrr_monthly, cohort_retencao
  • Churn rule applied
  • This is where BI, MCP and API read from
  • A source of truth
A recommendation, not a rule

Each company organizes the layers as it makes sense. What matters is the concept: raw, refined, ready.

The same line, refined
From raw at the ready
subscription bronzehow did it come
{ "id": "sub_9Ka", "plan": "growth_m", "amt": "49000", "status": "active" } // cents, cryptic codes, difficult to use
gold.assinaturasready
accountplanmrrstatus
AcmeGrowthR$490active
Typed, legible, in reais, with plan and status already resolved. Ready to add MRR and measure churn.
04
SECTION 04

Organization of workspace

Organize the catalog by domain and lock the settings that cannot diverge.
Catalog structure
Organize by domain
Billing
billing_subscriptions
billing_payments
billing_plans
Product
product_events_diary
product_use_by_account
product_features
revenue
monthly_mrr_revenue
recipe_cohort_retencao
ltv_receipt_by_plan
Customer
client_accounts
client_health_score
customer_support
Naming Convention:{domain}_{entity}_{granularity}helps MCP navigate.
Metrics governance
A definition, no divergence
Metric
Churn
Subscription pay which cancelled. Canceled trial does not count.
Metric
MRR
Recurring revenue recognized in payment, in reais.
Metric
Active account
Paid subscription with use in the last 30 days.
The classic SaaS mistake

Counting canceled trials as churn inflates the number and scares the board for nothing. The rule lives in the semantic layer, only once, and everyone reads it.

05
SECTION 05

Context and semantics

What makes AI understand metrics your company's way.
Two houses, two roles
Where does each live? thing
Description in the Catalog · what the data is
table billing_subscriptions
ColumnDescription
status int1 = active, 2 = cancelled, 3 = overdue
mrr decimalMonthly recurring revenue, in BRL
plano textStarter, Growth or Custom
Context document · what the metric means
metrics-saas.mdContext document
# Revenue metrics ## Churn Only paid subscription that has been cancelled. Canceled trial does not count. ##MRR Recognized on the payment date. ## Cohort Cohort = month of first payment.
The message
What drives assertiveness the most is not modeling everything. It is give context.
06
SECTION 06

Modeling: when optimize

Transform and model when the value has already appeared.
Value first, model second
Model what repeat
  • Value first. Model only after the answer has proven that it works.
  • The cohort and retention you recalculate every month They deserve to become a leader.
  • For AI, Nekt tends to favor wide tables, without joins.
Beware of over-engineering

Don't create a star schema when a wide table resolves. A beautiful model in the diagram is often expensive in practice.

Two transformation tools
Query or notebook?
SQL · declarative
Query
Joins, aggregations, filters: the MRR, the subscription base, the day to day. Run scheduled and MCP already generates it for you.
SELECT plan, SUM(mrr) FROM silver.subscriptions GROUP BY plan
Python/PySpark · procedural
Notebook
When the logic doesn't fit in SQL: the cohort matrix, a churn propensity model, integrations. Also generated by MCP.
import nekt df = nekt.load_table("Silver", "subscriptions") df = matrix_cohort(df) nekt.save_table(df, "Gold", ...)
What only the notebook does

Train a churn model, assemble the retention matrix in pandas, enrich via API and process ticket text. Rule: SQL for most, notebook when you need logic or libs.

Two ways to organize
Star schema vs. wide table
gold.fato_assinaturakeys · need to add
month_id
→ dim_tempo
account_id
→ dim_conta
plan_id
→ dim_plano
mrr
t_06c_5521pl_2R$490
t_06c_7702pl_1R$ 190
Just keep the keys. To read the account or plan, you need joins with the dimensions.
gold.mrr_wide1 table · no joins
monthaccountplanmrrstatus
06AcmeGrowthR$490active
06BobservStarterR$ 190delay
06CustorCustomR$ 2.4kactive
All on a wide table. No joins, great for AI and quick exploration.
07
SECTION 07

Consuming the data

The last kilometer: where data becomes a retention and revenue decision.
Two ways to consume
Data API vs. MCP
Data API · dashboards and apps · deterministic
GET/v1/tables/gold.mrr_mensal?mes=2026-06
answer
{
  "month": "2026-06",
  "mrr": 152000,
  "churn_mrr": 6800
}
The board and the churn app read the same table, the same every time.
MCP · exploration · natural
Person
Why did churn rise in June? Was it a specific plan?
Agent
Reads the Semantic Layer, applies the churn rule and responds by plan, without you writing SQL.
A person asks, the agent finds the way.
Ask about the base
The agent on the your data
Head of Growth
Which cohort retains better and what is different about them?
Agent
Cross-reference the retention cohort with the acquisition plan and channel and identify the healthiest crop and why.
From retention question to answer, without SQL.
the formula for success

Reliable Gold Tier plus registered settings. The agent responds with the house ruler.

The data path
From question to answer
QUESTION language natural AGENT AI Client via MCP GOLD LAYER subscriptions and MRR wide, reliable SEMANTIC LAYER the churn ruler, plan and cohort ANSWER "Starter Plan, 9.2% churn"
The question comes in Portuguese, the agent reads Gold and Semantics via MCP, the answer comes back ready.
08
SECTION 08

Operation and governance

Ride with confidence and control who sees what.
Governance and permissions
Who sees the what Growth
Level 01
Viewer
See and use, read-only. Good for the business team to consume metrics.
Level 02
Editor
Everything from the Viewer, and edit and create: The data team builds the transformations.
Level 03
Manager
Everything from the Editor, and grants access. Who administers the workspace.
Token scoped

A token limited to revenue tables feeds the execs dashboard without exposing sensitive product data.

When something fails
Read the log and summary by AI
run #1 · failedRuns
failureSource Stripe · 30/06 05:58 · 14s · 401 Unauthorized
Analyst Summary · AI-Generated
What happened
Stripe API Key Expired and Source Responded 401 Unauthorized. The run stopped at the beginning and no lines were processed.
Recommended actions
1) Rotate Stripe key  ·  2) Check permissions  ·  3) Reprocess pipeline
The first measure in the event of a failure: open the run and read. Nekt already explains what happened and what to do.
09
SECTION 09

Use cases SaaS

What can be built on top of the subscription, usage and revenue base.
Panorama
Five cases that move the retention
Retention
Churn and cohort
Who stays and who disappears, cohort by cohort, month by month.
Retention
Curve by plan
How each plan retains over time since entry.
revenue
LTV per plan
How much each plan is worth in life, to guide acquisition.
Risk
score churn
Accounts going cold before cancelling, with agent alerting CS.
revenue
MRR and NRR
New, expansion, contraction and revenue churn in a waterfall.
And much more
The basis is the same
Consolidated once, each new case is just one query.
Landscape · the heart of SaaS
Case: retention by cohort
gold.cohort_retencaoretention %
cohortM0M1M2M3M4M5M6
2025-08100928885838179
2025-091009087848280·
2025-1010094918886··
2025-11100888379···
2025-121009186····
2026-0110089·····
Each row is an input crop, each column a month later. The color shows who stayed.
Value SaaS
You see straight away which crop retains best and where the fall happens. An agent immediately responds to what is different about the healthy cohort.
Caution

Only subscriptions that have paid at least once are included. A canceled trial is not churn.

Scenario · Grouped retention
Case: retention curve for plan
60%70%80%90%100%M0M1M2M3M4M5M6M7M8M9CustomGrowthTotalStarter
Fraction of the base still active N months after entry, per plan.
Value SaaS
O Custom practically does not fall, the Starter it drains in the first few months. This changes where the retention effort and acquisition focus goes.
Scenario · act before cancellation
Case: churn risk + agent
gold.risco_churnon account
accountmrrsignsrisk
BobservR$490usage -60%, delayHigh
DextR$ 190open ticketMedium
AcmeR$ 2.4kstable useBass
Value SaaS
Usage, payment and support become one risk score on account. An agent notifies the CS of accounts at high risk, in time to save the MRR.
Retention is cheaper

Seeing the risk early is the difference between a hold call and a cancellation.

Get to work
The product that retains,
powered by data.
Connect billing and product, give context to metrics and plug in MCP. The rest is evolution, at your own pace.
Academyacademy.nekt.com Docsdocs.nekt.com
Thank you