Skip to main content

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

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
F1.1SQL database connectivityNative connection to PostgreSQL, MySQL, SQL Server, and other relational databases using standard JDBC/ODBC drivers or native connectorsFull: 10+ database types with connection pooling and SSL support. Partial: 5-9 database types or limited SSL options. Minimal: fewer than 5 typesReview connector documentation; test connection to PostgreSQL and MySQLEssential
F1.2Cloud data warehouse supportConnection to BigQuery, Snowflake, Redshift, Databricks, and similar analytical databasesFull: native optimised connectors for 4+ cloud warehouses. Partial: generic JDBC only. None: no cloud warehouse supportTest connection latency and query pushdown behaviourEssential
F1.3File-based data sourcesImport and query CSV, Excel, JSON, and Parquet files directlyFull: all four formats with schema inference and refresh capability. Partial: CSV and Excel only. None: no file supportUpload test files of each formatImportant
F1.4API and web service connectivityQuery REST APIs, GraphQL endpoints, and web services as data sourcesFull: native REST connector with authentication options. Partial: requires plugin or extension. None: not supportedReview API connector documentation; test with sample endpointImportant
F1.5Real-time streaming dataConnect to Kafka, MQTT, or websocket streams for live dashboardsFull: native streaming connectors with configurable refresh. Partial: polling-based pseudo-streaming only. None: batch onlyReview streaming documentation; check refresh interval limitsContext-dependent
F1.6Data source metadataExpose table schemas, column types, and relationships for discoveryFull: automated schema introspection with column statistics. Partial: basic schema only. None: manual definition requiredConnect to database and verify metadata displayImportant

Data preparation

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
F2.1Visual data transformationGraphical interface for filtering, joining, pivoting, and aggregating data without writing codeFull: comprehensive visual query builder with preview. Partial: limited operations available visually. None: code-only transformationCreate multi-step transformation visuallyImportant
F2.2SQL query authoringWrite and execute custom SQL queries against connected data sourcesFull: syntax highlighting, autocomplete, query history, and explain plan. Partial: basic SQL editor only. None: no SQL accessWrite complex query with joins; verify autocompleteEssential
F2.3Calculated fields and metricsDefine computed columns and measures using expressions or formulasFull: comprehensive expression language with functions. Partial: basic arithmetic only. None: not supportedCreate calculated field with conditional logicEssential
F2.4Data blendingCombine data from multiple sources in a single visualisationFull: join data from heterogeneous sources at query time. Partial: pre-joined datasets only. None: single source per visualisationBlend data from database and CSV fileImportant
F2.5Parameterised queriesUser-selectable parameters that modify query behaviour at runtimeFull: multiple parameter types with dependencies. Partial: single parameter type only. None: not supportedCreate dashboard with parameter-driven filterEssential
F2.6Semantic layerDefine reusable business metrics, dimensions, and relationships independent of visualisationsFull: centralised semantic model with governance. Partial: per-workbook definitions. None: no semantic layerReview semantic modelling documentationImportant

Visualisation capabilities

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
F3.1Chart type varietyRange of built-in chart types including bar, line, area, scatter, pie, treemap, heatmap, and geographicFull: 20+ chart types covering statistical and geographic needs. Partial: 10-19 types. Minimal: fewer than 10 typesCount distinct chart types in documentationEssential
F3.2Interactive filteringClick-to-filter, cross-filtering between charts, and drill-down navigationFull: bidirectional cross-filtering with drill paths. Partial: unidirectional filtering only. None: static chartsTest cross-filter behaviour between linked chartsEssential
F3.3Geographic visualisationsMaps with points, polygons, choropleths, and custom geographic boundariesFull: multiple map types with custom geometry support. Partial: point maps only. None: no geographic visualisationCreate choropleth map with custom boundariesImportant
F3.4Time series analysisSpecialised handling of date/time data with period comparisons, moving averages, and trend linesFull: native time intelligence functions and visualisations. Partial: manual date calculations required. None: no time specialisationCreate year-over-year comparison chartImportant
F3.5Table and pivot viewsTabular data display with sorting, conditional formatting, and pivotingFull: pivot tables with subtotals and formatting rules. Partial: basic tables only. None: charts onlyCreate formatted pivot table with subtotalsEssential
F3.6Custom visualisationsExtend with custom chart types through plugins, extensions, or embedded codeFull: documented extension API with community ecosystem. Partial: limited customisation options. None: built-in charts onlyReview extension documentation; count available pluginsDesirable

Dashboard composition

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
F4.1Multi-chart layoutsArrange multiple visualisations on a single canvas with flexible positioningFull: grid and free-form layouts with responsive behaviour. Partial: fixed grid only. None: single chart per pageCreate dashboard with 6+ charts in mixed layoutEssential
F4.2Dashboard filtersGlobal filters affecting all charts with filter controls visible to viewersFull: multiple filter types with dependencies and defaults. Partial: basic dropdown filters only. None: per-chart filters onlyAdd date range and multi-select filters to dashboardEssential
F4.3Annotations and textAdd titles, descriptions, images, and explanatory text to dashboardsFull: rich text, images, and dynamic text values. Partial: plain text only. None: chart titles onlyAdd formatted text block with embedded metricImportant
F4.4Conditional displayShow or hide charts based on data values or user selectionsFull: conditional visibility rules with multiple conditions. Partial: single condition per element. None: all elements always visibleConfigure chart to hide when data is emptyDesirable
F4.5Dashboard actionsClickable elements that navigate, filter, or trigger external actionsFull: URL actions, filter actions, and parameter actions. Partial: navigation only. None: no interactivity beyond filteringConfigure click action that opens external URL with parametersImportant
F4.6Mobile-responsive layoutsDashboards adapt to different screen sizes including tablets and phonesFull: device-specific layouts with preview. Partial: auto-scaling only. None: desktop-only renderingPreview dashboard on mobile device or emulatorImportant

Sharing and collaboration

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
F5.1View-only sharingShare dashboards with users who can view but not editFull: granular view permissions with row-level security. Partial: all-or-nothing view access. None: editors onlyShare dashboard with view-only user; verify restrictionsEssential
F5.2EmbeddingEmbed dashboards in external applications or websitesFull: iframe and JavaScript embedding with SSO. Partial: public iframe only. None: no embeddingEmbed dashboard in test webpageImportant
F5.3Scheduled deliveryAutomatically email or deliver dashboard snapshots on scheduleFull: flexible schedules with conditional delivery. Partial: fixed schedule options. None: manual export onlyConfigure weekly email delivery of dashboard PDFImportant
F5.4AlertingNotifications when data meets specified conditionsFull: threshold alerts with multiple channels. Partial: email alerts only. None: no alertingConfigure alert for metric exceeding thresholdImportant
F5.5Export formatsDownload visualisations as images, PDFs, or data filesFull: PNG, PDF, CSV, and Excel export. Partial: two export formats. None: no exportExport dashboard as PDF and underlying data as CSVEssential
F5.6Comments and annotationsUsers can add comments to dashboards or specific data pointsFull: threaded comments with notifications. Partial: simple notes. None: no commentingAdd comment to dashboard; verify notificationDesirable

Administration

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
F6.1Workspace organisationFolders, projects, or collections for organising contentFull: hierarchical folders with inherited permissions. Partial: flat organisation only. None: single workspaceCreate nested folder structure with different permissionsImportant
F6.2Content certificationMark dashboards as official or verified versus exploratoryFull: certification workflow with visual indicators. Partial: tagging only. None: no certificationCertify a dashboard; verify visual indicatorDesirable
F6.3Usage analyticsTrack who views which dashboards and how frequentlyFull: detailed usage logs with viewer identification. Partial: aggregate counts only. None: no usage trackingReview usage statistics for test dashboardImportant
F6.4Version controlTrack changes to dashboards with ability to restore previous versionsFull: version history with diff view and rollback. Partial: save points without diff. None: no versioningMake changes; restore previous versionImportant
F6.5Content promotionMove dashboards between development, staging, and production environmentsFull: managed promotion workflow. Partial: manual export/import. None: single environmentReview promotion documentationContext-dependent

Technical requirements

Infrastructure, architecture, and deployment considerations.

Deployment and hosting

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
T1.1Self-hosted deploymentDeploy on organisation-controlled infrastructure for data sovereigntyFull: complete feature parity with hosted version, documented deployment. Partial: self-hosted with feature limitations. None: SaaS onlyReview deployment documentation; compare feature matrixImportant
T1.2Container deploymentDeploy using Docker and Kubernetes with official imagesFull: official images, Helm charts, documented orchestration. Partial: community images only. None: no container supportCheck Docker Hub for official images; review Helm chartImportant
T1.3High availabilityRedundant deployment eliminating single points of failureFull: documented HA architecture with automatic failover. Partial: manual failover. None: single instance onlyReview HA architecture documentationContext-dependent
T1.4Air-gapped operationFunction without internet connectivity after initial deploymentFull: complete offline operation documented. Partial: offline with feature limitations. None: requires internetReview offline deployment documentationContext-dependent
T1.5Cloud hosting optionsVendor-managed cloud deployment with regional optionsFull: multiple regions including EU with documented data residency. Partial: limited regions. None: self-host onlyReview cloud regions; verify EU availabilityImportant

Scalability and performance

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
T2.1Query cachingCache query results to reduce database load and improve response timeFull: configurable caching with invalidation controls. Partial: fixed cache behaviour. None: no cachingReview caching configuration documentationImportant
T2.2Query pushdownPush aggregations and filters to the database rather than processing locallyFull: full SQL pushdown with optimisation. Partial: limited pushdown. None: client-side processingReview query execution plan for aggregation queryImportant
T2.3Concurrent usersSupport multiple simultaneous users viewing dashboardsFull: documented concurrent user capacity with scaling guidance. Partial: capacity undocumented. None: single userReview performance documentation; check scaling guidesImportant
T2.4Large dataset handlingRender visualisations from tables with millions of rowsFull: documented performance at 10M+ rows with sampling. Partial: performance degrades above 1M rows. None: practical limit below 100KReview large data documentation; test with sample dataImportant
T2.5Resource limitsConfigure memory, CPU, and query timeout limitsFull: per-user and per-query resource limits. Partial: global limits only. None: no limitsReview resource configuration optionsImportant

Integration architecture

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
T3.1REST APIProgrammatic access for automation and integrationFull: comprehensive API covering dashboards, queries, and administration. Partial: limited API coverage. None: no APIReview API documentation completenessEssential
T3.2API authenticationSecure API access methodsFull: OAuth 2.0, API keys, and service accounts. Partial: API keys only. None: session-based onlyReview API authentication documentationImportant
T3.3Webhook supportPush notifications to external systems on eventsFull: configurable webhooks for multiple event types. Partial: limited events. None: no webhooksReview webhook documentationDesirable
T3.4CLI toolsCommand-line interface for automation and scriptingFull: comprehensive CLI with all major operations. Partial: basic operations only. None: no CLIReview CLI documentation; list available commandsDesirable
T3.5Infrastructure as codeDefine configuration in Terraform, Ansible, or similarFull: official Terraform provider with full coverage. Partial: limited resource support. None: no IaC supportCheck Terraform registry for providerDesirable

Security requirements

Security controls and data protection capabilities.

Authentication and access control

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
S1.1SSO integrationFederated identity via SAML 2.0 or OIDCFull: SAML 2.0 and OIDC with multiple IdP support. Partial: single protocol or IdP. None: local auth onlyReview SSO documentation; verify protocol supportEssential
S1.2Multi-factor authenticationMFA support for local accountsFull: TOTP and WebAuthn support. Partial: TOTP only. None: password onlyReview MFA configuration optionsEssential
S1.3Role-based access controlPredefined and custom roles controlling feature accessFull: granular permissions with custom roles. Partial: predefined roles only. None: admin/user onlyReview RBAC documentation; create custom roleEssential
S1.4Row-level securityRestrict data visibility based on user attributesFull: policy-based RLS with multiple conditions. Partial: simple user-based filtering. None: all-or-nothing accessConfigure RLS policy; verify data filteringImportant
S1.5Object-level permissionsControl access to individual dashboards and data sourcesFull: per-object permissions with inheritance. Partial: folder-level only. None: global accessSet different permissions on two dashboards; verify enforcementEssential
S1.6Service accountsNon-interactive accounts for automation and embeddingFull: dedicated service accounts with API access. Partial: shared credentials required. None: no service accountsCreate service account; verify API accessImportant

Data protection

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
S2.1Encryption in transitTLS encryption for all network communicationsFull: TLS 1.2+ enforced with certificate management. Partial: TLS optional. None: unencrypted communicationReview TLS configuration; test with SSL checkerEssential
S2.2Encryption at restEncryption of stored data and credentialsFull: encrypted storage with key management. Partial: credentials encrypted only. None: unencrypted storageReview encryption documentationEssential
S2.3Credential managementSecure storage of database passwords and API keysFull: encrypted vault with rotation support. Partial: encrypted but no rotation. None: plaintext storageReview credential storage documentationEssential
S2.4Audit loggingLog of user actions for security monitoring and complianceFull: comprehensive audit trail with retention controls. Partial: login events only. None: no audit loggingReview audit log contents; verify action loggingEssential
S2.5Data maskingHide sensitive data values from unauthorised usersFull: policy-based masking with multiple patterns. Partial: column-level masking only. None: no maskingReview masking documentationDesirable

Compliance and certifications

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
S3.1SOC 2 Type IIService Organisation Control attestation for cloud servicesCertified: current SOC 2 Type II report available. Pending: in progress. None: no SOC 2Request SOC 2 report or verify on trust portalImportant
S3.2ISO 27001Information security management system certificationCertified: current certificate. None: not certifiedVerify certificate on trust portalImportant
S3.3GDPR complianceFeatures supporting GDPR requirements for EU data subjectsFull: data export, deletion, and processing controls. Partial: some features. None: no GDPR featuresReview GDPR documentationImportant
S3.4HIPAA eligibilityFeatures supporting healthcare data complianceFull: BAA available with technical controls. Partial: some controls. None: not HIPAA-readyReview HIPAA documentation; check BAA availabilityContext-dependent

Operational requirements

Administration, monitoring, and maintenance considerations.

Administration

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
O1.1Web-based administrationConfigure system settings through browser interfaceFull: comprehensive admin UI covering all settings. Partial: basic settings only. None: config file onlyReview admin interface capabilitiesImportant
O1.2User provisioningCreate and manage user accountsFull: SCIM provisioning with group sync. Partial: manual creation or SAML JIT. None: manual onlyReview provisioning documentation; test user syncImportant
O1.3Bulk operationsImport/export users, dashboards, and configurationFull: bulk operations via UI and API. Partial: API only. None: individual operations onlyReview bulk operation documentationDesirable
O1.4Multi-tenancyIsolate multiple organisations or teams within single deploymentFull: complete tenant isolation with separate configuration. Partial: workspace separation only. None: single tenantReview multi-tenancy documentationContext-dependent

Monitoring and observability

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
O2.1Health endpointsAPI endpoints for monitoring system healthFull: detailed health checks with dependency status. Partial: simple up/down. None: no health endpointReview health endpoint documentationImportant
O2.2Metrics exportExpose operational metrics for monitoring systemsFull: Prometheus/OpenMetrics format with detailed metrics. Partial: basic metrics. None: no metrics exportReview metrics documentation; verify Prometheus compatibilityImportant
O2.3Log aggregationStructured logs compatible with centralised loggingFull: JSON structured logs with configurable levels. Partial: plain text logs. None: minimal loggingReview log format documentationImportant
O2.4Performance diagnosticsTools for identifying slow queries and performance issuesFull: query profiling with recommendations. Partial: basic timing only. None: no diagnosticsReview performance monitoring documentationDesirable

Backup and recovery

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
O3.1Configuration backupExport system configuration for disaster recoveryFull: complete configuration export with encryption. Partial: partial export. None: manual reconstructionReview backup documentation; test exportEssential
O3.2Content backupExport dashboards, data sources, and user contentFull: comprehensive export with dependencies. Partial: individual export only. None: no exportExport and reimport dashboard with data sourcesEssential
O3.3Point-in-time recoveryRestore to specific point after failureFull: continuous backup with PITR. Partial: scheduled snapshots. None: manual backup onlyReview recovery documentationImportant

Support and maintenance

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
O4.1Documentation qualityComprehensive, accurate, and current documentationFull: complete docs with examples and troubleshooting. Partial: basic reference only. None: minimal documentationReview documentation for completeness and recencyEssential
O4.2Release cadenceRegular updates with security patches and featuresFull: predictable release schedule with LTS options. Partial: irregular releases. None: infrequent updatesReview release history and scheduleImportant
O4.3Community supportActive community forums, chat, and knowledge baseFull: active community with vendor participation. Partial: community exists but limited. None: no communityReview community activity levelsImportant
O4.4Commercial supportPaid support options with SLAsFull: multiple tiers with response time SLAs. Partial: single support option. None: community onlyReview support offerings and SLAsContext-dependent

Commercial and contractual requirements

Pricing, licensing, and vendor considerations.

Pricing and licensing

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
C1.1Licence typeOpen source, commercial, or hybrid licensing modelDocument: licence type, restrictions, and implicationsReview licence text and FAQsEssential
C1.2Nonprofit pricingDiscounted pricing for registered nonprofitsFull: formalised programme with significant discount. Partial: case-by-case discounts. None: standard pricingContact vendor; review nonprofit programme documentationImportant
C1.3User-based pricingCost scales with number of usersDocument: pricing model, user types, and thresholdsReview pricing page; request quoteEssential
C1.4Usage-based pricingCost scales with query volume or data processedDocument: pricing model, metering, and alertsReview pricing documentation; understand meteringImportant
C1.5Free tierPermanently free option for evaluation or small deploymentsFull: meaningful free tier for production use. Partial: time-limited trial. None: no free optionReview free tier limitationsImportant

Vendor assessment

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
C2.1Vendor stabilityFinancial health and market positionDocument: company age, funding, profitability indicatorsResearch company backgroundImportant
C2.2Data portabilityAbility to export all data and migrate awayFull: complete export in open formats. Partial: partial export. None: proprietary lock-inReview export capabilities; test data extractionEssential
C2.3Contractual termsStandard terms acceptable to nonprofit procurementDocument: key contract terms, negotiabilityReview terms of serviceImportant
C2.4JurisdictionLegal jurisdiction and data protection implicationsDocument: company headquarters, data processing locationsReview privacy policy and DPAImportant

Accessibility requirements

IDRequirementDescriptionAssessment criteriaVerification methodTypical priority
A1.1WCAG 2.1 AA complianceDashboard viewing meets accessibility standardsFull: certified WCAG 2.1 AA compliance. Partial: some violations. None: not assessedReview VPAT; test with screen readerImportant
A1.2Keyboard navigationAll functions accessible via keyboardFull: complete keyboard support with visible focus. Partial: most functions. None: mouse requiredNavigate dashboard using only keyboardImportant
A1.3Screen reader compatibilityCharts and dashboards work with assistive technologyFull: ARIA labels and alternative text throughout. Partial: basic support. None: not compatibleTest with NVDA or VoiceOverImportant
A1.4Colour contrastSufficient contrast for low-vision usersFull: configurable themes with high contrast option. Partial: default theme meets standards. None: fails contrastCheck contrast ratios in default themeImportant
A1.5VPAT availabilityAccessibility conformance report availableAvailable: current VPAT published. None: no VPATRequest VPAT from vendorDesirable

Comparison matrices

The following matrices compare assessed tools using standardised ratings:

SymbolMeaning
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
EEnterprise/paid tier only
PPlugin or extension required
βBeta or preview feature

Functional capability matrix

Data connectivity

CapabilityApache SupersetGrafanaMetabaseJupyterLabPower BITableau
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

CapabilityApache SupersetGrafanaMetabaseJupyterLabPower BITableau
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

CapabilityApache SupersetGrafanaMetabaseJupyterLabPower BITableau
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

CapabilityApache SupersetGrafanaMetabaseJupyterLabPower BITableau
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

ToolSelf-hostedDockerKubernetesCloud-hostedAir-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

ToolMinimum RAMRecommended RAMMinimum vCPUDatabase required
Apache Superset4 GB8 GB2PostgreSQL, MySQL, or SQLite
Grafana512 MB2 GB1SQLite (embedded) or PostgreSQL/MySQL
Metabase2 GB4 GB2H2 (embedded) or PostgreSQL/MySQL
JupyterLab1 GB4 GB1None (filesystem)
Power BI Report Server8 GB16 GB4SQL Server
Tableau Server32 GB64 GB8PostgreSQL (embedded) or external

API capabilities

ToolAPI coverageAuthentication methodsRate limitingSDK availability
Apache Superset● ComprehensiveOAuth 2.0, API tokensConfigurablePython (unofficial)
Grafana● ComprehensiveAPI keys, OAuth, service accountsPer-key limitsGo, Python (unofficial)
Metabase◐ PartialSession tokens, API keysNone documentedPython, Ruby (unofficial)
JupyterLab● ComprehensiveToken, OAuthNonePython (official)
Power BI● ComprehensiveAzure AD OAuthThrottling.NET, Python (official)
Tableau● ComprehensivePersonal tokens, OAuthPer-endpointPython (official)

Security capability matrix

Authentication methods

MethodApache SupersetGrafanaMetabaseJupyterLabPower BITableau
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

FeatureApache SupersetGrafanaMetabaseJupyterLabPower BITableau
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)

CertificationApache Superset (Preset)Grafana CloudMetabase CloudJupyterHub CloudPower BITableau Cloud
SOC 2 Type IIVaries
ISO 27001Varies
GDPR readyVaries
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

ToolLicencePricing modelFree tierNonprofit programme
Apache SupersetApache 2.0Free (self-hosted)● Unlimited-
GrafanaAGPL 3.0Per-user (cloud)● 10 users● Available
MetabaseAGPL 3.0Per-user (cloud and self-hosted Pro)● Unlimited (OSS)● 50% discount
JupyterLabBSD-3Free (self-hosted)● Unlimited-
Power BIProprietaryPer-user + capacity● Desktop only● 10 free licences
TableauProprietaryPer-user○ Tableau Public● Available

Cloud pricing estimates (January 2026)

ToolFree tierEntry paid tierMid-rangeEnterprise
Preset (Superset)Limited trial$50/user/monthCustomCustom
Grafana Cloud10 users, 14-day metrics$50/user/month$100/user/monthCustom
Metabase Cloud-$85/month (5 users)$500/month (25 users)Custom
JupyterHub (self-hosted)Free---
Power BIFree Desktop$10/user/month Pro$20/user/month PPUCapacity pricing
Tableau CloudTableau 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

ToolVendorHeadquartersFoundedOwnership
Apache SupersetApache Software FoundationUSA (distributed)2015 (Airbnb), ASF 2021Nonprofit foundation
GrafanaGrafana LabsUSA (New York)2014Private (Series D, $240M)
MetabaseMetabase, Inc.USA (San Francisco)2015Private (Series C, $52M)
JupyterLabProject Jupyter (NumFOCUS)USA (distributed)2015Nonprofit foundation
Power BIMicrosoftUSA (Washington)2014Public (NASDAQ: MSFT)
TableauSalesforceUSA (California)2003Public (NYSE: CRM)

Jurisdictional considerations

ToolData processingCLOUD Act exposureEU data residency
Apache SupersetSelf-hosted: your choice. Preset: US-basedPreset: YesSelf-hosted: Yes
GrafanaSelf-hosted: your choice. Cloud: US/EU/other regionsCloud: Yes (US company)Cloud: Available
MetabaseSelf-hosted: your choice. Cloud: US or EUCloud: YesCloud: EU region available
JupyterLabSelf-hosted: your choice-Self-hosted: Yes
Power BIMicrosoft Azure data centresYesEU regions available
TableauSalesforce data centresYesEU 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

RequirementApache SupersetGrafanaMetabaseJupyterLabPower BITableau
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:

ScaleUsersInfrastructureMonthly estimate
Small10-252 vCPU, 8 GB RAM VM$40-80
Medium50-1004 vCPU, 16 GB RAM + Redis$150-250
Large200+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:

ScaleUsersInfrastructureMonthly estimate
Small5-151 vCPU, 2 GB RAM VM$20-40
Medium30-752 vCPU, 4 GB RAM + PostgreSQL$80-150
Large150+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:

ScaleUsersInfrastructureMonthly estimate
Small5-151 vCPU, 4 GB RAM VM$30-50
Medium30-502 vCPU, 8 GB RAM$80-120
Large100+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:

ScaleUsersInfrastructureMonthly estimate
Individual1Local machine$0
Small team5-104 vCPU, 16 GB VM$60-100
Medium30-50Kubernetes cluster$200-400
Large100+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):

TierCostCapabilities
Free$0Desktop authoring, personal consumption
Pro$10/user/monthSharing, collaboration, 10 GB per user
Premium Per User$20/user/monthAdvanced features, larger datasets
Premium/Fabric Capacity$4,995+/monthUnlimited 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):

RoleTableau CloudTableau 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

FromToComplexityApproachTypical timeline
Excel reportsAny BI toolLowRecreate visualisations; connect to source data2-4 weeks
Metabase OSSMetabase Pro/EnterpriseLowUpgrade in place; enable features1-2 days
MetabaseSupersetMediumExport questions as SQL; rebuild dashboards4-8 weeks
SupersetTableau/Power BIMediumExport queries; rebuild visualisations6-12 weeks
TableauPower BIHighConvert workbooks; retrain users3-6 months
Power BITableauHighRebuild semantic model; convert reports3-6 months
AnyJupyterLabMediumExport queries; wrap in notebooks4-8 weeks

Resources and references

Official documentation

Open source tools

ToolDocumentationAPI referenceSource repository
Apache Supersethttps://superset.apache.org/docs/https://superset.apache.org/docs/api/https://github.com/apache/superset
Grafanahttps://grafana.com/docs/grafana/latest/https://grafana.com/docs/grafana/latest/developers/http_api/https://github.com/grafana/grafana
Metabasehttps://www.metabase.com/docs/https://www.metabase.com/docs/latest/api-documentationhttps://github.com/metabase/metabase
JupyterLabhttps://jupyterlab.readthedocs.io/https://jupyter-server.readthedocs.io/en/latest/developers/rest-api.htmlhttps://github.com/jupyterlab/jupyterlab

Commercial tools

ToolDocumentationAPI referenceNonprofit programmeTrust/security
Power BIhttps://learn.microsoft.com/en-us/power-bi/https://learn.microsoft.com/en-us/rest/api/power-bi/https://nonprofit.microsoft.com/https://servicetrust.microsoft.com/
Tableauhttps://help.tableau.com/https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api.htmhttps://www.salesforce.org/power-of-us/https://trust.tableau.com/

Relevant standards

StandardDescriptionURL
WCAG 2.1Web Content Accessibility Guidelineshttps://www.w3.org/WAI/WCAG21/quickref/
VPATVoluntary Product Accessibility Templatehttps://www.itic.org/policy/accessibility/vpat
ISO 27001Information security managementhttps://www.iso.org/isoiec-27001-information-security.html
SOC 2Service Organisation Controlhttps://www.aicpa.org/soc4so

See also

Internal documentation relevant to analytics and visualisation tool selection: