Skip to content

How Plausible Analytics’s scores are calculated

The full audit trail, recomputed from the verdict data at build time through the same code that produced the leaderboard: verdict × quality × story weight per cell, cells sum to dimension scores, dimensions blend into the PA Score. Every number on the product page is reproducible from this page alone; for why the formula looks like this, see the methodology.

verdict factors: full ×1.0 · partial ×0.6 · disputed ×0.3 · none ×0.0 · n/a excluded from both sides · cell points = weight × quality × factor · cell max = weight × 10

PA Score19/100

Agent-ready 19.0 × 0.30 = 5.70

API quality 0.0 × 0.20 = 0.00

Openness 65.8 × 0.20 = 13.16

Built-in AI 0.0 × 0.15 = 0.00

Automation 0.0 × 0.15 = 0.00

(5.70 + 0.00 + 13.16 + 0.00 + 0.00) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 18.86 ÷ 1.00 = 18.9

Scores are stored to 1 decimal; the product page’s pills round to whole numbers for display. Each dimension below shows the stories, verdicts, and cited evidence behind its number.

Agent-ready19.0/100×0.30 of the PA blend

Outside-in: can YOUR agent reach and drive this product — API, MCP, CLI, headless runs, agent docs.

Point an agent at llms.txt or agent-oriented docsweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [probe] https://plausible.io/llms.txtPROBE llms.txt: HTTP 404 at https://plausible.io/llms.txt
  • [probe] https://plausible.io/docs.mdPROBE docs-md: HTTP 404 at https://plausible.io/docs.md
  • [probe] https://plausible.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://plausible.io/openapi.json, https://plausible.io/swagger.json, https://plausible.io/api/openapi.json, https://plausible.io/.well-known/openapi.json)

Run the product headlessly / in CI for automationweight 2

2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max

  • [claimed-docs] https://plausible.io/docs/events-apiThe Plausible Events API can be used to record pageviews and custom events. This is useful when tracking Android or iOS mobile apps, or for server side tracking.
  • [claimed-docs] https://plausible.io/docs/events-apiThis is useful when tracking Android or iOS mobile apps, or for server side tracking.
  • [claimed-docs] https://plausible.io/docs/stats-apiPlausible Stats API is a read-only HTTP interface for viewing historical and real-time stats.
  • [claimed-docs] https://plausible.io/docs/stats-apiThe /api/v2/query endpoint accepts simple and complex stats queries in the POST request body and returns the metrics as JSON.
  • [claimed-docs] https://plausible.io/docs/stats-apiAPI keys are scoped to one team. The team selected in the top-right menu when you create the key determines which sites it can query.
  • [probe] https://plausible.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://plausible.io/openapi.json, https://plausible.io/swagger.json, https://plausible.io/api/openapi.json, https://plausible.io/.well-known/openapi.json)

Plug MCP servers into this product so it can use their toolsweight 3

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Connect an agent via an official MCP serverweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

  • [probe] https://plausible.io/llms.txtPROBE llms.txt: HTTP 404 at https://plausible.io/llms.txt
  • [probe] https://plausible.io/docs.mdPROBE docs-md: HTTP 404 at https://plausible.io/docs.md
  • [probe] https://plausible.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://plausible.io/openapi.json, https://plausible.io/swagger.json, https://plausible.io/api/openapi.json, https://plausible.io/.well-known/openapi.json)

Use an official CLIweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://plausible.io/docs/events-apiThe Plausible Events API can be used to record pageviews and custom events. This is useful when tracking Android or iOS mobile apps, or for server side tracking.
  • [claimed-docs] https://plausible.io/docs/stats-apiPlausible Stats API is a read-only HTTP interface for viewing historical and real-time stats.
  • [claimed-docs] https://plausible.io/docs/stats-apiThe /api/v2/query endpoint accepts simple and complex stats queries in the POST request body and returns the metrics as JSON.
  • [probe] https://plausible.io/llms.txtPROBE llms.txt: HTTP 404 at https://plausible.io/llms.txt
  • [probe] https://plausible.io/docs.mdPROBE docs-md: HTTP 404 at https://plausible.io/docs.md
  • [probe] https://plausible.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://plausible.io/openapi.json, https://plausible.io/swagger.json, https://plausible.io/api/openapi.json, https://plausible.io/.well-known/openapi.json)

Drive the product through a documented public APIweight 3

3 (weight) × 7 (quality) × 1.0 (full) = 21.0 of 30 max

  • [claimed-docs] https://plausible.io/docs/events-apiThe Plausible Events API can be used to record pageviews and custom events. This is useful when tracking Android or iOS mobile apps, or for server side tracking.
  • [claimed-docs] https://plausible.io/docs/stats-apiPlausible Stats API is a read-only HTTP interface for viewing historical and real-time stats.
  • [claimed-docs] https://plausible.io/docs/stats-apiThe /api/v2/query endpoint accepts simple and complex stats queries in the POST request body and returns the metrics as JSON.
  • [claimed-docs] https://plausible.io/docs/stats-apiAPI keys are scoped to one team. The team selected in the top-right menu when you create the key determines which sites it can query.
  • [probe] https://plausible.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://plausible.io/openapi.json, https://plausible.io/swagger.json, https://plausible.io/api/openapi.json, https://plausible.io/.well-known/openapi.json)

Issue scoped/least-privilege API credentials for an agentweight 2

2 (weight) × 5 (quality) × 0.6 (partial) = 6.0 of 20 max

  • [claimed-docs] https://plausible.io/docs/stats-apiAPI keys are scoped to one team. The team selected in the top-right menu when you create the key determines which sites it can query.
  • [claimed-docs] https://plausible.io/docs/stats-apiPlausible Stats API is a read-only HTTP interface for viewing historical and real-time stats.
  • [claimed-docs] https://plausible.io/docs/stats-apiThe /api/v2/query endpoint accepts simple and complex stats queries in the POST request body and returns the metrics as JSON.

Build against official SDKsweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://plausible.io/docs/events-apiThe Plausible Events API can be used to record pageviews and custom events. This is useful when tracking Android or iOS mobile apps, or for server side tracking.
  • [claimed-docs] https://plausible.io/docs/stats-apiPlausible Stats API is a read-only HTTP interface for viewing historical and real-time stats.
  • [claimed-docs] https://plausible.io/docs/stats-apiThe /api/v2/query endpoint accepts simple and complex stats queries in the POST request body and returns the metrics as JSON.
  • [probe] https://plausible.io/llms.txtPROBE llms.txt: HTTP 404 at https://plausible.io/llms.txt
  • [probe] https://plausible.io/docs.mdPROBE docs-md: HTTP 404 at https://plausible.io/docs.md
  • [probe] https://plausible.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://plausible.io/openapi.json, https://plausible.io/swagger.json, https://plausible.io/api/openapi.json, https://plausible.io/.well-known/openapi.json)

Subscribe to events via webhooksweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://plausible.io/docs/events-apiThe Plausible Events API can be used to record pageviews and custom events. This is useful when tracking Android or iOS mobile apps, or for server side tracking.
  • [claimed-docs] https://plausible.io/docs/stats-apiPlausible Stats API is a read-only HTTP interface for viewing historical and real-time stats.
  • [claimed-docs] https://plausible.io/docs/stats-apiThe /api/v2/query endpoint accepts simple and complex stats queries in the POST request body and returns the metrics as JSON.

Agent-ready = 34.2 ÷ 180 × 100 = 19.0

API quality0.0/100×0.20 of the PA blend

The programmable surface once an agent is there — machine-readable spec, interactive docs, sandbox, versioning discipline.

Explore an interactive API reference with runnable examplesweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://plausible.io/docs/stats-apiPlausible Stats API is a read-only HTTP interface for viewing historical and real-time stats.
  • [claimed-docs] https://plausible.io/docs/stats-apiThe /api/v2/query endpoint accepts simple and complex stats queries in the POST request body and returns the metrics as JSON.
  • [claimed-docs] https://plausible.io/docs/stats-apiAPI keys are scoped to one team. The team selected in the top-right menu when you create the key determines which sites it can query.
  • [probe] https://plausible.io/llms.txtPROBE llms.txt: HTTP 404 at https://plausible.io/llms.txt
  • [probe] https://plausible.io/docs.mdPROBE docs-md: HTTP 404 at https://plausible.io/docs.md
  • [probe] https://plausible.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://plausible.io/openapi.json, https://plausible.io/swagger.json, https://plausible.io/api/openapi.json, https://plausible.io/.well-known/openapi.json)

Download a machine-readable API spec (OpenAPI or equivalent)weight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [probe] https://plausible.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://plausible.io/openapi.json, https://plausible.io/swagger.json, https://plausible.io/api/openapi.json, https://plausible.io/.well-known/openapi.json)
  • [probe] https://plausible.io/llms.txtPROBE llms.txt: HTTP 404 at https://plausible.io/llms.txt
  • [probe] https://plausible.io/docs.mdPROBE docs-md: HTTP 404 at https://plausible.io/docs.md
  • [claimed-docs] https://plausible.io/docs/stats-apiPlausible Stats API is a read-only HTTP interface for viewing historical and real-time stats.
  • [claimed-docs] https://plausible.io/docs/stats-apiThe /api/v2/query endpoint accepts simple and complex stats queries in the POST request body and returns the metrics as JSON.

Test against a sandbox environment without touching production dataweight 1

1 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 10 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Rely on versioned APIs with a documented deprecation policyweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://plausible.io/docs/stats-apiPlausible Stats API is a read-only HTTP interface for viewing historical and real-time stats.
  • [claimed-docs] https://plausible.io/docs/stats-apiThe /api/v2/query endpoint accepts simple and complex stats queries in the POST request body and returns the metrics as JSON.
  • [probe] https://plausible.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://plausible.io/openapi.json, https://plausible.io/swagger.json, https://plausible.io/api/openapi.json, https://plausible.io/.well-known/openapi.json)

API quality = 0.0 ÷ 70 × 100 = 0.0

Openness65.8/100×0.20 of the PA blend

Can you leave, inspect, or self-host — data export, open source, portability.

Do everything through the API that I can do in the UIweight 2

2 (weight) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max

  • [claimed-docs] https://plausible.io/docs/stats-apiPlausible Stats API is a read-only HTTP interface for viewing historical and real-time stats.
  • [claimed-docs] https://plausible.io/docs/stats-apiThe /api/v2/query endpoint accepts simple and complex stats queries in the POST request body and returns the metrics as JSON.
  • [claimed-docs] https://plausible.io/docs/stats-apiAPI keys are scoped to one team. The team selected in the top-right menu when you create the key determines which sites it can query.
  • [claimed-docs] https://plausible.io/docs/events-apiThe Plausible Events API can be used to record pageviews and custom events. This is useful when tracking Android or iOS mobile apps, or for server side tracking.
  • [claimed-docs] https://plausible.io/docs/events-apiThis is useful when tracking Android or iOS mobile apps, or for server side tracking.
  • [claimed-docs] https://plausible.io/docs/funnel-analysisDefine a sequence of steps and measure how many visitors complete each one. Use funnel analysis to find where people drop off and improve your conversion rate.
  • [claimed-docs] https://plausible.io/docs/guided-tourYou can also add annotations to the chart to mark important events like a deployment, a campaign launch or an outage.
  • [claimed-docs] https://plausible.io/docsSingle Sign-On (SSO): for teams on Google Workspaces, Microsoft Entra, or Okta
  • [claimed-docs] https://plausible.io/docsShared links: share your dashboard publicly or with specific people
  • [claimed-docs] https://plausible.io/docsEmail reports: scheduled reports delivered to your inbox
  • [claimed-docs] https://plausible.io/docsSlack reports: send reports to a Slack channel
  • [probe] https://plausible.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://plausible.io/openapi.json, https://plausible.io/swagger.json, https://plausible.io/api/openapi.json, https://plausible.io/.well-known/openapi.json)

Export all of my data in open formats and leaveweight 3

3 (weight) × 7 (quality) × 1.0 (full) = 21.0 of 30 max

  • [claimed-docs] https://plausible.io/docsImport stats: bring in data via CSV
  • [claimed-docs] https://plausible.io/docsExport stats: download your data
  • [claimed-docs] https://plausible.io/docs/stats-apiPlausible Stats API is a read-only HTTP interface for viewing historical and real-time stats.
  • [claimed-docs] https://plausible.io/docs/stats-apiThe /api/v2/query endpoint accepts simple and complex stats queries in the POST request body and returns the metrics as JSON.
  • [claimed-docs] https://github.com/plausible/community-editionA getting started guide to self-hosting Plausible Community Edition
  • [community] https://hn.algolia.com/api/v1/items/35121435One huge selling point of using Plausible is that you can self-host it and it's FOSS. If the company disappears, you can continue using what got developed so far, and maintain it yourself.

Read the product's source under an open licenseweight 2

2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max

  • [claimed-docs] https://github.com/plausible/community-editionA getting started guide to self-hosting Plausible Community Edition
  • [community] https://hn.algolia.com/api/v1/items/35121435One huge selling point of using Plausible is that you can self-host it and it's FOSS. If the company disappears, you can continue using what got developed so far, and maintain it yourself.
  • [community] https://news.ycombinator.com/item?id=40909006I'm a very happy self-hosted Plausible user for years now. Solid, simple, and easy to maintain.

Self-host the core productweight 3

3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max

  • [claimed-docs] https://github.com/plausible/community-editionA getting started guide to self-hosting Plausible Community Edition
  • [community] https://news.ycombinator.com/item?id=40909006I'm a very happy self-hosted Plausible user for years now. Solid, simple, and easy to maintain.
  • [community] https://hn.algolia.com/api/v1/items/35121435One huge selling point of using Plausible is that you can self-host it and it's FOSS. If the company disappears, you can continue using what got developed so far, and maintain it yourself.
  • [community] https://news.ycombinator.com/item?id=40909006I think Plausible's self-hosting is not simple, requiring unnecessarily heavy databases like ClickHouse, which can be overkill for the average website owner.

Openness = 65.8 ÷ 100 × 100 = 65.8

Built-in AI0.0/100×0.15 of the PA blend

Inside-out: how agentic the product itself is for its users — built-in assistants, autonomous features.

Get AI-generated insights and suggestions from my data inside the productweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Set up automations that run autonomously in the backgroundweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://plausible.io/docsEmail reports: scheduled reports delivered to your inbox
  • [claimed-docs] https://plausible.io/docsSlack reports: send reports to a Slack channel
  • [claimed-docs] https://plausible.io/docs/stats-apiPlausible Stats API is a read-only HTTP interface for viewing historical and real-time stats.
  • [claimed-docs] https://plausible.io/docs/stats-apiThe /api/v2/query endpoint accepts simple and complex stats queries in the POST request body and returns the metrics as JSON.

Delegate tasks to a built-in AI assistant inside the productweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Operate the product with natural-language commandsweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://plausible.io/docs/stats-apiPlausible Stats API is a read-only HTTP interface for viewing historical and real-time stats.
  • [claimed-docs] https://plausible.io/docs/stats-apiThe /api/v2/query endpoint accepts simple and complex stats queries in the POST request body and returns the metrics as JSON.
  • [probe] https://plausible.io/llms.txtPROBE llms.txt: HTTP 404 at https://plausible.io/llms.txt
  • [probe] https://plausible.io/docs.mdPROBE docs-md: HTTP 404 at https://plausible.io/docs.md
  • [probe] https://plausible.io/openapi.jsonPROBE openapi: all candidate paths 404 (https://plausible.io/openapi.json, https://plausible.io/swagger.json, https://plausible.io/api/openapi.json, https://plausible.io/.well-known/openapi.json)

Built-in AI = 0.0 ÷ 90 × 100 = 0.0

Automation0.0/100×0.15 of the PA blend

Depth of automation primitives — rules, scheduling, bulk operations, webhooks.

Perform bulk operations across many items at onceweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

  • [claimed-docs] https://plausible.io/docs/events-apiThe Plausible Events API can be used to record pageviews and custom events. This is useful when tracking Android or iOS mobile apps, or for server side tracking.
  • [claimed-docs] https://plausible.io/docs/stats-apiThe /api/v2/query endpoint accepts simple and complex stats queries in the POST request body and returns the metrics as JSON.
  • [claimed-docs] https://plausible.io/docsImport stats: bring in data via CSV
  • [claimed-docs] https://plausible.io/docsExport stats: download your data
  • [claimed-docs] https://plausible.io/docsConsolidated view: all your sites in one dashboard

Define rules that trigger actions automatically on eventsweight 3

3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max

  • [claimed-docs] https://plausible.io/docsTraffic spike notifications: get alerted when traffic spikes
  • [claimed-docs] https://plausible.io/docsEmail reports: scheduled reports delivered to your inbox
  • [claimed-docs] https://plausible.io/docsSlack reports: send reports to a Slack channel
  • [claimed-docs] https://plausible.io/docs/events-apiThe Plausible Events API can be used to record pageviews and custom events. This is useful when tracking Android or iOS mobile apps, or for server side tracking.

Schedule recurring jobs or workflowsweight 2

2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Version, review, and roll back my automationsweight 1

n/a — not applicable to this product: excluded from numerator and denominator

no evidence cited — the verdict rests on absence of evidence, re-checked on refresh

Automation = 0.0 ÷ 70 × 100 = 0.0