BI + AI · Qlik Sense Alternative

Qrly vs Qlik Sense

Qrly is the self-hostable BI + AI platform Qlik Sense never quite is — Qlik's AI runs in Qlik Cloud with no local-model option, and its analytics sit on a proprietary in-memory engine you have to load before you can ask it anything. Qrly ships natural-language Ask (NL→SQL), AI anomaly detection and BYO LLM (local Ollama / LM Studio or cloud Claude, Gemini, OpenAI, Azure) plus embedded analytics with signed-JWT, productive in minutes at a fraction of the cost.

Qrly wins

BI + AI in one self-hosted platform — flat pricing

  • AI Ask (NL→SQL) with AI anomaly detection & performance analyzer
  • BYO LLM — local Ollama / LM Studio or cloud Claude, Gemini, OpenAI, Azure
  • Embedded analytics with signed-JWT (no separate SKU)
  • QQL across 12+ database dialects, OLAP star/snowflake models
  • Self-hostable on Linux or Kubernetes — one deployment model, one binary
  • Productive in under 5 minutes — no load script before the first chart
  • Flat pricing for unlimited users
Tie / depends

Analytics fundamentals

  • Both have strong alerts and subscriptions engines
  • Both embed charts inside another application
  • Both schedule refreshes and deliver reports on a cadence
  • Both deliver dashboards and reports out of the box
  • Both integrate broadly via REST and webhooks
Qlik Sense wins

The associative engine & enterprise ecosystem

  • The associative engine — selection state across every object
  • Set analysis — terse expressions nothing else states as briefly
  • Data integration and replication products on the same platform
  • Fortune 500 reference customers and regulators
  • Pre-built industry solutions (telco, banking, public sector)
  • Massive partner and contractor ecosystem
Feature
Recommended Qrly Self-hosted · Belgium
Qlik Sense Qlik Sense, Inc.
Self-hostable on your own infra
Included
Client-Managed edition, on Windows Server
Queries the database live, no reload step
Included
In-memory reload is the default
Signed-JWT embedding with locked parameters
Included
Mashups and extensions to build
Alerts, anomaly detection and root-cause agent
Included
Data alerts in Qlik Cloud
Scheduled subscriptions (PDF, CSV, inline)
Included
Subscriptions and reports
Visual query builder and raw SQL, round-trip convertible
SQL ⇄ visual
Load script is one-way
Azure AD + Google + LDAP + Basic simultaneously
Included
Multi-provider SSO
OIDC SSO user provisioning
Included
Included
AI with on-prem option (Ollama, LM Studio)
Included
Insight Advisor — cloud, no local model
Multi-tenant architecture out of the box
Included
One tenant per subscription
Connects to your existing warehouse on day 1
40 connection types
Connectors, then a reload
Flat pricing (unlimited users)
Included
Per named user, plus capacity tiers
Productive in under 5 minutes
Included
Load script before the first chart
EU data residency (native, not a tier)
Included
EU regions in Qlik Cloud
No marketplace plugin required for basics
Included
Extensions for anything beyond the built-ins
Dashboards, charts and scheduled reports
Included
Included
REST API + webhooks
Included
Included
Pivot tables and multi-level rollups
Included
Pivot tables, no SQL rollup or cube
Markdown analysis documents included
Analysis reports
Text objects on the sheet
Legend Included Partial / extra cost Not available
01 / Architecture

Everything has to be loaded before it can be asked

Qlik's associative engine is genuinely clever and genuinely demanding: the model lives in memory, it gets there through a scheduled reload written in the load script, and how much you can analyse is bounded by the RAM of the box holding it. Freshness is whatever the reload cadence happens to be, and the answer to a slow app is usually a bigger server or a smaller model.

Qrly compiles the query and sends it to the database — Postgres, MySQL, SQL Server, BigQuery, Snowflake, Redshift and the rest of 40 connection types — so there is no copy to reload and nothing to keep in sync. Freshness is the database's freshness. Where precomputation genuinely helps, it is opt-in per question: result materialisation on a refresh interval, four caching tiers, and a query governor with per-user daily budgets.

02 / Skills

The load script and set analysis are their own careers

Qlik's power sits in two proprietary languages. The load script gets data in and defines the model; set analysis expresses anything past a plain aggregation. Both are capable, both are terse, and neither transfers anywhere else — which is why hiring for them is a specialist search, and why the person who wrote the app is often the only person who can safely change it.

Qrly is SQL and a visual builder over the top of it. A question is a JSON document compiled to 12 SQL dialects, and the compiled SQL is always readable from the editor. Any flat SELECT converts back into a visual definition, with CTEs, UNIONs and subqueries reported as explicit lossy-feature warnings rather than silently dropped. The analyst who built it and the engineer reviewing it are looking at the same language.

03 / Deployment

Two products wearing the same name

Qlik Cloud and Qlik Sense Client-Managed are not the same thing. They are licensed differently, administered differently and upgraded differently, and moving from one to the other is a project rather than a setting. Choosing the client-managed side means running it on Windows Server and owning that estate; choosing the cloud side means the data leaves your perimeter. Neither is wrong, and you do have to pick.

Qrly has one deployment model. The same binary runs on a laptop, a single Linux box, a private cloud or a Kubernetes cluster, air-gapped if your regulator says so, with the same feature set in every case. There is no edition that gets capabilities first and no future migration between the two, because there is only one.

04 / Lock-in

Your logic lives inside a proprietary file

A Qlik app is a single binary artefact holding the data model, the load script and the sheets together, and the intermediate layer is a Qlik file format too. Nothing outside Qlik reads either of them. The expressions are set analysis, the transformations are load script, and none of it means anything to the next tool. Renewal is negotiated from the position of a rebuild being the alternative.

A Qrly question is a JSON document that compiles to SQL you can read, copy and keep. Results export to CSV, JSON, XML and XLSX; dashboards and reports are rows in a database you are running. If Qrly stops being the right answer in five years, what you take with you is SQL and a schema — which every other tool in this category already speaks.

Qrly

Annual licence · priced on your revenue · unlimited users, one organisation, one installation
  • Annual licence at €15M revenue €6,300
  • Per analyst / per viewer €0
  • Per query, per credit, per capacity unit €0
  • Embedded dashboard consumers €0
  • Embedding, alerts, OIDC/SSO, row-level rules Included at every tier
  • Self-hosting and bring-your-own LLM Included at every tier
Three years of licence: €18,900
That is our published schedule evaluated at €15M of revenue — 0.18% of the first €500k, then 0.12%, 0.0525% and 0.027% on each tranche above it. It does not move when you add users. The whole rate card, from the €900 floor upward, is on the pricing page.

Qlik

Per full user plus a capacity allowance · Qlik Cloud Analytics
  • How it charges Per full user, plus a data-capacity allowance per tier
  • Tiers Qlik Cloud Analytics Standard, Premium and Enterprise
  • The second meter Data for analysis — volume, allocated per tier
  • Extra capacity Bought in blocks on top of the tier
  • Client-managed Qlik Sense (on-prem) Separate agreement, quoted
  • List prices Entry tiers published, enterprise quoted — check qlik.com/pricing
Two meters again — named users, and the volume of data you are permitted to analyse. The second is the one that catches people out, because it moves when the warehouse grows rather than when the team does. Qlik publishes entry pricing and quotes the rest, so check their page for today’s numbers rather than ours.

The standard migration path

Qrly connects to the sources your apps already reload from — no third-party ETL, no paid connector, no partner engagement required unless you want one. The same pattern works whether you are on Qlik Cloud or a client-managed installation several versions behind.

  1. Read the load scripts. They are the specification nobody wrote down: every source, table, key and join the app depends on is named in them, along with the transformations applied on the way in. Export the script from each .qvf before you touch anything else.
  2. Connect the sources directly. Whatever the script reloads from — Postgres, MySQL, SQL Server, BigQuery, Snowflake, Redshift — becomes a Qrly connection with read-only credentials, one of 40 connection types, schema introspected on first sync. Transformations that lived in the script become calculated fields or a saved question other questions reference as a view.
  3. Rebuild the model as an OLAP model. The star at the centre of the Qlik app maps almost directly: fact table, dimension joins, a measure catalogue, named hierarchies and always-applied model filters as a security boundary. The modeller proposes candidates from the schema and a human approves or rejects them; the Try it pane shows the compiled SQL as you go.
  4. Rebuild the sheets that are actually opened. Every Qlik estate carries sheets nobody has looked at in a year. Rebuild the survivors as questions and dashboards with cascade filters; set-analysis expressions usually resolve to a calculated field, an OLAP measure or a period-over-period comparison.
  5. Run in parallel, then unwind. Both tools read the same sources, so leave Qlik reloading until the contract runs out and reconcile the numbers side by side. Scheduled deliveries become Qrly subscriptions; embedded mashups become signed-JWT embeds with locked parameters.
Can Qrly really replace Qlik Sense?

For the reporting most Qlik customers actually run — charts, dashboards, scheduled delivery, embedded views, alerts — yes, and against the live database rather than a reloaded copy of it. The honest exception is the associative engine itself. If your users work by making selections and reading what turns grey across every object on the sheet at once, that is a genuinely distinctive thing Qlik does, Qrly does not do it, and no amount of drill-down is quite the same gesture.

What replaces set analysis?

Calculated fields and the OLAP layer. A calculated field is a SQL expression with a type hint, validated on the server, usable in filters, breakouts, having, order-by and aggregations, with a Monaco mini-editor and column completion for authoring it. The scoped comparisons people usually reach for set analysis to express come from the OLAP model: period-over-period against the prior period and the prior year, Top-N within group via ROW_NUMBER partitioned by the dimensions, and ROLLUP, CUBE or GROUPING SETS where the dialect supports them. It is more verbose than a set expression, and considerably easier for the next person to read.

How do we migrate off Qlik Sense?

You rebuild rather than import, and there is no honest way to dress that up. A Qlik app is a proprietary file holding the model, the load script and the sheets together, and nothing outside Qlik reads it. What transfers is the source: Qrly connects to the same databases and warehouses through one of 40 connection types. The load script turns out to be the most useful artefact you own, because it names every table, key and join the app depends on — read it as the specification, then rebuild the sheets that people actually open.

What does Qrly cost vs Qlik Sense?

Qrly is priced on revenue, not seats: a €15M-revenue company pays €6,300 a year — €18,900 over three years — for unlimited everything, one organization, one installation. Qlik licenses per named user with capacity tiers on top, so its number depends on how many people you name and how much data you load, and we are not going to publish a figure we cannot source. What is safe to say is that the Qrly figure does not move when the user count does — which is the only part of the comparison you can plan a budget around.

Do we lose the associative selection model?

Yes, and it belongs at the top of the evaluation rather than buried in a footnote. Qrly has no equivalent of Qlik's green, white and grey selection state propagating across every object on a sheet. What it offers instead is drill-down in two modes — ROWS strips the aggregation to expose the underlying rows, FILTER keeps the aggregation and narrows to the group you clicked — plus dashboard cascade filters that chain parent to child, and interactive filters populated by their own lookup SQL. It is a different gesture, and teams who navigate by association every day should try it before signing anything.

Which Qrly edition is the self-hosted one?

All of them, because there is only one. One Qrly, one binary, one feature set, running on a single Linux box, in a private cloud or on a Kubernetes cluster, air-gapped if your regulator requires it. There is no hosted edition that receives capabilities first and no client-managed edition that receives them a year later, so there is no future migration between the two waiting on the roadmap.

Ready to leave the reload window behind?

Self-hostable. Flat pricing. On-prem AI. EU data residency by default. Made in Belgium.