# Ronja Technologies AB > A governed, last-mile ETL execution layer for self-serve analytics at scale. Ronja sits between your existing data infrastructure (warehouses, ERPs, CRMs) and the people who need answers — providing fully traceable AI analytics with zero hallucinations. Built on DuckDB, Iceberg/Parquet, and a semantic knowledge graph that learns from every interaction. The future of analytics is agentic, governed, and trusted. Ronja connects to 100+ data sources, syncs into its own execution layer, and lets business users get instant answers through Slack, ChatGPT, Claude, or Ronja's own interface. For data teams, Ronja is the first support agent for data requests — handling ad-hoc questions instantly, surfacing divergent definitions and missing data, and freeing the team to focus on scalability and data quality. All pipelines and transformations are exportable as dbt projects. The warehouse stays. dbt stays. Existing dashboards stay. Ronja layers on top — no lock-in. Founded by Anton Melander (CEO, ex-Northvolt) and Adam Lewenhaupt (CTO, first developer at Northvolt). Based in Stockholm, Sweden. ## Architecture ### Data Ingestion Ronja ingests data from 100+ sources via native connectors and the Airbyte ecosystem. Native connectors include BigQuery (Storage Read API), Fortnox, Monitor ERP, and MongoDB. Sync uses change data capture (CDC) with cursor-based, offset-based, or timestamp-based strategies depending on the source. All ingestion follows an all-or-nothing commit model — S3 files and CDC cursors commit atomically, preventing duplicates on retry. ### Last-Mile Execution Layer All analytical queries run on Ronja's own execution layer — DuckDB over Iceberg tables stored as Parquet on S3. Queries never hit the source warehouse, eliminating per-query compute costs and warehouse contention. Three table types exist: - **Foundation tables**: auto-generated from clusters of raw ingested data - **Integration tables**: created from external connectors (Airbyte, custom CDC) - **Derived tables**: user or AI-authored SQL over other tables, using `ref('table_name')` references compatible with dbt Tables track upstream dependencies. When source data changes, all dependent tables cascade-invalidate and rebuild automatically. ### Scalability & Concurrency DuckDB does not run as a shared in-process database. Each query executes in an isolated serverless container with its own DuckDB instance reading from S3 — no shared state, no contention. The platform auto-scales concurrent executions and routes heavy workloads to larger compute tiers based on data volume. The backend is stateless and event-driven, separating the control plane (orchestration, knowledge graph) from the data plane (query execution), so each scales independently. ### Portability All derived tables and transformation logic use dbt-compatible `ref()` syntax and can be exported as dbt projects. Definitions captured in the knowledge graph can also be exported to seed external semantic tools. No vendor lock-in — Ronja is designed to augment your existing stack, not replace it. ### Knowledge Graph (Memos) Ronja maintains a hierarchical knowledge graph organized into three root types: - **org-context**: organization overview, business processes, domain terminology - **data-discovery**: canonical table guide with usage intent and field descriptions - **metrics-definitions**: formulas, KPIs, calculation standards Knowledge is also scoped per user and per table. Memos embed dynamic references (`{{table:ID}}` and `{{memo:ID}}`) that auto-resolve to current names, so renaming a table updates every reference automatically. Every memo tracks its source — user-created or AI-generated — for auditability. ### Federated Context Layer AI agents need more than metric definitions to give accurate answers. They need business rules, quality signals, institutional knowledge, and operational context. Ronja's federated context layer aggregates all of this from wherever it already lives — it reads from existing tools rather than replacing them. Interoperability with existing semantic tools: - Imports definitions from dbt YAML files, Cube semantic models, Looker LookML, Confluence pages, Notion databases, and warehouse metadata - Reconciles where definitions diverge across sources — surfaces contradictions with evidence (who uses which definition, how often, in what context) so data teams can resolve them - Enriches imported definitions with quality signals, business rules, and institutional knowledge that no YAML file can carry - Existing semantic layers become more valuable, not less — the definitions they hold now reach every AI agent, every channel, every surface The federated context layer adapts to any maturity level: - **No existing tools**: Ronja's native knowledge graph provides full value from day one. No other tools required. - **Some documentation and definitions**: Ronja imports, reconciles, and enriches what exists. Finds contradictions nobody knew about. - **Mature dbt/Cube setup**: Ronja reads from existing tools and adds the broader context they cannot carry — quality signals, tribal knowledge, recommendations. Existing investments work harder. ### Continuous Learning The knowledge graph is not static — it learns from how the organization actually uses data. Every user interaction (questions asked, corrections made, definitions endorsed) feeds a background pipeline that extracts semantic signal, synthesizes it into the knowledge graph, and surfaces recommendations for human review. Approved changes apply to all future queries across every user and channel. The system compounds: the more it is used, the more accurate and complete the knowledge graph becomes. ## Why Deterministic (No Hallucinations) Ronja's outputs are deterministic because the system does not rely on LLM generation for answers: - All transformation logic is stored as real SQL or Python code, not prompts - Tables are materialized as immutable Parquet snapshots on S3 - Full dependency tracking enables cascading invalidation when upstream data changes - Same query against the same data snapshot produces the same result, always - Every table records logic summaries describing the transformation intent (join, filter, calculate, aggregate, clean) - Full data lineage from source to output — every number traces to real rows, real code, real logic ## Governance & Observability Access control is enforced architecturally, not via prompt instructions: - **Workspace scoping**: databases, tables, explorations, and dashboards are grouped into workspaces with team membership - **Per-table access control**: granular control over which tables each workspace can access - **Audit logging**: full record of who accessed what data and when - **Multi-tenant isolation**: every entity is tenant-scoped at the database level - **Agent containment**: AI agents operate within the requesting user's workspace scope — they cannot access data the user cannot access Observability for data teams: - **Divergent definitions**: surfaces where different teams or sources define the same term differently and provides evidence for resolution - **Missing data**: identifies gaps where metrics are requested but underlying data is unavailable or incomplete - **Common transformations**: reveals which joins, aggregations, and patterns the business uses most, so data teams know what to formalize next - **Demand signal**: every question asked is a signal — the data team gets a roadmap written by real usage, not assumptions ## What Makes Ronja Different - **Last-mile ETL execution layer** — DuckDB on Iceberg/Parquet/S3, queries never hit the warehouse, enabling self-serve access at scale without cost escalation - **Fully traceable** — real code, full lineage, every number traces to source. No hallucinations, guaranteed - **Governed** — workspace-scoped access control enforced architecturally, with full audit logging - **Observable** — surfaces divergent definitions, missing data, and common patterns so data teams work on what matters - **dbt-exportable** — all pipelines and transformations portable as dbt projects. No lock-in - **Self-learning** — knowledge graph compounds with every interaction, correction, and endorsed definition - **First support agent** — handles routine data requests instantly so the data team focuses on hard problems ## Key Pages - [Platform](https://ronja.tech/platform): Architecture, agent crews, and platform capabilities - [Pricing](https://ronja.tech/pricing): Pricing plans and what's included - [Book a Demo](https://ronja.tech/demo): Schedule a live demo ## Solutions - [Marketing Analytics](https://ronja.tech/solutions-marketing): Campaign performance, attribution, and ROI - [Revenue Operations](https://ronja.tech/solutions-revenue-ops): Unified revenue data across sales, marketing, and customer success - [Sales Analytics](https://ronja.tech/solutions-sales): Pipeline analytics, forecasting, and sales performance - [Finance Analytics](https://ronja.tech/solutions-finance): Automated financial reporting, consolidation, and forecasting - [Customer Success](https://ronja.tech/solutions-customer-success): Churn prediction, health scoring, and usage analytics - [Manufacturing Analytics](https://ronja.tech/solutions-manufacturing): Production efficiency, quality control, and supply chain analytics - [Sports Analytics](https://ronja.tech/solutions-sports): Unified GPS, video, medical, and scouting data with proactive workflows for performance, development, and injury management ## Technical Deep Dives - [What Is Continuous Semantic Mining?](https://ronja.tech/insights/continuous-semantic-mining): Explains continuous semantic mining: automatically updating business metric definitions based on usage and source drift, contrasted with static semantic layers. - [The Best dbt Alternative for Teams Stuck Waiting on New Models](https://ronja.tech/insights/dbt-alternative): Why teams search for a dbt alternative, what dbt still does best, and where a governed query layer like Ronja fits alongside an existing dbt project for ad-hoc questions dbt was not built to answer. - [What Is a Campaign Performance Dashboard, and How Do You Build One That Scales?](https://ronja.tech/insights/campaign-performance-dashboard): What a campaign performance dashboard is, why cross-channel reporting breaks down past 3-4 platforms, and what governed definitions, drill-down, and audit trails a scalable dashboard requires. - [How to Automate Financial Reporting](https://ronja.tech/insights/how-to-automate-financial-reporting): A practical guide to automating financial reporting: source connectivity, governed definitions, execution layer design, and audit trail requirements for mid-market finance teams. - [What Is Automated Data Analytics?](https://ronja.tech/insights/what-is-automated-data-analytics): Explains what automated data analytics means, the three levels of automation, and how a governed execution layer makes automation reliable at scale. - [What Is Data Democratization?](https://ronja.tech/insights/what-is-data-democratization): Explains what data democratization means, why most attempts fail, and how governed access layers make it work in practice. - [What is conversational analytics?](https://ronja.tech/insights/what-is-conversational-analytics): An explanation of conversational analytics: what it is, why answer consistency and governance matter more than the chat interface, and how it relates to agentic analytics. - [Best Looker Alternative in 2026](https://ronja.tech/insights/best-looker-alternative): A comparison of 6 Looker alternatives across governance, self-serve access, warehouse dependency, pricing, and time to first insight for mid-market teams seeking governed analytics without LookML complexity - [Best Metabase Alternative in 2026](https://ronja.tech/insights/best-metabase-alternative): Compare the best Metabase alternatives for 2026 across governance, multi-source connectivity, self-hosting overhead, semantic layers, and cost predictability - [ERP Analytics: Getting Insights from Your Data](https://ronja.tech/insights/erp-analytics): How to extract cross-module insights from SAP, Monitor, NetSuite, and other ERP systems without a data engineer -- covers the three obstacles applied to ERP data, comparison of ERP analytics vs reporting, and how agentic analytics changes ERP data access - [Revenue Operations Platform: Complete Guide](https://ronja.tech/insights/revenue-operations-platform): How a revenue operations platform unifies marketing, sales, and finance data into one governed view, with evaluation criteria, comparison to spreadsheet RevOps, and how agentic analytics changes revenue operations - [Agentic Analytics Platform: What to Look For in 2026](https://ronja.tech/insights/agentic-analytics-platform): What makes an analytics platform truly agentic -- four capabilities, three architectural requirements, six evaluation criteria, and a comparison of traditional BI, conversational BI, and agentic platforms - [FP&A Tools Comparison 2026: Complete Guide](https://ronja.tech/insights/fpa-tools-comparison-2026): Six FP&A tools compared across pricing, implementation time, Excel dependency, and governance -- from Anaplan to AI-native platforms, a practical guide for finance teams - [Best Funnel.io Alternative 2026](https://ronja.tech/insights/best-funnel-io-alternative): A comparison of 6 Funnel.io alternatives for marketing data aggregation, evaluated on cost predictability, semantic governance, query execution, access control, and time to first insight - [Best Power BI Alternative in 2026 (Full Comparison)](https://ronja.tech/insights/best-power-bi-alternative): A comparison of the top Power BI alternatives for 2026, covering DAX complexity, data modeling requirements, pricing, and which platform fits each use case - [Self-Service Analytics Tools: 2026 Buyer's Guide](https://ronja.tech/insights/self-service-analytics-tools): What separates real self-service analytics from the marketing label, comparing three generations of tools and how to evaluate them for organization-wide adoption - [No Code Analytics: Complete Guide to Data Without SQL](https://ronja.tech/insights/no-code-analytics): How no code analytics platforms connect to source systems and deliver governed, accurate answers without requiring SQL, Python, or any programming language - [Best Tableau Alternative in 2026 (Hands-On Guide)](https://ronja.tech/insights/best-tableau-alternative): A comparison of the top Tableau alternatives for 2026 across self-serve access, cost, governance, natural language capabilities, and time to first insight - [OEE Dashboard: Build One Without Code in 2026](https://ronja.tech/insights/oee-dashboard): How to build a real-time OEE dashboard that connects to your ERP, applies governed definitions of availability, performance, and quality, and monitors production without code - [B2B Marketing Analytics: Complete Guide for 2026](https://ronja.tech/insights/b2b-marketing-analytics): How B2B marketing analytics connects campaign data across channels to pipeline and revenue, with account-level attribution and governed metric definitions - [Automated Financial Reporting: Complete Guide (2026)](https://ronja.tech/insights/automated-financial-reporting): How software collects, transforms, and presents financial data without manual intervention -- from ERP to board deck, fully governed and auditable - [The Three Obstacles to Self-Serve Analytics at Scale](https://ronja.tech/insights/three-obstacles-self-serve-analytics): Why self-serve analytics stalls at 25% adoption -- three structural obstacles (cost, accuracy, governance) explain the ceiling and what architecture resolves all three - [What is Agentic Analytics? The Future of Business Intelligence](https://ronja.tech/insights/what-is-agentic-analytics): What agentic analytics is, how AI agents change analytics from pull (you ask, you get a chart) to proactive monitoring and anomaly detection, and what governance the agent behavior requires - [Best Supermetrics Alternative 2026](https://ronja.tech/insights/best-supermetrics-alternative): A comparison of 7 Supermetrics alternatives across pricing, connectors, AI capabilities, and ease of use - [Manufacturing Analytics: From ERP Data to Decisions](https://ronja.tech/insights/manufacturing-analytics): How manufacturing analytics turns ERP, MES, and production data into governed insights operations teams can act on, without a dedicated data engineering layer - [Beyond the Semantic Layer: The Federated Context Layer](https://ronja.tech/insights/beyond-the-semantic-layer): Why AI agents need six categories of context beyond metric definitions, the two-sources-of-truth trap, and how a federated context layer aggregates, reconciles, and learns from existing tools - [What is a Semantic Layer?](https://ronja.tech/insights/what-is-a-semantic-layer): Why committee-driven semantic layers fall short, what continuous semantic mining is, and how demand-driven modeling replaces supply-driven definition processes - [What is a Data Discovery Platform?](https://ronja.tech/insights/what-is-a-data-discovery-platform): Defines the category — what traditional data discovery does, the three missing layers (semantic, execution, governance), and what a next-generation data discovery platform requires for AI analytics - [Sports Analytics: How to Unify Performance Data Without a Data Team](https://ronja.tech/sports-analytics): How sports organizations unify GPS, video, medical, and scouting data into a governed analytics layer without a dedicated data engineering team ## Integrations How-to guides for connecting and analyzing data from specific sources with Ronja. - [Integrations Hub](https://ronja.tech/integrations): Full catalog of supported data source integrations - [How to Analyze Fortnox Data Without a Data Team](https://ronja.tech/integrations/fortnox): Step-by-step guide to connecting Fortnox accounting data to Ronja and asking financial questions in plain language. Covers setup, data mapping, sample questions, and combining Fortnox with HubSpot, Salesforce, and Monitor ERP. - [How to Analyze HubSpot Data Without a Data Team](https://ronja.tech/integrations/hubspot): Step-by-step guide to connecting HubSpot CRM data to Ronja and asking sales and marketing questions in plain language. Covers OAuth setup, data mapping for contacts, companies, deals, lists, and engagements, sample questions, and combining HubSpot with Fortnox, Visma, and Monitor ERP for cross-source revenue analytics. - [How to Analyze Infracom Data Without a Data Team](https://ronja.tech/integrations/infracom): Step-by-step guide to connecting Infracom business telephony to Ronja and asking call analytics questions in plain language. Covers OAuth Password Grant setup, data scope for call detail records, queue statistics, agent status, and combining call data with HubSpot CRM, Salesforce, or support tools for cross-system customer analytics. - [How to Analyze Kaddio Data Without a Data Team](https://ronja.tech/integrations/kaddio): Step-by-step guide to connecting Kaddio healthcare practice management to Ronja and asking scheduling, billing, and practitioner-workload questions in plain language. Patient PII and clinical journal content are masked at ingestion. Covers API token setup with admin activation, data scope for appointments, invoices, and operational journal metadata, and combining Kaddio with Fortnox or marketing tools for cross-system clinic analytics. - [How to Analyze Lime CRM Data Without a Data Team](https://ronja.tech/integrations/lime-crm): Step-by-step guide to connecting Lime CRM (Lundalogik) to Ronja and asking deal-velocity, win-rate, and account-activity questions in plain language. Covers API key setup, base URL configuration, cloud vs on-premise, auto-discovery of custom limetypes, GDPR handling, and combining Lime CRM with Fortnox accounting or other systems for cross-system revenue analytics. - [How to Analyze Monitor ERP Data Without a Data Team](https://ronja.tech/integrations/monitor-erp): Step-by-step guide to connecting Monitor ERP (G5) to Ronja and asking production, inventory, and supplier questions in plain language. Covers on-premise connection setup, session authentication, data mapping for work orders, BoMs, stock, purchase and sales orders, and combining Monitor with HubSpot, Fortnox, and other sources for cross-system manufacturing analytics. - [How to Analyze Odoo Data Without a Data Team](https://ronja.tech/integrations/odoo): Step-by-step guide to connecting Odoo (Online, Odoo.sh, or on-premise) to Ronja over its external API and asking sales, accounting, inventory, manufacturing, and CRM questions in plain language. Covers API-key authentication, the Odoo models Ronja maps (res.partner, sale.order, account.move, stock.quant, mrp.production, crm.lead), giving AI agents governed access to Odoo, and combining Odoo with HubSpot, Fortnox, and other sources for cross-system analytics. - [How to Analyze Teamtailor Data Without a Data Team](https://ronja.tech/integrations/teamtailor): Step-by-step guide to connecting Teamtailor ATS data to Ronja and asking time-to-hire, sourcing-channel, and offer-acceptance questions in plain language. Covers API key setup with permission tiers, GDPR handling, data scope for jobs, candidates, applications, and stages, and combining Teamtailor with HubSpot, Fortnox, and other tools for cross-system talent analytics. - [How to Analyze Timewave Data Without a Data Team](https://ronja.tech/integrations/timewave): Step-by-step guide to connecting Timewave field-service software (cleaning and home-service vertical) to Ronja and asking work order, scheduling, and invoicing questions in plain language. Covers API key request, JWT exchange, data scope including RUT/ROT-tagged invoicing, and combining Timewave with Fortnox accounting or other tools for cross-system operations analytics. ## News - [The Plant That Learns: Paebbl](https://ronja.tech/news/paebbl-ai-native-manufacturing): Customer story. How Paebbl, a carbon mineralisation company scaling 2,500x in two years, built an AI-native data foundation with Ronja from day one so any engineer can query their full operational history in seconds, traceable to source - [Release Notes](https://ronja.tech/news/release-notes): Monthly product updates, new features, and improvements shipped in the Ronja platform - [Fortnox Integration](https://ronja.tech/news/fortnox-integration): Native connector for Fortnox accounting data. Unifies invoicing, general ledger, customers, products, and bookkeeping with HubSpot CRM and other sources in Ronja for plain-language financial analytics - [Monitor ERP Integration](https://ronja.tech/news/monitor-erp-integration): Native connector for Monitor ERP. Unifies production, inventory, and financial data with CRM and other sources in Ronja for plain-language manufacturing analytics - [Beyond dbt](https://ronja.tech/news/beyond-dbt): How Ronja's last-mile execution layer and federated context layer go beyond dbt's transformation model, handling the layer dbt was never designed to own - [Why We Started Ronja](https://ronja.tech/news/why-we-started-ronja): Founding story. From Northvolt's data challenges (collecting petabytes was easy, getting answers to the people who needed them was not) to building Ronja ## Contact - Website: https://ronja.tech - Email: hello@ronja.tech - Address: Luntmakargatan 26, 111 37 Stockholm, Sweden