{
    "title": "Under the Hood: the findings",
    "publisher": "teas.co.uk",
    "author": {
        "name": "Lee Samuel Tucker",
        "url": "https://teas.co.uk/wiki/tea-person-lee-samuel-tucker/"
    },
    "contact": "hello@teas.co.uk",
    "url": "https://teas.co.uk/under-the-hood/findings/",
    "live": true,
    "read_at": "2026-11-15T01:45:57+00:00",
    "frozen_edition": "https://teas.co.uk/under-the-hood/2026-11/",
    "terms": "https://teas.co.uk/api-fair-use-and-citation/",
    "note": "Every figure is read from the shop's own records at the moment of the request. Nothing is modelled or estimated, but capture is not complete. To quote a number that will not change, use the frozen edition.",
    "windows": {
        "pages": "2 Jun 2026 to 15 Nov 2026",
        "visits": "10 May 2026 to 15 Nov 2026"
    },
    "findings": [
        {
            "number": 1,
            "id": "who-takes-and-who-gives-back",
            "title": "Who takes, and who gives back",
            "figures": {
                "pages_served_credited": 152442,
                "visits_sent_back": 2763,
                "pages_logged_against_amazonbot": 18803,
                "pages_served_all_named_agents": 171512,
                "named_agents": 26,
                "visits_inside_the_pages_window": 2763,
                "visits_by_grade": {
                    "verified": 1184,
                    "probable": 1519,
                    "possible": 59,
                    "unknown": 1
                }
            },
            "rule": "Pages: the citation log grouped by agent; a page counts when the server answered 200 or 206 and sent bytes. Visits: browser sessions whose referring address or campaign tag named an AI surface. The credited total leaves out rows logged against Amazonbot and rows the raw web server log shows were refused (Room 03 reconciliation). A pages for each visit figure is given only where a family has at least 1,000 pages and 100 visits.",
            "cautions": [
                "Two tables with no shared key: no visit is matched to a page that was read.",
                "The two windows start on different days.",
                "A visit is only as certain as its evidence grade.",
                "An agent name is what the software called itself, not a verified company.",
                "The visits column is a floor, and an uneven one: a visit that carries no referring address or tag is not seen."
            ],
            "table": [
                {
                    "family": "OpenAI",
                    "agents": [
                        "oai-searchbot",
                        "gptbot",
                        "chatgpt-user"
                    ],
                    "visit_sources": [
                        "chatgpt"
                    ],
                    "pages_served": 45162,
                    "visits_sent_back": 1043,
                    "pages_served_for_each_visit": 43.3,
                    "note": ""
                },
                {
                    "family": "Microsoft",
                    "agents": [
                        "bingbot"
                    ],
                    "visit_sources": [
                        "bing-ai",
                        "copilot"
                    ],
                    "pages_served": 41574,
                    "visits_sent_back": 583,
                    "pages_served_for_each_visit": 71.3,
                    "note": ""
                },
                {
                    "family": "Perplexity",
                    "agents": [
                        "perplexitybot",
                        "perplexity-user"
                    ],
                    "visit_sources": [
                        "perplexity"
                    ],
                    "pages_served": 33075,
                    "visits_sent_back": 34,
                    "pages_served_for_each_visit": null,
                    "note": "too few to compare"
                },
                {
                    "family": "Amazon",
                    "agents": [
                        "amazonbot"
                    ],
                    "visit_sources": [],
                    "pages_served": 18803,
                    "visits_sent_back": 0,
                    "pages_served_for_each_visit": null,
                    "note": "withdrawn from credit"
                },
                {
                    "family": "Anthropic",
                    "agents": [
                        "claudebot",
                        "claude-user",
                        "anthropic-ai",
                        "claude-web"
                    ],
                    "visit_sources": [
                        "claude"
                    ],
                    "pages_served": 15090,
                    "visits_sent_back": 5,
                    "pages_served_for_each_visit": null,
                    "note": "too few to compare"
                },
                {
                    "family": "Meta",
                    "agents": [
                        "meta-externalagent",
                        "meta-externalfetcher"
                    ],
                    "visit_sources": [],
                    "pages_served": 9916,
                    "visits_sent_back": 0,
                    "pages_served_for_each_visit": null,
                    "note": "no visit recorded"
                },
                {
                    "family": "Google (GoogleOther, Google-Extended)",
                    "agents": [
                        "googleother",
                        "google-extended"
                    ],
                    "visit_sources": [
                        "gemini"
                    ],
                    "pages_served": 3734,
                    "visits_sent_back": 47,
                    "pages_served_for_each_visit": null,
                    "note": "too few to compare"
                },
                {
                    "family": "DuckDuckGo",
                    "agents": [
                        "duckassistbot"
                    ],
                    "visit_sources": [
                        "ddg-ai"
                    ],
                    "pages_served": 2385,
                    "visits_sent_back": 934,
                    "pages_served_for_each_visit": 2.6,
                    "note": ""
                },
                {
                    "family": "ByteDance",
                    "agents": [
                        "bytespider"
                    ],
                    "visit_sources": [],
                    "pages_served": 1668,
                    "visits_sent_back": 0,
                    "pages_served_for_each_visit": null,
                    "note": "no visit recorded"
                },
                {
                    "family": "Other named agents",
                    "agents": [
                        "ccbot",
                        "youbot",
                        "cohere",
                        "amzn-searchbot",
                        "generic"
                    ],
                    "visit_sources": [],
                    "pages_served": 96,
                    "visits_sent_back": 0,
                    "pages_served_for_each_visit": null,
                    "note": "no visit recorded"
                },
                {
                    "family": "Mistral",
                    "agents": [
                        "mistralai-user",
                        "mistral"
                    ],
                    "visit_sources": [],
                    "pages_served": 7,
                    "visits_sent_back": 0,
                    "pages_served_for_each_visit": null,
                    "note": "no visit recorded"
                },
                {
                    "family": "xAI",
                    "agents": [
                        "grokbot",
                        "xai-grok"
                    ],
                    "visit_sources": [
                        "grok"
                    ],
                    "pages_served": 2,
                    "visits_sent_back": 1,
                    "pages_served_for_each_visit": null,
                    "note": "too few to compare"
                },
                {
                    "family": "Brave",
                    "agents": [],
                    "visit_sources": [
                        "brave-ai"
                    ],
                    "pages_served": 0,
                    "visits_sent_back": 97,
                    "pages_served_for_each_visit": null,
                    "note": "no agent recorded"
                },
                {
                    "family": "Kagi",
                    "agents": [],
                    "visit_sources": [
                        "kagi"
                    ],
                    "pages_served": 0,
                    "visits_sent_back": 18,
                    "pages_served_for_each_visit": null,
                    "note": "no agent recorded"
                },
                {
                    "family": "Alibaba Qwen",
                    "agents": [],
                    "visit_sources": [
                        "qwen"
                    ],
                    "pages_served": 0,
                    "visits_sent_back": 1,
                    "pages_served_for_each_visit": null,
                    "note": "no agent recorded"
                }
            ],
            "proof": [
                "https://teas.co.uk/under-the-hood/who-read-us/#agents",
                "https://teas.co.uk/under-the-hood/who-read-us/#surfaces"
            ]
        },
        {
            "number": 2,
            "id": "what-ai-visits-bought",
            "title": "What the visits bought",
            "figures": {
                "visits_from_ai_answers": 2763,
                "product_pages_viewed": 419,
                "add_to_basket_actions": 30,
                "completed_orders_seen_by_the_visit_tracker": 5,
                "of_those_fully_refunded": 1,
                "of_those_also_on_an_assistant_tagged_link": 4,
                "paid_orders_since_10_may_2026": 161,
                "of_those_on_a_link_an_assistant_showed": 5,
                "of_those_tagged_and_kept_after_refunds": 3,
                "of_those_tagged_and_fully_refunded": 2,
                "of_those_probably_from_an_assistant": 1,
                "of_those_reported_by_the_customer": 1,
                "paid_orders_since_the_first_order": 236,
                "first_order": "18 November 2025"
            },
            "rule": "Sessions whose referring address or campaign tag named an AI surface; each step is counted on its own. The tracker order count is not a lower bound: the visit tracker misses many visits that the cache answers and its AI sessions include probable ones, so no conversion rate is published. Paid order figures come from the order system (Room 02).",
            "window": "10 May 2026 to 15 Nov 2026",
            "proof": [
                "https://teas.co.uk/under-the-hood/who-read-us/#arrivals",
                "https://teas.co.uk/under-the-hood/what-we-can-prove/#orders-linked-to-ai"
            ]
        },
        {
            "number": 3,
            "id": "what-feeding-the-machines-costs",
            "title": "What feeding the machines takes",
            "figures": {
                "gb_sent_to_named_agents": 65.8,
                "gb_sent_on_credited_reads": 56.6,
                "mb_sent_to_named_agents": 67362.7,
                "named_agents": 26,
                "gb_logged_against_amazonbot": 7.1
            },
            "rule": "The sum of bytes our server sent, from the citation log. Requests answered from the cache in front of the server never reach the log, so the figure is a floor. 1 GB = 1,024 MB.",
            "window": "2 Jun 2026 to 15 Nov 2026",
            "proof": [
                "https://teas.co.uk/under-the-hood/who-read-us/#agents"
            ]
        },
        {
            "number": 4,
            "id": "the-checkout-nobody-has-used",
            "title": "A checkout built for assistants",
            "figures": {
                "tools_on_the_server": 26,
                "tool_calls_answered": 1263,
                "external_use_tool_calls": 132,
                "external_use_errors": 0,
                "operational_load_tool_calls": 2328,
                "of_which_errors": 67,
                "checkout_links_opened": 14,
                "paid_orders_through_an_assistant_30_days": 0
            },
            "rule": "The service record of the teas.co.uk MCP server with the Room 08 traffic classes (rule tc1); completed UTC days. external_use_tool_calls leaves out our own tests, provider review tests, directory scans, scripts, other automation and unclassifiable calls; operational_load_tool_calls counts every answered call; neither is customer demand. tool_calls_answered and of_which_errors keep their meaning from before 15 Nov 2026 (every call not labelled as our test).",
            "window": "4 Oct 2026 to 14 Nov 2026 (completed UTC days)",
            "proof": [
                "https://teas.co.uk/under-the-hood/what-machines-can-do/#how-we-count-tool-calls"
            ]
        },
        {
            "number": 5,
            "id": "our-own-analytics-were-blind",
            "title": "Our own analytics were blind",
            "figures": {
                "share_of_chatgpt_arrivals_uncounted_sep_oct_2026": "roughly a quarter",
                "orders_june_to_early_october_2026": 94,
                "of_those_with_the_platform_attribution": 4,
                "of_those_filed_as_internal_navigation": 60,
                "real_orders_measured_7_august_2026": 139,
                "of_those_reaching_the_event_tables": 33
            },
            "rule": "From the dated corrections record. These are fixed figures from the days they were measured, not live counts.",
            "proof": [
                "https://teas.co.uk/under-the-hood/what-we-got-wrong/"
            ]
        },
        {
            "number": 6,
            "id": "bots-wearing-famous-names",
            "title": "Bots wearing famous names",
            "figures": [],
            "rule": "In September 2026 most requests calling themselves GrokBot or MistralAI were scanners looking for passwords. An agent name is a claim; only a real page served is counted.",
            "window": "September 2026",
            "proof": [
                "https://teas.co.uk/under-the-hood/the-thank-you-mint/#mint-changes",
                "https://teas.co.uk/under-the-hood/who-read-us/#agents"
            ]
        },
        {
            "number": 7,
            "id": "the-crawler-that-ignored-the-rules",
            "title": "The crawler that ignored the rules",
            "figures": {
                "amazonbot_requests_logged": 21796,
                "recorded_as_served": 18803,
                "withdrawn_from_credit": 18803,
                "refused_since": "30 June 2026"
            },
            "rule": "Every logged request is kept and none is credited. Many rows after the block carry a predicted status, so the served figure overstates what Amazonbot received.",
            "window": "2 Jun 2026 to 15 Nov 2026",
            "proof": [
                "https://teas.co.uk/under-the-hood/how-we-count/",
                "https://teas.co.uk/under-the-hood/what-we-got-wrong/"
            ]
        }
    ]
}