Module 12 / Analytics

Analytics with no warehouse.

Live Part of Atlas

Analytics is a SQL notebook plus a dashboard, sitting on the same work graph your apps already run on. No DAG, no ETL, no warehouse bill. Operational reporting in seconds, board reporting in minutes, with permissions intact.

What it does

Five things, no warehouse.

Most analytics tools assume you have a warehouse. Analytics runs SQL directly over the work graph and the live application database. The warehouse is optional, not required.

SQL notebook

ANSI-SQL plus pandas-style cells. Notebooks are first-class objects, versioned, reviewable, schedulable.

Dashboards from notebooks

Promote a chart from a notebook to a dashboard with one click. Filters, drilldowns, and parameters carry over.

Alerts with reason

"Tell me when pipeline coverage drops below 3.0x." The alert ships with the chart and the top-3 drivers of the change.

Permission-aware

Rows respect the workspace ACLs. A regional VP sees their region, not the global pipeline. Dashboards inherit the asker's view.

Auto-narrative

Every dashboard has a one-paragraph narrative that updates when the data does, grounded in the actual deltas, not in a template.

How it works

Three layers, one query path.

Analytics queries the live work graph by default and reaches into the warehouse only when the question requires deep history.

LAYER 01live work graph (Postgres)dealstasksmeetingsdocscontractsinboxformsdocumentsread replica · row-acl appliedno warehouse hop

Live read replica

Every module writes through a single Postgres-compatible work graph. Analytics reads a hot replica with row-level ACLs applied. No warehouse, no glue.

LAYER 02SELECTstage, COUNT(*)FROMdealsWHEREcreated > now() - '90d'GROUP BYstagecost: 38ms · 1.4M rows scannedcache: hit (5min)

Write SQL, see results

Notebooks accept ANSI SQL plus pandas cells. Query cost is shown. Cache is automatic per query plus per parameter. Real-time refresh is opt-in.

LAYER 03chartdashboardQ4 RevOps+narrativeAlert · pipeline coverage < 3.0x→ slack #revops · with drivers

Publish, alert, narrate

Promote charts to a dashboard. Bind alerts to expressions. The narrative writes itself from the data, with drivers ranked.

Notebook

SQL + cells, versioned.

Notebooks are first-class. Reviewable, schedulable, with parameter binding. The output below is real.

notebooks/q4-revops.sql
Cell 01 · query
-- pipeline coverage by week, last 6 weeks
SELECT
  date_trunc('week', updated_at) AS wk,
  SUM(amount) FILTER (WHERE stage IN ('Q','Eval','Proc')) AS open_pipe,
  AVG(closed_won_week_amount(wk)) AS avg_quota
FROM deals
WHERE updated_at > NOW() - '42 days'
GROUP BY wk
ORDER BY wk;
W41$11.4M / $4.2M = 2.7x
W42$12.1M / $4.4M = 2.7x
W43$12.8M / $4.5M = 2.8x
W44$13.6M / $4.6M = 2.9x
W45$14.4M / $4.6M = 3.1x
W46$14.8M / $4.6M = 3.2x
Cell 02 · alert
-- alert when coverage drops below 3.0x for any week.
ALERT low_coverage
  WHEN coverage_ratio < 3.0
  SEND slack('#revops', with_drivers=TRUE);
Key features

Nine more, all shipping.

Each capability below is on by default for every workspace and every tier.

15 chart types

Line, bar, area, cohort, sankey, funnel, donut, heatmap, scatter, histogram, table, plus 4 typeahead-defined custom types.

Auto-narrative

Plain-English explanation per chart, grounded in the deltas. Updates with the data.

Parameter binding

Dashboards take parameters: region, segment, owner. URL params carry. Embed links inherit caller's ACL.

Row-level ACL

Same ACL as the rest of the platform. A VP sees their region. Groups roll up naturally.

Warehouse passthrough

Snowflake, BigQuery, Redshift, Databricks. Federated query across work graph and warehouse in one notebook.

Inline in Docs

Embed a live chart inside any doc. Refresh on read. Permission-checked per viewer.

Anomaly detection

Per-metric baseline with seasonality. Alerts fire on deviation, with a one-paragraph why.

SQL lineage

Track which columns and tables feed each chart. Refactor with confidence; the breakage shows up in CI.

Scheduled exports

Email, Slack, S3, or your warehouse. CSV, Parquet, XLSX. Signed URLs, watermarked exports.

Connected

Reads from every module.

Because Analytics queries the same graph as the apps, joins between deals, tasks, contracts, and meetings are trivial. No glue, no copy.

One graph, six readable sources

Every module writes the same Postgres-compatible work graph, so joins are trivial. Want closed-won deals where the procurement step took over 14 days and the customer had at least one P0 ticket? One SQL query.

CRM → deals + pipelineTasks → cycle time + WIPContracts → MSA valueMeetings → talk-timeForms → conversionDocs → adoption
Comparison

Analytics vs. Mode.

Mode is a SQL notebook over a warehouse. wrxstack Analytics is a SQL notebook over the live work graph, with permissions intact.

wrxstack Analytics vs. Mode

CapabilityModewrxstack Analytics
Source of truthWarehouseLive work graph + warehouse
ETL / DAGRequiredNot required
Row-level ACLWarehouse role onlyInherited from platform
Auto-narrativeNot availableGrounded in deltas
Alerts with reasonsThresholds onlyTop-3 drivers per alert
Inline in appsEmbed iframeNative blocks in Docs, etc.
CostSeat + warehouse computeNo warehouse compute fees
FAQ

Common questions.

Six things data and ops leaders ask in the first hour.

Can we still keep our warehouse?

Yes. The warehouse passthrough lets you join the work graph with Snowflake, BigQuery, Redshift, or Databricks in one SQL statement. We push down where we can, and we cache where we cannot.

How fresh is the data?

The read replica lags the primary by 300 to 800ms in normal operation. For dashboards bound to a metric, refresh is configurable per chart. Real-time mode is available for ops dashboards that need tighter freshness.

Do we lose anything by not having a warehouse?

For analytics on the workspace data, no. For deep historical analytics across non-wrxstack systems, the warehouse passthrough is the right answer. We do not store wrxstack data redundantly. Your warehouse and our work graph stay in sync because joins happen at query time.

Can analysts share dashboards externally?

Yes. Public dashboards, password-protected dashboards, and per-recipient watermarked dashboards. Per-row ACL is enforced on the recipient's view. SSO can be required for external sharing.

How does the auto-narrative actually work?

The narrative is generated from the chart's delta facts, not from a prompt template. The model is constrained to attributable changes (a region's contribution to the move, a deal's contribution to the cohort). Sentences that cannot be attributed are dropped. The result is short, accurate, and updatable.

Can data engineers still use dbt?

Yes. We support dbt models that materialize into the work graph. The lineage graph picks up the dbt DAG, and downstream charts surface broken models in CI. We never require dbt, but we do not punish you for keeping it.

Related

Pairs well with.

Analytics is sharpest with CRM, Tasks, and Projects live in the same workspace.

Honest limits

Who this is not for.

Analytics reports on your live workspace with no warehouse to maintain. If you need a full BI warehouse with SQL modeling, a semantic layer, and joins across dozens of external sources, pair Atlas with a dedicated BI tool. Analytics answers questions about the work in Atlas, not your entire data estate.

Get started

Stop maintaining the analytics stack.

Free to start, no credit card. Notebooks, dashboards, and alerts in the box. Warehouse passthrough available.