How Elasticsearch’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 Score17/100
Agent-ready 32.6 × 0.30 = 9.78
API quality 4.3 × 0.20 = 0.86
Openness 24.0 × 0.20 = 4.80
Built-in AI 13.3 × 0.15 = 2.00
Automation 0.0 × 0.15 = 0.00
(9.78 + 0.86 + 4.80 + 2.00 + 0.00) ÷ (0.30 + 0.20 + 0.20 + 0.15 + 0.15) = 17.43 ÷ 1.00 = 17.4
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-ready32.6/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) × 3 (quality) × 0.6 (partial) = 3.6 of 20 max
- [claimed-docs] https://www.elastic.co/docs“Install official skills that teach AI coding agents how to work with Elasticsearch, Kibana, Fleet, and the rest of the Elastic stack.”
- [probe] https://www.elastic.co/llms.txt“PROBE llms.txt: HTTP 404 at https://www.elastic.co/llms.txt”
- [probe] https://www.elastic.co/docs.md“PROBE docs-md: HTTP 404 at https://www.elastic.co/docs.md”
- [probe] https://github.com/elastic/mcp-server-elasticsearch“official MCP server documented at https://github.com/elastic/mcp-server-elasticsearch”
Run the product headlessly / in CI for automationweight 2
2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max
- [claimed-docs] https://www.elastic.co/docs/deploy-manage/deploy/self-managed/local-development-installation-quickstart“curl -fsSL https://elastic.co/start-local | sh”
- [claimed-docs] https://www.elastic.co/docs/deploy-manage/deploy/self-managed/local-development-installation-quickstart“Quickly set up Elasticsearch and Kibana in Docker for local development or testing, using this one-liner in the command line.”
- [claimed-docs] https://www.elastic.co/docs/reference/elasticsearch-clients“Elasticsearch is easy to use from most popular programming languages, thanks to the wide range of official libraries and developer tools available.”
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
- [claimed-docs] https://github.com/elastic/mcp-server-elasticsearch“elastic / mcp-server-elasticsearch Public”
- [probe] https://github.com/elastic/mcp-server-elasticsearch“official MCP server documented at https://github.com/elastic/mcp-server-elasticsearch”
Connect an agent via an official MCP serverweight 3
3 (weight) × 7 (quality) × 1.0 (full) = 21.0 of 30 max
- [claimed-docs] https://github.com/elastic/mcp-server-elasticsearch“elastic / mcp-server-elasticsearch Public”
- [probe] https://github.com/elastic/mcp-server-elasticsearch“official MCP server documented at https://github.com/elastic/mcp-server-elasticsearch”
Use an official CLIweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://www.elastic.co/docs/reference/elasticsearch-clients“Elasticsearch is easy to use from most popular programming languages, thanks to the wide range of official libraries and developer tools available.”
- [claimed-docs] https://github.com/elastic/mcp-server-elasticsearch“elastic / mcp-server-elasticsearch Public”
Drive the product through a documented public APIweight 3
3 (weight) × 6 (quality) × 0.6 (partial) = 10.8 of 30 max
- [claimed-docs] https://www.elastic.co/docs/reference/elasticsearch-clients“Elasticsearch is easy to use from most popular programming languages, thanks to the wide range of official libraries and developer tools available.”
- [claimed-docs] https://www.elastic.co/docs/solutions/search/semantic-search“The inference API workflow is more complex but offers greater control over the inference endpoint configuration.”
- [claimed-docs] https://www.elastic.co/docs“Install official skills that teach AI coding agents how to work with Elasticsearch, Kibana, Fleet, and the rest of the Elastic stack.”
- [claimed-docs] https://github.com/elastic/mcp-server-elasticsearch“elastic / mcp-server-elasticsearch Public”
- [probe] https://www.elastic.co/llms.txt“PROBE llms.txt: HTTP 404 at https://www.elastic.co/llms.txt”
- [probe] https://www.elastic.co/docs.md“PROBE docs-md: HTTP 404 at https://www.elastic.co/docs.md”
- [probe] https://www.elastic.co/openapi.json“PROBE openapi: all candidate paths 404 (https://www.elastic.co/openapi.json, https://www.elastic.co/swagger.json, https://www.elastic.co/api/openapi.json, https://www.elastic.co/.well-known/openapi.json)”
- [probe] https://github.com/elastic/mcp-server-elasticsearch“official MCP server documented at https://github.com/elastic/mcp-server-elasticsearch”
Issue scoped/least-privilege API credentials for an agentweight 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
Build against official SDKsweight 2
2 (weight) × 8 (quality) × 1.0 (full) = 16.0 of 20 max
- [claimed-docs] https://www.elastic.co/docs/reference/elasticsearch-clients“Elasticsearch is easy to use from most popular programming languages, thanks to the wide range of official libraries and developer tools available.”
- [claimed-docs] https://github.com/elastic/mcp-server-elasticsearch“elastic / mcp-server-elasticsearch Public”
- [probe] https://github.com/elastic/mcp-server-elasticsearch“official MCP server documented at https://github.com/elastic/mcp-server-elasticsearch”
Subscribe to events via webhooksweight 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
Agent-ready = 58.6 ÷ 180 × 100 = 32.6
API quality4.3/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
- [probe] https://www.elastic.co/llms.txt“PROBE llms.txt: HTTP 404 at https://www.elastic.co/llms.txt”
- [probe] https://www.elastic.co/docs.md“PROBE docs-md: HTTP 404 at https://www.elastic.co/docs.md”
- [probe] https://www.elastic.co/openapi.json“PROBE openapi: all candidate paths 404 (https://www.elastic.co/openapi.json, https://www.elastic.co/swagger.json, https://www.elastic.co/api/openapi.json, https://www.elastic.co/.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://www.elastic.co/openapi.json“PROBE openapi: all candidate paths 404 (https://www.elastic.co/openapi.json, https://www.elastic.co/swagger.json, https://www.elastic.co/api/openapi.json, https://www.elastic.co/.well-known/openapi.json)”
Test against a sandbox environment without touching production dataweight 1
1 (weight) × 5 (quality) × 0.6 (partial) = 3.0 of 10 max
- [claimed-docs] https://www.elastic.co/docs/deploy-manage/deploy/self-managed/local-development-installation-quickstart“curl -fsSL https://elastic.co/start-local | sh”
- [claimed-docs] https://www.elastic.co/docs/deploy-manage/deploy/self-managed/local-development-installation-quickstart“Quickly set up Elasticsearch and Kibana in Docker for local development or testing, using this one-liner in the command line.”
- [claimed-docs] https://www.elastic.co/docs/solutions/search/get-started“If you are a new user, sign up for a free 14-day trial to create a serverless project.”
- [claimed-docs] https://www.elastic.co/docs/solutions/search/get-started“Elastic provides several self-managed and Elastic-managed options.”
Rely on versioned APIs with a documented deprecation policyweight 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
API quality = 3.0 ÷ 70 × 100 = 4.3
Openness24.0/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) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://www.elastic.co/docs/reference/elasticsearch-clients“Elasticsearch is easy to use from most popular programming languages, thanks to the wide range of official libraries and developer tools available.”
- [probe] https://www.elastic.co/openapi.json“PROBE openapi: all candidate paths 404 (https://www.elastic.co/openapi.json, https://www.elastic.co/swagger.json, https://www.elastic.co/api/openapi.json, https://www.elastic.co/.well-known/openapi.json)”
Export all of my data in open formats and leaveweight 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
Read the product's source under an open licenseweight 2
2 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 20 max
- [claimed-docs] https://github.com/elastic/mcp-server-elasticsearch“elastic / mcp-server-elasticsearch Public”
- [community] https://news.ycombinator.com/item?id=25865094“Elastic.co has a lot of proprietary add-ons in their cloud and subscription tiers... Unfortunately for them a lot of users don't need any of that, and are just fine with the formerly-OSS core.”
Self-host the core productweight 3
3 (weight) × 8 (quality) × 1.0 (full) = 24.0 of 30 max
- [claimed-docs] https://www.elastic.co/docs/deploy-manage/deploy/self-managed/local-development-installation-quickstart“curl -fsSL https://elastic.co/start-local | sh”
- [claimed-docs] https://www.elastic.co/docs/deploy-manage/deploy/self-managed/local-development-installation-quickstart“Quickly set up Elasticsearch and Kibana in Docker for local development or testing, using this one-liner in the command line.”
- [claimed-docs] https://www.elastic.co/docs/solutions/search/get-started“Elastic provides several self-managed and Elastic-managed options.”
- [claimed-docs] https://www.elastic.co/docs/reference/elasticsearch-clients“Elasticsearch is easy to use from most popular programming languages, thanks to the wide range of official libraries and developer tools available.”
- [community] https://news.ycombinator.com/item?id=25865094“Elastic.co has a lot of proprietary add-ons in their cloud and subscription tiers... Unfortunately for them a lot of users don't need any of that, and are just fine with the formerly-OSS core.”
- [community] https://hn.algolia.com/api/v1/items/22396918“I found Elastic Cloud on K8s to be the best way to deploy and manage Elastic clusters on Kubernetes so far.”
- [community] https://hn.algolia.com/api/v1/items/41394797“For one, we don't have to pay for basic amenities like security and alerts. To heck with gouging the customer for basic feature sets. AWS have their faults, but enabling teams to get the whole elastic experience without the weird nickle and diming is a blessing.”
Openness = 24.0 ÷ 100 × 100 = 24.0
Built-in AI13.3/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) × 4 (quality) × 0.6 (partial) = 4.8 of 20 max
- [claimed-docs] https://www.elastic.co/docs/solutions/search“When you index content into a `semantic_text` field, Elasticsearch automatically generates vector embeddings using a configured machine learning model and stores them in the underlying vector field.”
- [claimed-docs] https://www.elastic.co/docs/solutions/search“When you index content into a `semantic_text` field, Elasticsearch automatically generates vector embeddings using a configured machine learning model”
- [claimed-docs] https://www.elastic.co/docs/solutions/search“RAG (Retrieval Augmented Generation) systems”
- [claimed-docs] https://www.elastic.co/docs/solutions/search/vector“Elasticsearch functions as a vector database when you store embeddings in `dense_vector` or `sparse_vector` fields and query them for similarity.”
- [claimed-docs] https://www.elastic.co/docs/solutions/search/semantic-search“All you need to do is create an index mapping to start ingesting, embedding, and querying data. There is no need to define model-related settings and parameters, or to create inference ingest pipelines.”
Set up automations that run autonomously in the backgroundweight 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
Delegate tasks to a built-in AI assistant inside the productweight 3
3 (weight) × 0 (quality) × 0.0 (none) = 0.0 of 30 max
- [claimed-docs] https://www.elastic.co/docs“Install official skills that teach AI coding agents how to work with Elasticsearch, Kibana, Fleet, and the rest of the Elastic stack.”
- [claimed-docs] https://github.com/elastic/mcp-server-elasticsearch“elastic / mcp-server-elasticsearch Public”
- [probe] https://github.com/elastic/mcp-server-elasticsearch“official MCP server documented at https://github.com/elastic/mcp-server-elasticsearch”
Operate the product with natural-language commandsweight 2
2 (weight) × 6 (quality) × 0.6 (partial) = 7.2 of 20 max
- [claimed-docs] https://github.com/elastic/mcp-server-elasticsearch“elastic / mcp-server-elasticsearch Public”
- [probe] https://github.com/elastic/mcp-server-elasticsearch“official MCP server documented at https://github.com/elastic/mcp-server-elasticsearch”
- [claimed-docs] https://www.elastic.co/docs“Install official skills that teach AI coding agents how to work with Elasticsearch, Kibana, Fleet, and the rest of the Elastic stack.”
Built-in AI = 12.0 ÷ 90 × 100 = 13.3
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
no evidence cited — the verdict rests on absence of evidence, re-checked on refresh
Define rules that trigger actions automatically on eventsweight 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
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