Analytics and Visualisation
Analytics and visualisation platforms transform raw data into interactive dashboards, reports, and exploratory views that support operational decision-making. These tools connect to databases, data warehouses, and APIs to present aggregated metrics, trends, and drill-down analysis to staff across technical and non-technical roles.
This page covers general-purpose business intelligence and visualisation platforms. It excludes specialised monitoring tools (see Security and Monitoring), geospatial analysis platforms (see GIS and Mapping), and programme-specific M&E platforms (see M&E Platforms).
Assessment methodology
Tool assessments derive from official vendor documentation, published API references, release notes, and technical specifications as of 2026-01-24. Feature availability varies by product tier, deployment model, and region. Verify current capabilities directly with vendors during procurement. Community-reported information is excluded; only documented features are assessed.
Requirements taxonomy
This taxonomy defines evaluation criteria for analytics and visualisation tools. Requirements are organised by functional area and weighted by typical priority for mission-driven organisations.
Functional requirements
Core capabilities that define what the tool must do.
Data connectivity
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| F1.1 | SQL database connectivity | Native connection to PostgreSQL, MySQL, SQL Server, and other relational databases using standard JDBC/ODBC drivers or native connectors | Full: 10+ database types with connection pooling and SSL support. Partial: 5-9 database types or limited SSL options. Minimal: fewer than 5 types | Review connector documentation; test connection to PostgreSQL and MySQL | Essential |
| F1.2 | Cloud data warehouse support | Connection to BigQuery, Snowflake, Redshift, Databricks, and similar analytical databases | Full: native optimised connectors for 4+ cloud warehouses. Partial: generic JDBC only. None: no cloud warehouse support | Test connection latency and query pushdown behaviour | Essential |
| F1.3 | File-based data sources | Import and query CSV, Excel, JSON, and Parquet files directly | Full: all four formats with schema inference and refresh capability. Partial: CSV and Excel only. None: no file support | Upload test files of each format | Important |
| F1.4 | API and web service connectivity | Query REST APIs, GraphQL endpoints, and web services as data sources | Full: native REST connector with authentication options. Partial: requires plugin or extension. None: not supported | Review API connector documentation; test with sample endpoint | Important |
| F1.5 | Real-time streaming data | Connect to Kafka, MQTT, or websocket streams for live dashboards | Full: native streaming connectors with configurable refresh. Partial: polling-based pseudo-streaming only. None: batch only | Review streaming documentation; check refresh interval limits | Context-dependent |
| F1.6 | Data source metadata | Expose table schemas, column types, and relationships for discovery | Full: automated schema introspection with column statistics. Partial: basic schema only. None: manual definition required | Connect to database and verify metadata display | Important |
Data preparation
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| F2.1 | Visual data transformation | Graphical interface for filtering, joining, pivoting, and aggregating data without writing code | Full: comprehensive visual query builder with preview. Partial: limited operations available visually. None: code-only transformation | Create multi-step transformation visually | Important |
| F2.2 | SQL query authoring | Write and execute custom SQL queries against connected data sources | Full: syntax highlighting, autocomplete, query history, and explain plan. Partial: basic SQL editor only. None: no SQL access | Write complex query with joins; verify autocomplete | Essential |
| F2.3 | Calculated fields and metrics | Define computed columns and measures using expressions or formulas | Full: comprehensive expression language with functions. Partial: basic arithmetic only. None: not supported | Create calculated field with conditional logic | Essential |
| F2.4 | Data blending | Combine data from multiple sources in a single visualisation | Full: join data from heterogeneous sources at query time. Partial: pre-joined datasets only. None: single source per visualisation | Blend data from database and CSV file | Important |
| F2.5 | Parameterised queries | User-selectable parameters that modify query behaviour at runtime | Full: multiple parameter types with dependencies. Partial: single parameter type only. None: not supported | Create dashboard with parameter-driven filter | Essential |
| F2.6 | Semantic layer | Define reusable business metrics, dimensions, and relationships independent of visualisations | Full: centralised semantic model with governance. Partial: per-workbook definitions. None: no semantic layer | Review semantic modelling documentation | Important |
Visualisation capabilities
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| F3.1 | Chart type variety | Range of built-in chart types including bar, line, area, scatter, pie, treemap, heatmap, and geographic | Full: 20+ chart types covering statistical and geographic needs. Partial: 10-19 types. Minimal: fewer than 10 types | Count distinct chart types in documentation | Essential |
| F3.2 | Interactive filtering | Click-to-filter, cross-filtering between charts, and drill-down navigation | Full: bidirectional cross-filtering with drill paths. Partial: unidirectional filtering only. None: static charts | Test cross-filter behaviour between linked charts | Essential |
| F3.3 | Geographic visualisations | Maps with points, polygons, choropleths, and custom geographic boundaries | Full: multiple map types with custom geometry support. Partial: point maps only. None: no geographic visualisation | Create choropleth map with custom boundaries | Important |
| F3.4 | Time series analysis | Specialised handling of date/time data with period comparisons, moving averages, and trend lines | Full: native time intelligence functions and visualisations. Partial: manual date calculations required. None: no time specialisation | Create year-over-year comparison chart | Important |
| F3.5 | Table and pivot views | Tabular data display with sorting, conditional formatting, and pivoting | Full: pivot tables with subtotals and formatting rules. Partial: basic tables only. None: charts only | Create formatted pivot table with subtotals | Essential |
| F3.6 | Custom visualisations | Extend with custom chart types through plugins, extensions, or embedded code | Full: documented extension API with community ecosystem. Partial: limited customisation options. None: built-in charts only | Review extension documentation; count available plugins | Desirable |
Dashboard composition
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| F4.1 | Multi-chart layouts | Arrange multiple visualisations on a single canvas with flexible positioning | Full: grid and free-form layouts with responsive behaviour. Partial: fixed grid only. None: single chart per page | Create dashboard with 6+ charts in mixed layout | Essential |
| F4.2 | Dashboard filters | Global filters affecting all charts with filter controls visible to viewers | Full: multiple filter types with dependencies and defaults. Partial: basic dropdown filters only. None: per-chart filters only | Add date range and multi-select filters to dashboard | Essential |
| F4.3 | Annotations and text | Add titles, descriptions, images, and explanatory text to dashboards | Full: rich text, images, and dynamic text values. Partial: plain text only. None: chart titles only | Add formatted text block with embedded metric | Important |
| F4.4 | Conditional display | Show or hide charts based on data values or user selections | Full: conditional visibility rules with multiple conditions. Partial: single condition per element. None: all elements always visible | Configure chart to hide when data is empty | Desirable |
| F4.5 | Dashboard actions | Clickable elements that navigate, filter, or trigger external actions | Full: URL actions, filter actions, and parameter actions. Partial: navigation only. None: no interactivity beyond filtering | Configure click action that opens external URL with parameters | Important |
| F4.6 | Mobile-responsive layouts | Dashboards adapt to different screen sizes including tablets and phones | Full: device-specific layouts with preview. Partial: auto-scaling only. None: desktop-only rendering | Preview dashboard on mobile device or emulator | Important |
Sharing and collaboration
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| F5.1 | View-only sharing | Share dashboards with users who can view but not edit | Full: granular view permissions with row-level security. Partial: all-or-nothing view access. None: editors only | Share dashboard with view-only user; verify restrictions | Essential |
| F5.2 | Embedding | Embed dashboards in external applications or websites | Full: iframe and JavaScript embedding with SSO. Partial: public iframe only. None: no embedding | Embed dashboard in test webpage | Important |
| F5.3 | Scheduled delivery | Automatically email or deliver dashboard snapshots on schedule | Full: flexible schedules with conditional delivery. Partial: fixed schedule options. None: manual export only | Configure weekly email delivery of dashboard PDF | Important |
| F5.4 | Alerting | Notifications when data meets specified conditions | Full: threshold alerts with multiple channels. Partial: email alerts only. None: no alerting | Configure alert for metric exceeding threshold | Important |
| F5.5 | Export formats | Download visualisations as images, PDFs, or data files | Full: PNG, PDF, CSV, and Excel export. Partial: two export formats. None: no export | Export dashboard as PDF and underlying data as CSV | Essential |
| F5.6 | Comments and annotations | Users can add comments to dashboards or specific data points | Full: threaded comments with notifications. Partial: simple notes. None: no commenting | Add comment to dashboard; verify notification | Desirable |
Administration
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| F6.1 | Workspace organisation | Folders, projects, or collections for organising content | Full: hierarchical folders with inherited permissions. Partial: flat organisation only. None: single workspace | Create nested folder structure with different permissions | Important |
| F6.2 | Content certification | Mark dashboards as official or verified versus exploratory | Full: certification workflow with visual indicators. Partial: tagging only. None: no certification | Certify a dashboard; verify visual indicator | Desirable |
| F6.3 | Usage analytics | Track who views which dashboards and how frequently | Full: detailed usage logs with viewer identification. Partial: aggregate counts only. None: no usage tracking | Review usage statistics for test dashboard | Important |
| F6.4 | Version control | Track changes to dashboards with ability to restore previous versions | Full: version history with diff view and rollback. Partial: save points without diff. None: no versioning | Make changes; restore previous version | Important |
| F6.5 | Content promotion | Move dashboards between development, staging, and production environments | Full: managed promotion workflow. Partial: manual export/import. None: single environment | Review promotion documentation | Context-dependent |
Technical requirements
Infrastructure, architecture, and deployment considerations.
Deployment and hosting
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| T1.1 | Self-hosted deployment | Deploy on organisation-controlled infrastructure for data sovereignty | Full: complete feature parity with hosted version, documented deployment. Partial: self-hosted with feature limitations. None: SaaS only | Review deployment documentation; compare feature matrix | Important |
| T1.2 | Container deployment | Deploy using Docker and Kubernetes with official images | Full: official images, Helm charts, documented orchestration. Partial: community images only. None: no container support | Check Docker Hub for official images; review Helm chart | Important |
| T1.3 | High availability | Redundant deployment eliminating single points of failure | Full: documented HA architecture with automatic failover. Partial: manual failover. None: single instance only | Review HA architecture documentation | Context-dependent |
| T1.4 | Air-gapped operation | Function without internet connectivity after initial deployment | Full: complete offline operation documented. Partial: offline with feature limitations. None: requires internet | Review offline deployment documentation | Context-dependent |
| T1.5 | Cloud hosting options | Vendor-managed cloud deployment with regional options | Full: multiple regions including EU with documented data residency. Partial: limited regions. None: self-host only | Review cloud regions; verify EU availability | Important |
Scalability and performance
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| T2.1 | Query caching | Cache query results to reduce database load and improve response time | Full: configurable caching with invalidation controls. Partial: fixed cache behaviour. None: no caching | Review caching configuration documentation | Important |
| T2.2 | Query pushdown | Push aggregations and filters to the database rather than processing locally | Full: full SQL pushdown with optimisation. Partial: limited pushdown. None: client-side processing | Review query execution plan for aggregation query | Important |
| T2.3 | Concurrent users | Support multiple simultaneous users viewing dashboards | Full: documented concurrent user capacity with scaling guidance. Partial: capacity undocumented. None: single user | Review performance documentation; check scaling guides | Important |
| T2.4 | Large dataset handling | Render visualisations from tables with millions of rows | Full: documented performance at 10M+ rows with sampling. Partial: performance degrades above 1M rows. None: practical limit below 100K | Review large data documentation; test with sample data | Important |
| T2.5 | Resource limits | Configure memory, CPU, and query timeout limits | Full: per-user and per-query resource limits. Partial: global limits only. None: no limits | Review resource configuration options | Important |
Integration architecture
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| T3.1 | REST API | Programmatic access for automation and integration | Full: comprehensive API covering dashboards, queries, and administration. Partial: limited API coverage. None: no API | Review API documentation completeness | Essential |
| T3.2 | API authentication | Secure API access methods | Full: OAuth 2.0, API keys, and service accounts. Partial: API keys only. None: session-based only | Review API authentication documentation | Important |
| T3.3 | Webhook support | Push notifications to external systems on events | Full: configurable webhooks for multiple event types. Partial: limited events. None: no webhooks | Review webhook documentation | Desirable |
| T3.4 | CLI tools | Command-line interface for automation and scripting | Full: comprehensive CLI with all major operations. Partial: basic operations only. None: no CLI | Review CLI documentation; list available commands | Desirable |
| T3.5 | Infrastructure as code | Define configuration in Terraform, Ansible, or similar | Full: official Terraform provider with full coverage. Partial: limited resource support. None: no IaC support | Check Terraform registry for provider | Desirable |
Security requirements
Security controls and data protection capabilities.
Authentication and access control
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| S1.1 | SSO integration | Federated identity via SAML 2.0 or OIDC | Full: SAML 2.0 and OIDC with multiple IdP support. Partial: single protocol or IdP. None: local auth only | Review SSO documentation; verify protocol support | Essential |
| S1.2 | Multi-factor authentication | MFA support for local accounts | Full: TOTP and WebAuthn support. Partial: TOTP only. None: password only | Review MFA configuration options | Essential |
| S1.3 | Role-based access control | Predefined and custom roles controlling feature access | Full: granular permissions with custom roles. Partial: predefined roles only. None: admin/user only | Review RBAC documentation; create custom role | Essential |
| S1.4 | Row-level security | Restrict data visibility based on user attributes | Full: policy-based RLS with multiple conditions. Partial: simple user-based filtering. None: all-or-nothing access | Configure RLS policy; verify data filtering | Important |
| S1.5 | Object-level permissions | Control access to individual dashboards and data sources | Full: per-object permissions with inheritance. Partial: folder-level only. None: global access | Set different permissions on two dashboards; verify enforcement | Essential |
| S1.6 | Service accounts | Non-interactive accounts for automation and embedding | Full: dedicated service accounts with API access. Partial: shared credentials required. None: no service accounts | Create service account; verify API access | Important |
Data protection
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| S2.1 | Encryption in transit | TLS encryption for all network communications | Full: TLS 1.2+ enforced with certificate management. Partial: TLS optional. None: unencrypted communication | Review TLS configuration; test with SSL checker | Essential |
| S2.2 | Encryption at rest | Encryption of stored data and credentials | Full: encrypted storage with key management. Partial: credentials encrypted only. None: unencrypted storage | Review encryption documentation | Essential |
| S2.3 | Credential management | Secure storage of database passwords and API keys | Full: encrypted vault with rotation support. Partial: encrypted but no rotation. None: plaintext storage | Review credential storage documentation | Essential |
| S2.4 | Audit logging | Log of user actions for security monitoring and compliance | Full: comprehensive audit trail with retention controls. Partial: login events only. None: no audit logging | Review audit log contents; verify action logging | Essential |
| S2.5 | Data masking | Hide sensitive data values from unauthorised users | Full: policy-based masking with multiple patterns. Partial: column-level masking only. None: no masking | Review masking documentation | Desirable |
Compliance and certifications
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| S3.1 | SOC 2 Type II | Service Organisation Control attestation for cloud services | Certified: current SOC 2 Type II report available. Pending: in progress. None: no SOC 2 | Request SOC 2 report or verify on trust portal | Important |
| S3.2 | ISO 27001 | Information security management system certification | Certified: current certificate. None: not certified | Verify certificate on trust portal | Important |
| S3.3 | GDPR compliance | Features supporting GDPR requirements for EU data subjects | Full: data export, deletion, and processing controls. Partial: some features. None: no GDPR features | Review GDPR documentation | Important |
| S3.4 | HIPAA eligibility | Features supporting healthcare data compliance | Full: BAA available with technical controls. Partial: some controls. None: not HIPAA-ready | Review HIPAA documentation; check BAA availability | Context-dependent |
Operational requirements
Administration, monitoring, and maintenance considerations.
Administration
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| O1.1 | Web-based administration | Configure system settings through browser interface | Full: comprehensive admin UI covering all settings. Partial: basic settings only. None: config file only | Review admin interface capabilities | Important |
| O1.2 | User provisioning | Create and manage user accounts | Full: SCIM provisioning with group sync. Partial: manual creation or SAML JIT. None: manual only | Review provisioning documentation; test user sync | Important |
| O1.3 | Bulk operations | Import/export users, dashboards, and configuration | Full: bulk operations via UI and API. Partial: API only. None: individual operations only | Review bulk operation documentation | Desirable |
| O1.4 | Multi-tenancy | Isolate multiple organisations or teams within single deployment | Full: complete tenant isolation with separate configuration. Partial: workspace separation only. None: single tenant | Review multi-tenancy documentation | Context-dependent |
Monitoring and observability
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| O2.1 | Health endpoints | API endpoints for monitoring system health | Full: detailed health checks with dependency status. Partial: simple up/down. None: no health endpoint | Review health endpoint documentation | Important |
| O2.2 | Metrics export | Expose operational metrics for monitoring systems | Full: Prometheus/OpenMetrics format with detailed metrics. Partial: basic metrics. None: no metrics export | Review metrics documentation; verify Prometheus compatibility | Important |
| O2.3 | Log aggregation | Structured logs compatible with centralised logging | Full: JSON structured logs with configurable levels. Partial: plain text logs. None: minimal logging | Review log format documentation | Important |
| O2.4 | Performance diagnostics | Tools for identifying slow queries and performance issues | Full: query profiling with recommendations. Partial: basic timing only. None: no diagnostics | Review performance monitoring documentation | Desirable |
Backup and recovery
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| O3.1 | Configuration backup | Export system configuration for disaster recovery | Full: complete configuration export with encryption. Partial: partial export. None: manual reconstruction | Review backup documentation; test export | Essential |
| O3.2 | Content backup | Export dashboards, data sources, and user content | Full: comprehensive export with dependencies. Partial: individual export only. None: no export | Export and reimport dashboard with data sources | Essential |
| O3.3 | Point-in-time recovery | Restore to specific point after failure | Full: continuous backup with PITR. Partial: scheduled snapshots. None: manual backup only | Review recovery documentation | Important |
Support and maintenance
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| O4.1 | Documentation quality | Comprehensive, accurate, and current documentation | Full: complete docs with examples and troubleshooting. Partial: basic reference only. None: minimal documentation | Review documentation for completeness and recency | Essential |
| O4.2 | Release cadence | Regular updates with security patches and features | Full: predictable release schedule with LTS options. Partial: irregular releases. None: infrequent updates | Review release history and schedule | Important |
| O4.3 | Community support | Active community forums, chat, and knowledge base | Full: active community with vendor participation. Partial: community exists but limited. None: no community | Review community activity levels | Important |
| O4.4 | Commercial support | Paid support options with SLAs | Full: multiple tiers with response time SLAs. Partial: single support option. None: community only | Review support offerings and SLAs | Context-dependent |
Commercial and contractual requirements
Pricing, licensing, and vendor considerations.
Pricing and licensing
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| C1.1 | Licence type | Open source, commercial, or hybrid licensing model | Document: licence type, restrictions, and implications | Review licence text and FAQs | Essential |
| C1.2 | Nonprofit pricing | Discounted pricing for registered nonprofits | Full: formalised programme with significant discount. Partial: case-by-case discounts. None: standard pricing | Contact vendor; review nonprofit programme documentation | Important |
| C1.3 | User-based pricing | Cost scales with number of users | Document: pricing model, user types, and thresholds | Review pricing page; request quote | Essential |
| C1.4 | Usage-based pricing | Cost scales with query volume or data processed | Document: pricing model, metering, and alerts | Review pricing documentation; understand metering | Important |
| C1.5 | Free tier | Permanently free option for evaluation or small deployments | Full: meaningful free tier for production use. Partial: time-limited trial. None: no free option | Review free tier limitations | Important |
Vendor assessment
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| C2.1 | Vendor stability | Financial health and market position | Document: company age, funding, profitability indicators | Research company background | Important |
| C2.2 | Data portability | Ability to export all data and migrate away | Full: complete export in open formats. Partial: partial export. None: proprietary lock-in | Review export capabilities; test data extraction | Essential |
| C2.3 | Contractual terms | Standard terms acceptable to nonprofit procurement | Document: key contract terms, negotiability | Review terms of service | Important |
| C2.4 | Jurisdiction | Legal jurisdiction and data protection implications | Document: company headquarters, data processing locations | Review privacy policy and DPA | Important |
Accessibility requirements
| ID | Requirement | Description | Assessment criteria | Verification method | Typical priority |
|---|---|---|---|---|---|
| A1.1 | WCAG 2.1 AA compliance | Dashboard viewing meets accessibility standards | Full: certified WCAG 2.1 AA compliance. Partial: some violations. None: not assessed | Review VPAT; test with screen reader | Important |
| A1.2 | Keyboard navigation | All functions accessible via keyboard | Full: complete keyboard support with visible focus. Partial: most functions. None: mouse required | Navigate dashboard using only keyboard | Important |
| A1.3 | Screen reader compatibility | Charts and dashboards work with assistive technology | Full: ARIA labels and alternative text throughout. Partial: basic support. None: not compatible | Test with NVDA or VoiceOver | Important |
| A1.4 | Colour contrast | Sufficient contrast for low-vision users | Full: configurable themes with high contrast option. Partial: default theme meets standards. None: fails contrast | Check contrast ratios in default theme | Important |
| A1.5 | VPAT availability | Accessibility conformance report available | Available: current VPAT published. None: no VPAT | Request VPAT from vendor | Desirable |
Comparison matrices
The following matrices compare assessed tools using standardised ratings:
| Symbol | Meaning |
|---|---|
| ● | Full support: meets all assessment criteria |
| ◐ | Partial support: meets some criteria with limitations |
| ○ | Minimal support: basic implementation only |
| ✗ | Not supported |
| - | Not applicable to this tool |
| E | Enterprise/paid tier only |
| P | Plugin or extension required |
| β | Beta or preview feature |
Functional capability matrix
Data connectivity
| Capability | Apache Superset | Grafana | Metabase | JupyterLab | Power BI | Tableau |
|---|---|---|---|---|---|---|
| SQL databases (F1.1) | ● | ● | ● | ●P | ● | ● |
| Cloud warehouses (F1.2) | ● | ◐ | ● | ●P | ● | ● |
| File-based sources (F1.3) | ◐ | ○ | ● | ● | ● | ● |
| API connectivity (F1.4) | ◐P | ●P | ○ | ● | ●E | ● |
| Streaming data (F1.5) | ○ | ● | ✗ | ◐P | ◐ | ◐ |
| Schema metadata (F1.6) | ● | ○ | ● | ◐ | ● | ● |
Assessment notes:
- Superset supports 40+ databases via SQLAlchemy; file support requires database loading first
- Grafana excels at time-series databases (Prometheus, InfluxDB) but has limited relational database features
- Metabase provides native connectors for major databases with strong schema exploration
- JupyterLab requires Python libraries (pandas, SQLAlchemy) for database connectivity
- Power BI and Tableau have the broadest native connector ecosystems
Data preparation
| Capability | Apache Superset | Grafana | Metabase | JupyterLab | Power BI | Tableau |
|---|---|---|---|---|---|---|
| Visual transformation (F2.1) | ○ | ○ | ● | ✗ | ● | ● |
| SQL authoring (F2.2) | ● | ◐ | ● | ● | ● | ● |
| Calculated fields (F2.3) | ● | ● | ● | ● | ● | ● |
| Data blending (F2.4) | ◐ | ○ | ◐ | ● | ● | ● |
| Parameterised queries (F2.5) | ● | ● | ● | ● | ● | ● |
| Semantic layer (F2.6) | ◐ | ○ | ◐ | ○ | ●E | ● |
Assessment notes:
- Superset’s SQL Lab provides excellent query authoring; semantic layer is available but less mature than commercial options
- Grafana focuses on query transformation rather than visual data preparation
- Metabase’s visual query builder is strong for non-technical users
- JupyterLab uses Python/pandas for transformation, which provides unlimited flexibility but requires coding
- Power BI’s semantic model (formerly Power Pivot) and Tableau’s data model provide mature semantic layers
Visualisation capabilities
| Capability | Apache Superset | Grafana | Metabase | JupyterLab | Power BI | Tableau |
|---|---|---|---|---|---|---|
| Chart variety (F3.1) | ● | ● | ◐ | ●P | ● | ● |
| Interactive filtering (F3.2) | ● | ● | ● | ○P | ● | ● |
| Geographic visualisation (F3.3) | ● | ◐P | ◐ | ●P | ● | ● |
| Time series analysis (F3.4) | ● | ● | ◐ | ●P | ● | ● |
| Tables and pivots (F3.5) | ● | ◐ | ● | ●P | ● | ● |
| Custom visualisations (F3.6) | ● | ● | ○ | ● | ● | ● |
Assessment notes:
- Superset includes 50+ chart types including deck.gl geographic visualisations
- Grafana specialises in time-series with strong panel ecosystem
- Metabase has fewer chart types but covers common use cases well
- JupyterLab with Plotly, Altair, or matplotlib provides extensive visualisation options
- Power BI and Tableau have the most polished visualisation experiences
Sharing and collaboration
| Capability | Apache Superset | Grafana | Metabase | JupyterLab | Power BI | Tableau |
|---|---|---|---|---|---|---|
| View-only sharing (F5.1) | ● | ● | ● | ◐ | ● | ● |
| Embedding (F5.2) | ● | ● | ●E | ◐P | ●E | ●E |
| Scheduled delivery (F5.3) | ● | ●E | ● | ○P | ● | ● |
| Alerting (F5.4) | ● | ● | ●E | ○P | ● | ● |
| Export formats (F5.5) | ● | ● | ● | ● | ● | ● |
| Comments (F5.6) | ○ | ○ | ○ | ◐P | ● | ● |
Assessment notes:
- Superset’s alerting requires Celery worker configuration
- Grafana alerting is mature for infrastructure monitoring use cases
- Metabase embedding and alerting require Pro or Enterprise licence
- JupyterLab focuses on notebooks rather than dashboard sharing; JupyterHub provides sharing infrastructure
- Power BI and Tableau have the most complete collaboration features
Technical capability matrix
Deployment options
| Tool | Self-hosted | Docker | Kubernetes | Cloud-hosted | Air-gapped |
|---|---|---|---|---|---|
| Apache Superset | ● | ● | ● | ◐ | ● |
| Grafana | ● | ● | ● | ● | ● |
| Metabase | ● | ● | ● | ● | ● |
| JupyterLab | ● | ● | ● | ◐ | ● |
| Power BI | ○ | ○ | ○ | ● | ◐ |
| Tableau | ● | ◐ | ○ | ● | ● |
Assessment notes:
- Superset cloud hosting primarily via Preset.io (commercial)
- Grafana Cloud is a mature managed service with global regions
- Metabase Cloud offers managed hosting in US and EU regions
- JupyterHub provides self-hosted multi-user deployment; various cloud providers offer managed JupyterLab
- Power BI is primarily cloud-native; Power BI Report Server provides limited on-premises option
- Tableau Server provides on-premises; Tableau Cloud is managed service
Self-hosted infrastructure requirements
| Tool | Minimum RAM | Recommended RAM | Minimum vCPU | Database required |
|---|---|---|---|---|
| Apache Superset | 4 GB | 8 GB | 2 | PostgreSQL, MySQL, or SQLite |
| Grafana | 512 MB | 2 GB | 1 | SQLite (embedded) or PostgreSQL/MySQL |
| Metabase | 2 GB | 4 GB | 2 | H2 (embedded) or PostgreSQL/MySQL |
| JupyterLab | 1 GB | 4 GB | 1 | None (filesystem) |
| Power BI Report Server | 8 GB | 16 GB | 4 | SQL Server |
| Tableau Server | 32 GB | 64 GB | 8 | PostgreSQL (embedded) or external |
API capabilities
| Tool | API coverage | Authentication methods | Rate limiting | SDK availability |
|---|---|---|---|---|
| Apache Superset | ● Comprehensive | OAuth 2.0, API tokens | Configurable | Python (unofficial) |
| Grafana | ● Comprehensive | API keys, OAuth, service accounts | Per-key limits | Go, Python (unofficial) |
| Metabase | ◐ Partial | Session tokens, API keys | None documented | Python, Ruby (unofficial) |
| JupyterLab | ● Comprehensive | Token, OAuth | None | Python (official) |
| Power BI | ● Comprehensive | Azure AD OAuth | Throttling | .NET, Python (official) |
| Tableau | ● Comprehensive | Personal tokens, OAuth | Per-endpoint | Python (official) |
Security capability matrix
Authentication methods
| Method | Apache Superset | Grafana | Metabase | JupyterLab | Power BI | Tableau |
|---|---|---|---|---|---|---|
| Local accounts | ● | ● | ● | ● | ✗ | ● |
| LDAP | ● | ●E | ●E | ●P | ✗ | ● |
| SAML 2.0 | ● | ●E | ●E | ◐P | ● | ● |
| OIDC/OAuth 2.0 | ● | ● | ●E | ●P | ● | ● |
| MFA (TOTP) | ○ | ● | ● | ○P | ● | ● |
Assessment notes:
- Superset uses Flask-AppBuilder for authentication; MFA requires external IdP
- Grafana SAML and LDAP require Enterprise licence; OAuth is available in OSS
- Metabase SSO features require Pro or Enterprise
- JupyterHub provides multi-user authentication; JupyterLab alone has limited auth
- Power BI uses Azure AD exclusively
- Tableau provides comprehensive authentication options across editions
Data protection features
| Feature | Apache Superset | Grafana | Metabase | JupyterLab | Power BI | Tableau |
|---|---|---|---|---|---|---|
| Row-level security | ● | ○ | ●E | - | ● | ● |
| Column-level security | ○ | ✗ | ○ | - | ● | ● |
| Data masking | ○ | ✗ | ○ | - | ◐ | ◐ |
| Audit logging | ● | ●E | ●E | ◐ | ● | ● |
| Encryption at rest | ● | ● | ● | ◐ | ● | ● |
Assessment notes:
- Superset RLS uses SQL-based policies configurable per dataset
- Grafana focuses on dashboard-level access rather than data-level security
- Metabase sandboxing (data access restrictions) requires Pro or Enterprise
- JupyterLab security depends on notebook server and kernel configuration
- Power BI and Tableau provide the most comprehensive data security features
Compliance certifications (cloud/SaaS offerings)
| Certification | Apache Superset (Preset) | Grafana Cloud | Metabase Cloud | JupyterHub Cloud | Power BI | Tableau Cloud |
|---|---|---|---|---|---|---|
| SOC 2 Type II | ● | ● | ● | Varies | ● | ● |
| ISO 27001 | ● | ● | ○ | Varies | ● | ● |
| GDPR ready | ● | ● | ● | Varies | ● | ● |
| HIPAA eligible | ○ | ●E | ○ | ○ | ● | ● |
| FedRAMP | ✗ | ○ | ✗ | ○ | ● | ● |
Assessment notes:
- Self-hosted deployments inherit organisation’s compliance posture
- Preset.io (commercial Superset) provides enterprise compliance features
- Grafana Enterprise Cloud offers HIPAA BAA
- Power BI and Tableau have the most comprehensive compliance coverage
Commercial comparison matrix
Pricing models
| Tool | Licence | Pricing model | Free tier | Nonprofit programme |
|---|---|---|---|---|
| Apache Superset | Apache 2.0 | Free (self-hosted) | ● Unlimited | - |
| Grafana | AGPL 3.0 | Per-user (cloud) | ● 10 users | ● Available |
| Metabase | AGPL 3.0 | Per-user (cloud and self-hosted Pro) | ● Unlimited (OSS) | ● 50% discount |
| JupyterLab | BSD-3 | Free (self-hosted) | ● Unlimited | - |
| Power BI | Proprietary | Per-user + capacity | ● Desktop only | ● 10 free licences |
| Tableau | Proprietary | Per-user | ○ Tableau Public | ● Available |
Cloud pricing estimates (January 2026)
| Tool | Free tier | Entry paid tier | Mid-range | Enterprise |
|---|---|---|---|---|
| Preset (Superset) | Limited trial | $50/user/month | Custom | Custom |
| Grafana Cloud | 10 users, 14-day metrics | $50/user/month | $100/user/month | Custom |
| Metabase Cloud | - | $85/month (5 users) | $500/month (25 users) | Custom |
| JupyterHub (self-hosted) | Free | - | - | - |
| Power BI | Free Desktop | $10/user/month Pro | $20/user/month PPU | Capacity pricing |
| Tableau Cloud | Tableau Public | $15/user/month Viewer | $42/user/month Explorer | $75/user/month Creator |
Notes:
- Prices are indicative; verify current pricing with vendors
- Microsoft and Salesforce (Tableau) offer nonprofit programmes with significant discounts
- Self-hosted FOSS options have infrastructure costs but no licence fees
Vendor details
| Tool | Vendor | Headquarters | Founded | Ownership |
|---|---|---|---|---|
| Apache Superset | Apache Software Foundation | USA (distributed) | 2015 (Airbnb), ASF 2021 | Nonprofit foundation |
| Grafana | Grafana Labs | USA (New York) | 2014 | Private (Series D, $240M) |
| Metabase | Metabase, Inc. | USA (San Francisco) | 2015 | Private (Series C, $52M) |
| JupyterLab | Project Jupyter (NumFOCUS) | USA (distributed) | 2015 | Nonprofit foundation |
| Power BI | Microsoft | USA (Washington) | 2014 | Public (NASDAQ: MSFT) |
| Tableau | Salesforce | USA (California) | 2003 | Public (NYSE: CRM) |
Jurisdictional considerations
| Tool | Data processing | CLOUD Act exposure | EU data residency |
|---|---|---|---|
| Apache Superset | Self-hosted: your choice. Preset: US-based | Preset: Yes | Self-hosted: Yes |
| Grafana | Self-hosted: your choice. Cloud: US/EU/other regions | Cloud: Yes (US company) | Cloud: Available |
| Metabase | Self-hosted: your choice. Cloud: US or EU | Cloud: Yes | Cloud: EU region available |
| JupyterLab | Self-hosted: your choice | - | Self-hosted: Yes |
| Power BI | Microsoft Azure data centres | Yes | EU regions available |
| Tableau | Salesforce data centres | Yes | EU regions available |
Assessment notes:
- All US-headquartered cloud providers are subject to CLOUD Act data requests regardless of data location
- Self-hosted deployment of FOSS tools eliminates jurisdictional concerns
- Power BI and Tableau offer data residency options but remain US-jurisdiction companies
Accessibility matrix
| Requirement | Apache Superset | Grafana | Metabase | JupyterLab | Power BI | Tableau |
|---|---|---|---|---|---|---|
| WCAG 2.1 AA (A1.1) | ◐ | ◐ | ◐ | ◐ | ● | ● |
| Keyboard navigation (A1.2) | ◐ | ◐ | ◐ | ● | ● | ● |
| Screen reader (A1.3) | ○ | ○ | ○ | ◐ | ● | ● |
| Colour contrast (A1.4) | ◐ | ● | ◐ | ◐ | ● | ● |
| VPAT available (A1.5) | ✗ | ● | ✗ | ✗ | ● | ● |
Assessment notes:
- Commercial tools (Power BI, Tableau) have invested more heavily in accessibility compliance
- FOSS tools have active accessibility improvements but lack formal VPAT documentation
- Grafana publishes a VPAT for Grafana Enterprise
Tool assessments
Apache Superset
Type: Open source business intelligence platform Licence: Apache 2.0 Current version: 6.0.0 (December 2025) Repository: https://github.com/apache/superset Documentation: https://superset.apache.org/docs/
Apache Superset is a modern data exploration and visualisation platform originally developed at Airbnb and donated to the Apache Software Foundation in 2021. The platform provides a web-based interface for creating charts and dashboards from SQL databases without requiring users to write code, while also offering a full SQL IDE for advanced users.
Superset connects to any database with a SQLAlchemy-compatible driver, providing native support for 40+ database technologies including PostgreSQL, MySQL, ClickHouse, BigQuery, Snowflake, and Trino. The semantic layer allows defining reusable metrics and dimensions that business users access through a visual query builder.
Key strengths:
The SQL Lab feature provides a comprehensive query authoring environment with syntax highlighting, autocomplete, query history, and the ability to save queries as virtual datasets for visualisation. Query results cache automatically, reducing database load for repeated queries.
The visualisation library includes 50+ chart types, including deck.gl-powered geographic visualisations, pivot tables, and custom plugin support. The chart builder interface uses drag-and-drop metric and dimension selection that generates optimised SQL queries.
Role-based access control operates at both the database and dataset level, with row-level security policies defined in SQL. This allows restricting data visibility based on user attributes without duplicating datasets.
The dashboard filter system supports cross-filtering between charts, filter hierarchies, and filter dependencies. Dashboards can be embedded in external applications using configurable authentication.
Key limitations:
The learning curve for administrators is substantial. Configuration requires understanding of Python, Flask, and SQLAlchemy. Default deployments need additional components (Redis, Celery) for caching and alerting functionality.
Real-time data capabilities are limited compared to Grafana. While query results refresh on schedule, true streaming dashboard updates require external tooling.
Documentation quality varies across features. Core functionality is well-documented, but advanced configurations and troubleshooting often require community forum research.
Mobile responsiveness is basic. Dashboards scale to smaller screens but lack device-specific layout optimisation.
Deployment and operations:
Self-hosted deployment requires Python 3.9+, a metadata database (PostgreSQL recommended for production), and optionally Redis for caching and Celery for async tasks. Official Docker images and Helm charts simplify container deployments. A minimal production deployment runs on 4 GB RAM and 2 vCPUs; typical production environments use 8 GB RAM.
The application initialises its metadata database on first run. Schema migrations occur automatically during upgrades, though complex deployments benefit from manual migration testing.
Preset.io offers managed Superset hosting with enterprise features including SCIM provisioning, enhanced security controls, and dedicated support.
Integration capabilities:
The REST API follows OpenAPI specification with Swagger documentation available at /swagger/v1. API coverage includes dashboards, charts, datasets, databases, and queries. Authentication uses session cookies or OAuth tokens.
Embedding uses iframe with configurable authentication. Guest tokens provide time-limited access to specific dashboards without requiring user accounts.
Export/import functionality supports JSON format for dashboards and datasets, enabling content migration between environments.
Security assessment:
Authentication delegates to Flask-AppBuilder, supporting local accounts, LDAP, OAuth providers (Google, GitHub, Azure AD, Okta), and SAML. MFA requires external identity provider configuration.
Authorisation uses a role-based model with predefined roles (Admin, Alpha, Gamma, Public) and custom role creation. Row-level security policies apply SQL WHERE clauses based on user attributes.
Audit logging captures query execution, dashboard access, and administrative actions. Logs output to standard Python logging infrastructure.
Cost analysis:
Self-hosted Superset has no licence cost. Infrastructure costs for a typical organisation:
| Scale | Users | Infrastructure | Monthly estimate |
|---|---|---|---|
| Small | 10-25 | 2 vCPU, 8 GB RAM VM | $40-80 |
| Medium | 50-100 | 4 vCPU, 16 GB RAM + Redis | $150-250 |
| Large | 200+ | Kubernetes cluster, HA | $500+ |
Preset managed hosting starts at approximately $50/user/month with volume discounts.
Organisational fit:
Best suited for: Organisations with Python/SQL expertise seeking full control over their BI stack; teams with existing data warehouses wanting self-service analytics; organisations requiring on-premises deployment for data sovereignty.
Less suitable for: Teams without technical capacity to manage infrastructure; organisations needing polished mobile experiences; use cases requiring real-time streaming dashboards.
Grafana
Type: Open source analytics and monitoring platform Licence: AGPL 3.0 (core), proprietary (Enterprise features) Current version: 12.2.1 (January 2026) Repository: https://github.com/grafana/grafana Documentation: https://grafana.com/docs/
Grafana is a multi-platform open source analytics and interactive visualisation application. While originally designed for infrastructure monitoring with time-series databases, Grafana has expanded to support general analytics use cases including business metrics, application monitoring, and observability across diverse data sources.
The platform excels at real-time dashboards with automatic refresh, alerting on metric thresholds, and correlation of data across multiple sources. Grafana connects natively to time-series databases (Prometheus, InfluxDB, Graphite), relational databases (PostgreSQL, MySQL), cloud monitoring services (CloudWatch, Azure Monitor), and through plugins to 150+ additional data sources.
Key strengths:
Dashboard composition is highly flexible with a responsive grid layout, template variables for dynamic filtering, and annotations that overlay events on time-series visualisations. Panels support drill-down links to other dashboards or external systems.
The alerting system evaluates conditions across any data source and delivers notifications through email, Slack, PagerDuty, webhooks, and 30+ notification channels. Alert rules support multi-dimensional conditions with templated messages.
Plugin architecture extends every aspect of the platform. The plugin ecosystem includes data source plugins, panel plugins, and app plugins that bundle related functionality. Organisations can develop private plugins using the documented SDK.
Grafana Loki (logs), Tempo (traces), and Mimir (metrics) integrate natively, providing a unified observability stack. This combination suits organisations standardising on the Grafana ecosystem.
Key limitations:
Traditional BI capabilities are weaker than purpose-built BI tools. Pivot tables, complex calculated fields, and semantic modelling require workarounds or are unsupported.
SQL database support, while functional, lacks the query building and data modelling features of BI-focused tools. Users comfortable with SQL can work effectively, but non-technical users may struggle.
The AGPL licence requires careful consideration. Modifications to Grafana source code must be published, which affects organisations wanting to customise the platform without open-sourcing changes.
Row-level security is minimal in Grafana OSS. Folder-level and dashboard-level permissions are available, but restricting data visibility based on user attributes requires Enterprise features or data-source-level controls.
Deployment and operations:
Grafana runs as a single binary with minimal dependencies. A minimal installation needs 512 MB RAM; production deployments benefit from 2+ GB RAM depending on concurrent user load.
The embedded SQLite database suffices for small deployments. Production environments should use PostgreSQL or MySQL for the configuration database to enable high availability.
Official Docker images, Helm charts, and Linux packages simplify deployment. Grafana supports horizontal scaling behind a load balancer when using an external database.
Grafana Cloud provides fully managed hosting with generous free tier (10 users, 10K metrics series, 50 GB logs). Cloud tiers include additional features like machine learning-powered alerting and enhanced security.
Integration capabilities:
The HTTP API provides comprehensive coverage for dashboards, alerts, users, and administration. Authentication uses API keys or OAuth tokens. Service accounts (non-human identities) support automation scenarios.
Terraform provider enables infrastructure-as-code management of dashboards, alerts, and data sources. The provider covers most Grafana resources and integrates with CI/CD pipelines.
Embedding uses iframe with authentication via direct access tokens, anonymous access, or authentication proxy. Grafana Enterprise adds signed URLs for secure embedding.
Security assessment:
Authentication supports local accounts, OAuth (generic and provider-specific for Azure AD, GitHub, Google, Okta), LDAP, and SAML. MFA is available for local accounts. SAML and LDAP require Enterprise licence.
Authorisation uses organisation-scoped roles (Admin, Editor, Viewer) with folder and dashboard permissions. Team-based permissions group users for access management. Enterprise adds data source permissions and enhanced RBAC.
Audit logging in Enterprise records user actions, API calls, and administrative changes. OSS version provides basic access logs via standard web server logging.
Cost analysis:
Self-hosted Grafana OSS has no licence cost:
| Scale | Users | Infrastructure | Monthly estimate |
|---|---|---|---|
| Small | 5-15 | 1 vCPU, 2 GB RAM VM | $20-40 |
| Medium | 30-75 | 2 vCPU, 4 GB RAM + PostgreSQL | $80-150 |
| Large | 150+ | HA cluster | $300+ |
Grafana Cloud pricing:
- Free: 10 users, limited metrics and logs
- Pro: $50/user/month (minimum 5)
- Advanced: $100/user/month
- Enterprise: Custom pricing
Nonprofit discounts available through Grafana for Good programme.
Organisational fit:
Best suited for: Technical teams monitoring infrastructure and applications; organisations with time-series data (IoT, performance metrics); teams standardising on the Grafana observability stack.
Less suitable for: Traditional business reporting needs; non-technical users needing self-service analytics; organisations requiring semantic layer and data modelling capabilities.
Metabase
Type: Open source business intelligence platform Licence: AGPL 3.0 (Open Source), proprietary (Pro and Enterprise) Current version: 0.58.2 (January 2026) Repository: https://github.com/metabase/metabase Documentation: https://www.metabase.com/docs/
Metabase is designed for self-service business analytics, enabling non-technical users to ask questions of data without writing SQL. The platform emphasises ease of use with a visual query builder that generates SQL, automatic data discovery that surfaces interesting insights, and minimal configuration requirements for deployment.
The visual query builder allows selecting tables, picking columns, applying filters, and choosing aggregations through point-and-click interaction. The generated SQL is visible and editable, providing a learning path for users interested in developing SQL skills.
Key strengths:
The query builder genuinely enables non-technical users to explore data independently. Automatic join detection, intelligent column suggestions, and natural language question parsing (experimental) reduce the barrier to data exploration.
Setup simplicity is notable. A single JAR file or Docker container connects to databases and serves dashboards within minutes. The initial configuration wizard guides administrators through database connection and user setup.
The native question saving creates a curated collection of common queries that serve as starting points for exploration. Questions can be organised in collections with access controls, creating a knowledge base of analytical queries.
X-ray analysis automatically generates dashboards summarising tables, fields, and segments. This accelerates initial exploration of unfamiliar databases and surfaces patterns that might not be immediately apparent.
Key limitations:
Advanced visualisation capabilities lag behind competitors. Chart types cover common needs but lack the variety and customisation depth of Superset, Tableau, or Power BI.
Performance with large datasets (10M+ rows) requires careful query design. Without extract creation, Metabase queries the source database directly, which can stress production databases. Pro edition adds query caching and result persistence.
The semantic layer is less developed than enterprise BI tools. While models allow defining transformations, the lack of a comprehensive metrics layer means calculated fields often need redefinition across questions.
Single-node architecture in OSS limits scalability. High availability and horizontal scaling require Enterprise edition.
Deployment and operations:
Metabase ships as a Java application running on JVM 11+. The embedded H2 database enables quick start but is unsuitable for production; PostgreSQL or MySQL should be configured for durable deployments.
Resource requirements are modest: 2 GB RAM minimum, 4 GB recommended. The application handles moderate concurrent usage (10-30 simultaneous users) on a single 2-vCPU instance.
Docker images and JAR downloads are available from official channels. Kubernetes deployment requires external database and session storage configuration.
Metabase Cloud offers managed hosting with automatic updates, backups, and monitoring. Regions include US and EU (Ireland).
Integration capabilities:
The API covers questions, dashboards, users, and collections. Authentication uses session tokens obtained via login endpoint or API keys (Pro/Enterprise). Documentation is functional but less comprehensive than competitors.
Embedding supports iframe with signed tokens (Pro/Enterprise) or public sharing links. The embedding SDK provides React components for deeper integration.
Export supports CSV and Excel formats. Native integrations include Slack notifications and Google Drive export.
Security assessment:
Authentication supports local accounts, LDAP (Enterprise), Google OAuth, and SAML (Enterprise). SSO requires paid editions.
Data sandboxing (Enterprise) restricts data access based on user attributes, functioning similarly to row-level security. Sandboxes apply to questions, preventing users from seeing data outside their permitted scope.
Audit logging (Enterprise) records user activity, queries executed, and administrative changes.
Cost analysis:
Self-hosted OSS has no licence cost:
| Scale | Users | Infrastructure | Monthly estimate |
|---|---|---|---|
| Small | 5-15 | 1 vCPU, 4 GB RAM VM | $30-50 |
| Medium | 30-50 | 2 vCPU, 8 GB RAM | $80-120 |
| Large | 100+ | Multiple instances (Enterprise) | $200+ |
Commercial editions:
- Metabase Cloud Starter: $85/month (5 users, 10 questions)
- Metabase Cloud Pro: Custom pricing
- Self-hosted Pro: $500/month (10 users)
- Self-hosted Enterprise: Custom pricing
Nonprofit discount: 50% off self-hosted Pro and Enterprise.
Organisational fit:
Best suited for: Organisations wanting to democratise data access for non-technical staff; teams needing quick deployment with minimal IT overhead; small to medium scale analytics (under 100 concurrent users).
Less suitable for: Large-scale enterprise deployments; advanced visualisation requirements; organisations needing real-time or streaming analytics.
JupyterLab
Type: Open source interactive development environment Licence: BSD-3-Clause Current version: 4.5.0 (December 2025) Repository: https://github.com/jupyterlab/jupyterlab Documentation: https://jupyterlab.readthedocs.io/
JupyterLab is the next-generation web-based interface for Project Jupyter, providing a flexible environment for interactive computing with notebooks, code, and data. Unlike purpose-built BI tools, JupyterLab is a general-purpose platform that enables analytics through Python, R, or Julia code execution.
The notebook interface combines code cells, output cells, and markdown documentation in a single document. This literate programming approach allows analysts to explain their methodology alongside the analysis, creating reproducible analytical reports.
Key strengths:
Analytical flexibility exceeds any BI tool. Python’s data ecosystem (pandas, NumPy, scikit-learn, PyTorch) enables statistical analysis, machine learning, and custom computations that fixed BI interfaces cannot match.
Visualisation libraries (matplotlib, Plotly, Altair, Bokeh, seaborn) provide publication-quality graphics with complete customisation control. Interactive widgets enable dashboard-like functionality within notebooks.
Reproducibility is inherent to the notebook format. Analysis steps are explicit, versioned with Git, and re-executable. This matters for audit trails, methodology documentation, and collaborative refinement.
Extension architecture supports custom integrations. Extensions add version control interfaces, database explorers, diagram editors, and integrations with cloud services.
Key limitations:
Non-technical user accessibility is fundamentally limited. Using JupyterLab requires writing code. While basic data exploration can use simple pandas operations, the platform is unsuitable for business users without programming experience.
Dashboard creation requires additional tools. Voilà converts notebooks to dashboards, Panel enables interactive applications, but these add complexity and lack the polish of purpose-built dashboard tools.
Multi-user deployment requires JupyterHub, which adds significant operational complexity. Authentication, resource management, and user isolation need explicit configuration.
Security model differs from traditional applications. Notebook servers execute arbitrary code, which creates different threat vectors than rendering dashboards. Proper deployment requires careful isolation.
Deployment and operations:
Single-user JupyterLab installs via pip or conda with minimal resources (1 GB RAM sufficient for basic use). More complex analyses with large datasets require proportionally more memory.
JupyterHub provides multi-user deployment with pluggable authentication (OAuth, LDAP), spawner backends (local processes, Docker, Kubernetes), and resource quotas. Kubernetes deployment using Zero to JupyterHub guide provides scalable infrastructure.
Cloud-hosted options include Google Colab, Microsoft Azure Notebooks, Amazon SageMaker Studio, and various managed JupyterHub providers. These simplify operations at the cost of control and potentially data residency.
Integration capabilities:
JupyterLab connects to any data source with Python or R libraries. SQLAlchemy provides database connectivity; pandas reads files; requests handles APIs. This programmable connectivity exceeds any fixed connector set.
APIs via jupyter-server enable programmatic control. nbconvert exports notebooks to HTML, PDF, and other formats. Papermill enables parameterised notebook execution for automation.
Git integration via jupyterlab-git extension provides version control UI. Real-time collaboration via jupyter-collaboration enables Google Docs-style concurrent editing.
Security assessment:
JupyterLab authenticates via JupyterHub, which supports OAuth (GitHub, GitLab, Google, Azure AD, generic), LDAP, PAM, and custom authenticators. Single-user deployment uses token authentication.
Authorisation in JupyterHub controls server access and admin privileges. File-level permissions follow server filesystem. Code execution permissions are inherent to having server access.
Audit logging depends on JupyterHub and server configuration. Access logs capture authentication events; execution logs require custom configuration or integration with workflow tools.
Cost analysis:
Self-hosted JupyterLab/Hub has no licence cost:
| Scale | Users | Infrastructure | Monthly estimate |
|---|---|---|---|
| Individual | 1 | Local machine | $0 |
| Small team | 5-10 | 4 vCPU, 16 GB VM | $60-100 |
| Medium | 30-50 | Kubernetes cluster | $200-400 |
| Large | 100+ | Scaled Kubernetes | $500+ |
Cloud options vary widely based on compute usage. Google Colab Pro costs $10/month per user; enterprise offerings range higher.
Organisational fit:
Best suited for: Data science teams performing statistical analysis and machine learning; research organisations needing reproducible methodology documentation; technical analysts comfortable with Python or R.
Less suitable for: Business users without programming skills; organisations needing self-service analytics for non-technical staff; scenarios requiring polished, shareable dashboards.
Microsoft Power BI
Type: Commercial business intelligence platform Licence: Proprietary Current version: January 2026 release (monthly updates) Documentation: https://learn.microsoft.com/en-us/power-bi/
Microsoft Power BI is an enterprise business intelligence platform providing self-service analytics, governed data sharing, and embedded analytics. The platform integrates tightly with the Microsoft ecosystem (Azure, Microsoft 365, Dynamics 365) while supporting connections to hundreds of external data sources.
Power BI consists of Power BI Desktop (Windows authoring tool), Power BI Service (cloud-hosted collaboration), Power BI Mobile (iOS and Android apps), and Power BI Report Server (on-premises option). The platform recently integrated with Microsoft Fabric, expanding into data engineering, data science, and real-time analytics.
Key strengths:
The semantic modelling layer (formerly Power Pivot) provides a mature framework for defining relationships, hierarchies, calculated measures, and business logic. DAX (Data Analysis Expressions) enables sophisticated calculations while remaining accessible through formula autocomplete and documentation.
Microsoft 365 integration enables natural workflows. Excel users can connect to Power BI datasets directly. Teams embedding allows dashboard viewing in channel conversations. SharePoint integration provides content management context.
Natural language queries via Q&A allow users to type questions like “sales by region last quarter” and receive automated visualisations. While imperfect, this accelerates exploration for users unfamiliar with the data model.
Dataflows enable cloud-based data preparation with scheduled refresh, reducing the need for separate ETL infrastructure. Power Query provides visual transformation capabilities accessible to non-technical users.
Key limitations:
Windows dependency for authoring limits cross-platform teams. Power BI Desktop runs only on Windows; web authoring covers basic scenarios but lacks full capability parity.
Pricing complexity creates budget uncertainty. Workspace capacity requirements, premium per-user licensing, and add-on features make total cost difficult to estimate without detailed sizing.
The Microsoft ecosystem assumption permeates the product. Organisations not using Azure AD face friction in authentication. Non-Microsoft data sources work but lack the optimisation of first-party connections.
On-premises option (Power BI Report Server) has significant feature gaps compared to the cloud service and receives less frequent updates.
Deployment and operations:
Power BI is primarily a cloud service. Administrators configure tenants through the Power BI admin portal and Azure AD. No infrastructure management is required for the cloud service.
Power BI Report Server provides on-premises deployment for organisations with cloud restrictions. Requirements include Windows Server 2016+ and SQL Server 2016+. Minimum hardware is 8 GB RAM and 4 cores; production environments need significantly more depending on usage.
Microsoft Fabric unifies Power BI with data engineering capabilities in a single SaaS platform with capacity-based pricing.
Integration capabilities:
REST APIs cover administration, embedding, datasets, and push data. Authentication uses Azure AD OAuth 2.0. API capabilities have expanded significantly with Fabric integration.
Embedding options include secure embedding in organisational apps, publish-to-web for public content, and the Power BI Embedded service for ISV scenarios. React and JavaScript SDKs support custom integration.
Power Automate integration enables workflow triggers based on data alerts. SharePoint, Teams, and other Microsoft services have native embedding support.
Security assessment:
Authentication uses Azure AD exclusively. This provides enterprise features (conditional access, MFA, group-based licensing) but requires Azure AD presence.
Row-level security (RLS) uses DAX expressions to filter data based on user identity. Combined with object-level security, this enables comprehensive data access control.
Microsoft’s compliance portfolio applies to Power BI: SOC 2 Type II, ISO 27001, GDPR, HIPAA, and FedRAMP certifications cover the platform.
Cost analysis:
Power BI licensing (January 2026):
| Tier | Cost | Capabilities |
|---|---|---|
| Free | $0 | Desktop authoring, personal consumption |
| Pro | $10/user/month | Sharing, collaboration, 10 GB per user |
| Premium Per User | $20/user/month | Advanced features, larger datasets |
| Premium/Fabric Capacity | $4,995+/month | Unlimited viewers, dedicated resources |
Microsoft 365 E5 includes Power BI Pro. The Nonprofits programme provides 10 donated Pro licences and discounted additional licences.
Organisational fit:
Best suited for: Microsoft-centric organisations; enterprises with Azure AD infrastructure; teams wanting integrated experience across Microsoft 365; organisations requiring advanced security and compliance certifications.
Less suitable for: Organisations without Azure AD; Mac-only environments; teams preferring open source tooling; organisations concerned about US jurisdiction for cloud data.
Tableau
Type: Commercial business intelligence platform Licence: Proprietary Current version: 2025.1 (rolling updates) Documentation: https://help.tableau.com/
Tableau is an enterprise analytics platform acquired by Salesforce in 2019. The platform emphasises visual analytics with a drag-and-drop interface that enables rapid exploration and visualisation creation. Tableau pioneered the modern self-service BI market and maintains strong capabilities in data visualisation and exploratory analysis.
The product line includes Tableau Desktop (authoring tool for Windows and Mac), Tableau Cloud (SaaS platform), Tableau Server (self-hosted option), and Tableau Public (free public sharing platform).
Key strengths:
Visual exploration capabilities set the industry standard. The drag-and-drop interface with immediate visual feedback enables rapid hypothesis testing. Automatic visualisation recommendations (Show Me) suggest appropriate chart types based on data characteristics.
Visualisation quality exceeds most competitors. Default formatting produces publication-ready charts. Fine-grained control over every visual element enables pixel-precise customisation.
Tableau Prep provides visual data preparation with joining, pivoting, and cleaning operations. The interface shows data flow and transformations, making complex preparation accessible to non-technical users.
Cross-platform desktop application runs on Windows and Mac with consistent functionality. This addresses Power BI’s Windows-only limitation.
Key limitations:
Salesforce integration emphasis has increased since acquisition. Native CRM Analytics connectivity, Einstein AI features, and branding alignment assume Salesforce ecosystem presence.
Pricing is among the highest in the BI market. Creator licences for full functionality cost significantly more than competing products.
The data engine (Hyper) requires data extraction for optimal performance. Live connections to some databases incur query limitations. Extract refresh management adds operational overhead.
Learning curve for advanced features is substantial. While basic visualisation is intuitive, calculated fields, level of detail expressions, and advanced analytics require significant learning investment.
Deployment and operations:
Tableau Cloud is a fully managed SaaS platform. Administrators configure sites, projects, and permissions through web interface. No infrastructure management required.
Tableau Server deploys on Windows or Linux. Requirements: 8 cores and 32 GB RAM minimum; production deployments typically need 64+ GB RAM. The installer handles most configuration; clustering for high availability requires careful planning.
Tableau Bridge connects Tableau Cloud to on-premises data sources, enabling cloud deployment while keeping data on-premises.
Integration capabilities:
REST API covers sites, projects, workbooks, views, and users. Metadata API provides GraphQL interface for data lineage. Authentication uses personal access tokens or session-based authentication.
Embedding SDK supports JavaScript integration with event handling and filtering. Connected Apps provide secure embedding with JWT authentication. Embedding is available across all paid tiers.
Tableau Extensions API enables custom dashboard components. Extensions can connect to external services, adding functionality beyond built-in capabilities.
Security assessment:
Authentication supports local accounts, Active Directory, SAML 2.0, and OpenID Connect. Site-level authentication configuration allows different methods per site.
Row-level security through user filters applies data restrictions based on logged-in user. Entitlement tables provide scalable permission management for large user populations.
Tableau Trust portal documents SOC 2 Type II, ISO 27001, GDPR compliance, and HIPAA eligibility with BAA availability.
Cost analysis:
Tableau licensing (January 2026):
| Role | Tableau Cloud | Tableau Server |
|---|---|---|
| Creator | $75/user/month | $70/user/month |
| Explorer | $42/user/month | $35/user/month |
| Viewer | $15/user/month | $12/user/month |
Tableau Enterprise bundles additional features (Data Management, Advanced Management) at higher per-user rates.
Salesforce.org offers Tableau through the Nonprofit Cloud with donated and discounted licences.
Organisational fit:
Best suited for: Organisations prioritising visualisation quality and exploratory analysis; Salesforce ecosystem users; teams with dedicated analysts who will master advanced features; enterprises needing mature governance capabilities.
Less suitable for: Budget-constrained organisations; teams wanting open source solutions; simple reporting needs that don’t justify the cost; organisations preferring self-hosted FOSS for data sovereignty.
Selection guidance
Decision framework
The following decision tree provides initial guidance based on primary requirements:
+------------------+ | Primary need? | +--------+---------+ | +--------------------------+---------------------------+ | | | v v v+--------+--------+ +--------+--------+ +--------+--------+| Infrastructure | | Business | | Advanced || monitoring | | reporting | | analytics |+-----------------+ +-----------------+ +-----------------+ | | | v v v Grafana +--------+--------+ JupyterLab | Technical | (with coding) | capacity? | +--------+--------+ | +---------------------+---------------------+ | | v v +---------+----------+ +-----------+---------+ | Self-hosted OK? | | Minimal IT | +--------------------+ | Metabase Cloud | | +---------------------+ +---------+----------+ | Yes | No | +---------+----------+ | | v v Superset Power BI (Microsoft shop) Metabase Tableau (Salesforce shop)Recommendations by context
For organisations with minimal IT capacity
Primary recommendation: Metabase Cloud or Power BI (with Microsoft 365)
Organisations with limited technical staff benefit from managed services that minimise operational burden. Metabase Cloud provides a straightforward self-service analytics experience with minimal configuration. If Microsoft 365 is already in use, Power BI Pro (included in E5 or available as add-on) integrates naturally with existing infrastructure.
Alternative: Grafana Cloud for organisations with infrastructure monitoring needs
Avoid: Self-hosted Superset (requires substantial configuration expertise)
For organisations with established IT capacity
Primary recommendation: Apache Superset (self-hosted) or Metabase (self-hosted with Pro features)
Organisations with dedicated IT staff can leverage self-hosted open source solutions for maximum control and cost efficiency. Superset provides deeper SQL capabilities and more visualisation options; Metabase emphasises accessibility for non-technical users.
Alternative: Tableau Server or Power BI Premium for organisations with enterprise requirements and budget
Considerations: Self-hosted deployment requires ongoing maintenance, security patching, and capacity planning. Factor staff time into total cost of ownership calculations.
For organisations with data sovereignty requirements
Primary recommendation: Self-hosted FOSS (Superset, Grafana, or Metabase OSS)
Organisations operating in high-risk environments, handling sensitive beneficiary data, or subject to data localisation requirements should prioritise self-hosted deployment. FOSS options eliminate vendor data access and jurisdictional concerns.
Alternative: Metabase Cloud (EU region) or Grafana Cloud (EU region) provide managed options with European data residency, though US-headquartered companies remain subject to CLOUD Act.
Avoid: Cloud services from US-headquartered vendors when handling highly sensitive data (protection cases, whistleblower information) in jurisdictions with adversarial relationships.
For technical data science teams
Primary recommendation: JupyterLab with JupyterHub
Teams with Python proficiency gain maximum flexibility from notebook-based analysis. Combine with Voilà or Panel for dashboard sharing needs. Integration with machine learning workflows and version control provides reproducibility advantages.
Alternative: Superset for SQL-heavy workflows with visualisation needs
Considerations: Notebook-based approaches require programming skills from all users. Consider Metabase or similar for broader organisational access.
Migration paths
| From | To | Complexity | Approach | Typical timeline |
|---|---|---|---|---|
| Excel reports | Any BI tool | Low | Recreate visualisations; connect to source data | 2-4 weeks |
| Metabase OSS | Metabase Pro/Enterprise | Low | Upgrade in place; enable features | 1-2 days |
| Metabase | Superset | Medium | Export questions as SQL; rebuild dashboards | 4-8 weeks |
| Superset | Tableau/Power BI | Medium | Export queries; rebuild visualisations | 6-12 weeks |
| Tableau | Power BI | High | Convert workbooks; retrain users | 3-6 months |
| Power BI | Tableau | High | Rebuild semantic model; convert reports | 3-6 months |
| Any | JupyterLab | Medium | Export queries; wrap in notebooks | 4-8 weeks |
Resources and references
Official documentation
Open source tools
Commercial tools
Relevant standards
| Standard | Description | URL |
|---|---|---|
| WCAG 2.1 | Web Content Accessibility Guidelines | https://www.w3.org/WAI/WCAG21/quickref/ |
| VPAT | Voluntary Product Accessibility Template | https://www.itic.org/policy/accessibility/vpat |
| ISO 27001 | Information security management | https://www.iso.org/isoiec-27001-information-security.html |
| SOC 2 | Service Organisation Control | https://www.aicpa.org/soc4so |
See also
Internal documentation relevant to analytics and visualisation tool selection:
- Analytics Strategy -Developing an organisational analytics approach
- BI Platform Implementation -Implementing the selected platform
- Dashboard Design -Creating effective dashboards
- Data Visualisation Standards -Visual design guidelines
- Data Governance Framework -Governance context for analytics
- Security and Monitoring -Related monitoring tools comparison
- M&E Platforms -Programme-specific analytics tools