{
  "license": "CC-BY-NC-4.0; derived from the MerRec dataset, Copyright Mercari, Inc.; see LICENSE-MERREC.md in this directory",
  "name": "merrec_pokemon_interest_check",
  "captured_at_utc": "2026-10-07T04:57:01.944248+00:00",
  "method": "One read-only Flight SQL query against release Algeon; prior viewers are item_view users before 2023-09-01.",
  "source_capture": "website/static/data/merrec-scale-pokemon-lookalikes.json",
  "source_capture_query_ids": [
    "11a08ea1-6940-43ea-847d-4c14a4864fe6",
    "1590fc67-3e82-4ac8-913c-a7a330cb03a0",
    "7b0c0200-6c13-45db-9fa7-dae3b75e8bf1"
  ],
  "source_files": {
    "items": {
      "path": "/mnt/algeon-nvme/algeon/fixture/demo/merrec/parquet/items.parquet",
      "bytes": 5617682158
    },
    "events": {
      "path": "/mnt/algeon-nvme/algeon/fixture/demo/merrec/parquet/events.parquet",
      "bytes": 84714360718
    }
  },
  "server": {
    "binary": "/home/ubuntu/algeon/target/release/algeon_server",
    "binary_sha256": "2a7d00474c8f4f2409d408119fdc9cf9dbc925712557dfe0de563fff4105d3a9",
    "config": "/home/ubuntu/algeon/fixture/demo/merrec/scripts/scale/server.toml",
    "config_text": "[[admission.device_profiles]]\ndevice_ordinal = 0\nmemory_limit_bytes = 100931731456\nbackend_reserve_bytes = 1073741824\ncache_cap_bytes = 0\ndefault_query_limit_bytes = 96636764160\nmax_active_attempts = 1\nsource_work_per_attempt = 2\nstream_pool_size = 8\nworker_count = 4\nlane_count = 4\n\n[native]\nexecution_mode = \"native_required\"\n\n[models]\nroot = \"fixture/demo/merrec/models\"\n",
    "bind": "127.0.0.1:50065",
    "gpu_lock": "/tmp/cudf-gpu.lock",
    "ld_library_path": "/usr/local/cuda-13.2/lib64::/usr/local/cuda-13.2/lib64::/usr/local/cuda-13.2/lib64::/usr/local/cuda-13.2/lib64::/usr/local/cuda-13.2/lib64:",
    "mapped_native_libraries": [
      "/home/ubuntu/.cache/mbx/targets/v1/742a662ac98c2a75be60da23e8891be30939ce6417d1161bac1af3a0ef6ebd95/release/build/algeon-cudf-sys-062a2f283e26a5e9/out/lib/libcudf_rust.so",
      "/home/ubuntu/.cache/mbx/targets/v1/742a662ac98c2a75be60da23e8891be30939ce6417d1161bac1af3a0ef6ebd95/release/build/algeon-cuml-sys-8d14bc97de1a1d62/out/shim-install/lib/libcuml_rust.so",
      "/mnt/algeon-nvme/algeon/native/cudf-install/lib/libcudf.so",
      "/mnt/algeon-nvme/algeon/native/cudf-install/lib/libcudf_rust_rmm_interop.so",
      "/mnt/algeon-nvme/algeon/native/cudf-install/lib/librmm.so",
      "/mnt/algeon-nvme/algeon/native/cugraph-build/libcugraph.so",
      "/mnt/algeon-nvme/algeon/native/cugraph-build/libcugraph_c.so",
      "/mnt/algeon-nvme/algeon/native/cugraph-build/libcugraph_common.so",
      "/mnt/algeon-nvme/algeon/native/cugraph-build/libcugraph_mg.so",
      "/mnt/algeon-nvme/algeon/native/cuml-install/lib/libcuml.so",
      "/mnt/algeon-nvme/algeon/native/cuvs-install/lib/libcuvs.so",
      "/mnt/algeon-nvme/algeon/native/cuvs-install/lib/libcuvs_c.so"
    ]
  },
  "sql": "WITH views AS (\n  SELECT e.user_id, i.c1_id, i.brand_id\n  FROM merrec_events e JOIN merrec_items i ON i.item_id = e.item_id\n  WHERE e.event_type = 'item_view' AND e.event_time < TIMESTAMP '2023-09-01 00:00:00'\n), dims AS (\n  SELECT c1_id, ROW_NUMBER() OVER (ORDER BY n DESC, c1_id) - 1 AS dim\n  FROM (SELECT c1_id, COUNT(*) AS n FROM views GROUP BY c1_id) c\n  ORDER BY n DESC LIMIT 64\n), counts AS (\n  SELECT v.user_id, d.dim, COUNT(*) AS n FROM views v JOIN dims d ON d.c1_id = v.c1_id GROUP BY v.user_id, d.dim\n), totals AS (\n  SELECT user_id, SUM(n) AS total FROM counts GROUP BY user_id HAVING SUM(n) >= 20\n), taste AS (\n  SELECT c.user_id AS id,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 0 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d0,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 1 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d1,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 2 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d2,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 3 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d3,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 4 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d4,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 5 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d5,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 6 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d6,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 7 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d7,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 8 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d8,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 9 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d9,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 10 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d10,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 11 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d11,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 12 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d12,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 13 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d13,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 14 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d14,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 15 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d15,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 16 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d16,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 17 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d17,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 18 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d18,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 19 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d19,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 20 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d20,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 21 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d21,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 22 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d22,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 23 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d23,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 24 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d24,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 25 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d25,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 26 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d26,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 27 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d27,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 28 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d28,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 29 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d29,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 30 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d30,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 31 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d31,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 32 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d32,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 33 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d33,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 34 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d34,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 35 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d35,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 36 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d36,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 37 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d37,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 38 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d38,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 39 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d39,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 40 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d40,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 41 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d41,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 42 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d42,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 43 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d43,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 44 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d44,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 45 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d45,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 46 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d46,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 47 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d47,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 48 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d48,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 49 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d49,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 50 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d50,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 51 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d51,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 52 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d52,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 53 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d53,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 54 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d54,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 55 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d55,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 56 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d56,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 57 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d57,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 58 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d58,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 59 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d59,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 60 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d60,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 61 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d61,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 62 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d62,\n         CAST(SQRT(SUM(CASE WHEN c.dim = 63 THEN c.n ELSE 0 END) * 1.0 / t.total) AS REAL) AS d63\n  FROM counts c JOIN totals t ON t.user_id = c.user_id\n  GROUP BY c.user_id, t.total\n), pokemon_buys AS (\n  SELECT DISTINCT e.user_id, CASE WHEN e.event_time >= TIMESTAMP '2023-09-01 00:00:00' THEN 1 ELSE 0 END AS later\n  FROM merrec_events e JOIN merrec_items i ON i.item_id = e.item_id\n  WHERE e.event_type = 'buy_comp' AND i.brand_id = 17470 AND e.event_time >= TIMESTAMP '2023-07-01 00:00:00'\n), seed AS (\n  SELECT t.id FROM taste t JOIN (SELECT DISTINCT user_id FROM pokemon_buys WHERE later = 0) b ON b.user_id = t.id\n), candidates AS (\n  SELECT t.* FROM taste t LEFT JOIN seed s ON s.id = t.id WHERE s.id IS NULL\n), lookalikes AS (\n  SELECT DISTINCT neighbor_id AS id\n  FROM cuvs_brute_force_knn(\n    dataset => (SELECT * FROM candidates ORDER BY id),\n    queries => (SELECT t.* FROM taste t JOIN seed s ON s.id = t.id ORDER BY t.id),\n    k => 20, metric => 'l2_expanded')\n), pokemon_viewers AS (\n  SELECT DISTINCT user_id AS id FROM views WHERE brand_id = 17470\n), later_buyers AS (\n  SELECT DISTINCT user_id AS id FROM pokemon_buys WHERE later = 1\n), audiences AS (\n  SELECT labels.audience, l.id\n  FROM lookalikes l LEFT JOIN pokemon_viewers v ON v.id = l.id\n  CROSS JOIN (\n    SELECT 'lookalikes' AS audience, 0 AS prior_view\n    UNION ALL SELECT 'lookalikes with prior Pokemon views', 1\n    UNION ALL SELECT 'lookalikes without prior Pokemon views', 2\n  ) labels\n  WHERE labels.prior_view = 0\n     OR (labels.prior_view = 1 AND v.id IS NOT NULL)\n     OR (labels.prior_view = 2 AND v.id IS NULL)\n  UNION ALL SELECT 'pokemon viewers', c.id FROM candidates c JOIN pokemon_viewers v ON v.id = c.id\n  UNION ALL SELECT 'all active shoppers', c.id FROM candidates c\n)\nSELECT a.audience, COUNT(*) AS shoppers, COUNT(b.id) AS buyers_sep_oct,\n       CAST(COUNT(b.id) AS DOUBLE) / COUNT(*) AS purchase_rate\nFROM audiences a LEFT JOIN later_buyers b ON b.id = a.id\nGROUP BY a.audience\nORDER BY purchase_rate DESC;",
  "query_id": "2bf4dcdc-b848-4787-b1df-cef4cc88d365",
  "schema": [
    "audience: string",
    "shoppers: int64",
    "buyers_sep_oct: int64",
    "purchase_rate: double"
  ],
  "records": [
    {
      "audience": "lookalikes with prior Pokemon views",
      "shoppers": 13268,
      "buyers_sep_oct": 130,
      "purchase_rate": 0.009798010250226108
    },
    {
      "audience": "lookalikes",
      "shoppers": 19124,
      "buyers_sep_oct": 132,
      "purchase_rate": 0.006902321690023008
    },
    {
      "audience": "pokemon viewers",
      "shoppers": 250627,
      "buyers_sep_oct": 572,
      "purchase_rate": 0.0022822760516624306
    },
    {
      "audience": "lookalikes without prior Pokemon views",
      "shoppers": 5856,
      "buyers_sep_oct": 2,
      "purchase_rate": 0.00034153005464480874
    },
    {
      "audience": "all active shoppers",
      "shoppers": 2079441,
      "buyers_sep_oct": 688,
      "purchase_rate": 0.0003308581488967468
    }
  ],
  "stats_file": "target/merrec-vision/pokemon-interest.stats.txt",
  "dataset": {
    "source": "mercari-us/merrec (https://huggingface.co/datasets/mercari-us/merrec)",
    "revision": "dd2b3c6f6f19d4814bb839ee6e8ab41926a14343",
    "selection": "all",
    "partition": "all",
    "input_rows": 1268092738,
    "row_limit": null,
    "counts": {
      "buy_events": 1124263,
      "events": 1268092738,
      "items": 82614392,
      "max_event_time": "2023-10-31 00:00:00",
      "min_event_time": "2023-05-01 00:00:00",
      "sequences": 10387,
      "sessions": 25864474,
      "users": 5566055
    },
    "manifest_path": "/mnt/algeon-nvme/algeon/fixture/demo/merrec/manifest.json",
    "parquet": {
      "items": {
        "path": "/mnt/algeon-nvme/algeon/fixture/demo/merrec/parquet/items.parquet",
        "bytes": 5617682158,
        "rows": 82614392,
        "row_groups": 631
      },
      "events": {
        "path": "/mnt/algeon-nvme/algeon/fixture/demo/merrec/parquet/events.parquet",
        "bytes": 84714360718,
        "rows": 1268092738,
        "row_groups": 1210
      }
    }
  }
}
