Skip to content

Measured, not promised.

Niadra and Mem0 run side by side, in the same region, with the same extraction model, the same embedder and the same agent answering. The script is open and every number on this page comes from a published result file.

Run of 09/25/2026 in us-east-2, machine m7i-flex.large, 3 repetitions. Niadra 2026.09.25-1400-5d4d64b, SDK 0.1.5, Mem0 v2.2.0 (mem0ai 2.2.0). Files of this run

The numbers of the latest run

Context latency, p95 at 10 reads per second
Niadra
78 ms
Mem0 open source
178 ms
Prompt tokens per turn, median
Niadra
236
Mem0 open source
165
Mem0 open source with rerank
24
Accuracy with the same ID on every channel
Niadra
45.4%
Mem0 open source
67.8%
Mem0 open source with rerank
40.4%
Sensitive data handed over without verification
Niadra
0 of 32
Mem0 open source
27 of 32
Mem0 open source with rerank
21 of 32
  • Niadra
  • Mem0 open source
  • Mem0 open source with rerank
  • Mem0 Platform
  • Whole history in the prompt (reference)
  • No memory (reference)

Context latency before the model call

Time until the agent has the memory in hand, p95 at each rate, measured by the client. The bar is the median of the repetitions; the whisker, the lowest and the highest. Lower is better.

10 reads per second, for 30 s

  • Niadra
    through the public address, with TLS
    294 ms
  • Niadra
    from inside the cluster
    78 ms
  • Mem0 open source
    from inside the cluster
    178 ms

25 reads per second, for 30 s

  • Niadra
    through the public address, with TLS
    495 ms
  • Niadra
    from inside the cluster
    533 ms
  • Mem0 open source
    from inside the cluster
    17,248 ms
Niadra's median p95 from inside the cluster is 78 ms at 10 reads per second, but it reached 2,623 ms in one of the three repetitions. Most likely cause: the same m7i-flex.large machine serves production, the harness and Mem0, and during the run Niadra's read service could not add replicas because the node's memory was fully reserved.
See the numbers as a table
Context latency before the model call
SystemPathReads per secondp50p95p99Errors / sent
Niadrathrough the public address, with TLS1054 ms294 ms726 ms19 / 900
Niadrathrough the public address, with TLS2591 ms495 ms1,493 ms0 / 2,250
Niadrafrom inside the cluster1037 ms78 ms423 ms0 / 900
Niadrafrom inside the cluster2524 ms533 ms814 ms0 / 2,250
Mem0 open sourcefrom inside the cluster1090 ms178 ms276 ms0 / 900
Mem0 open sourcefrom inside the cluster259,902 ms17,248 ms18,278 ms448 / 2,250

Cross-channel continuity accuracy

Share of the valid scenarios the agent answered right, by the judge’s grade. The two references mark the floor and the ceiling. Higher is better.

Same ID on every channel

  • Niadra
    45.4%
  • Mem0 open source
    67.8%
  • Mem0 open source with rerank
    40.4%
  • Whole history in the prompt (reference)
    100%
  • No memory (reference)
    10.1%

Each channel’s own ID

  • Niadra
    45.4%
  • Mem0 open source
    31.6%
  • Mem0 open source with rerank
    20.7%
  • Whole history in the prompt (reference)
    100%
  • No memory (reference)
    10.1%

Accuracy by category, same ID on every channel

Accuracy by category, same ID on every channel
CategoryNiadraMem0 open sourceMem0 open source with rerankWhole history in the prompt (reference)
Continuity97.5%97.5%62.5%100%
Identity2.5%92.5%40%100%
Recurrence21.7%69.6%21.7%100%
Order and time0%62.5%18.8%100%
Promise and action79.3%82.8%41.4%100%
Privacy84.4%3.1%21.9%100%
Changed fact25%50%53.1%100%
Niadra loses to Mem0 with the same ID on every channel (45.4% against 67.8%) and wins when each channel sends its own ID (45.4% against 31.6%). Most likely cause: the model that decides whether a session deserves extraction skipped short sessions that held the fact asked about, and Niadra's context carried the answer in only 46.4% of the cases; in identity (2.5%) and in order and time (0%) the fact almost never reached the context. Mem0's range drops to 19.4% in the third repetition, in which its search came back empty for most questions: the pgvector HNSW index filters by user after the approximate search, and the table already held the customers of the earlier repetitions.
See the numbers as a table
Cross-channel continuity accuracy
SystemScenarioJudgeExact checkValid scenarios
Niadra45.4%46.7%227
Mem0 open sourceSame ID on every channel67.8%70%227
Mem0 open sourceEach channel’s own ID31.6%36.6%227
Mem0 open source with rerankSame ID on every channel40.4%41.7%227
Mem0 open source with rerankEach channel’s own ID20.7%24.2%227
Whole history in the prompt (reference)100%100%227
No memory (reference)10.1%14.1%227

Cost and accuracy

Cost per thousand conversations against accuracy in the same ID scenario. Niadra appears as the range of its price. Up and to the left is better.

Accuracy ↑
Cost per thousand conversations →
lower cost, higher accuracy
  • Niadra $5.00 / $15.00 · 45.4%
  • Mem0 open source $8.51 · 67.8%
  • Mem0 open source with rerank $9.05 · 40.4%
See the numbers as a table
Cost and accuracy
SystemCost per thousand conversationsAccuracy
Niadra$5.00 / $15.0045.4%
Mem0 open source$8.5167.8%
Mem0 open source with rerank$9.0540.4%

Tokens the memory adds to the prompt, per turn

Median per turn, counted with o200k_base. Fewer cost less in your agent’s model and fit better in voice.

  • Niadra
    chat context
    314
  • Niadra
    voice context
    236
  • Mem0 open source
    165
  • Mem0 open source with rerank
    24
  • Whole history in the prompt (reference)
    249
Niadra puts more tokens in the prompt (236 in voice and 314 in chat, against 165 for Mem0 with the same ID): its block always carries the customer header, the update time and the history summary, besides the facts.
See the numbers as a table
Tokens the memory adds to the prompt, per turn
SystemViewMedianp95
Niadrachat context314487
Niadravoice context236322
Mem0 open source165237
Mem0 open source with rerank24209
Whole history in the prompt (reference)249381

Cost of the memory layer per thousand conversations

In dollars, conversations of 10 exchanges, at the public prices of 09/24/2026. Lower is better.

  • Niadra
    list price, highest volume tier
    $5.00
  • Niadra
    list price, lowest volume tier
    $15.00
  • Mem0 open source
    model spend only, measured
    $8.51
  • Mem0 open source with rerank
    model spend only, measured
    $9.05
  • Mem0 Platform
    Hobby plan
    $0.00
  • Mem0 Platform
    Starter plan
    $38.00
  • Mem0 Platform
    Pro plan
    $49.80
The Mem0 open source figure covers only the measured spend on the extraction model; its servers, database and operation are not included. Niadra's price already includes all of that.
See the numbers as a table
Cost of the memory layer per thousand conversations
SystemBasisMemory, per thousand conversationsAgent prompt, per thousand conversationsConversations per month in the quota
Niadralist price, highest volume tier$5.00$1.26
Niadralist price, lowest volume tier$15.00$1.26
Mem0 open sourcemodel spend only, measured$8.51$0.66
Mem0 open source with rerankmodel spend only, measured$9.05$0.10
Mem0 PlatformHobby plan$0.00100
Mem0 PlatformStarter plan$38.00500
Mem0 PlatformPro plan$49.805,000

Sensitive data handed to someone who has not proven who they are

Privacy scenarios in which the memory handed the sensitive value to an unverified conversation. Lower is better.

  • Niadra
    0 of 32
  • Mem0 open source
    Same ID on every channel
    27 of 32
  • Mem0 open source
    Each channel’s own ID
    0 of 32
  • Mem0 open source with rerank
    Same ID on every channel
    21 of 32
  • Mem0 open source with rerank
    Each channel’s own ID
    0 of 32
  • Whole history in the prompt (reference)
    32 of 32
See the numbers as a table
Sensitive data handed to someone who has not proven who they are
SystemScenarioHanded over
Niadra0 of 32
Mem0 open sourceSame ID on every channel27 of 32
Mem0 open sourceEach channel’s own ID0 of 32
Mem0 open source with rerankSame ID on every channel21 of 32
Mem0 open source with rerankEach channel’s own ID0 of 32
Whole history in the prompt (reference)32 of 32

Freshness across channels

Time from the WhatsApp message handed to the memory to the first voice agent read that carries it, median of the trials. Lower is better.

  • Niadra
    358 ms
  • Mem0 open source
    947 ms
See the numbers as a table
Freshness across channels
Systemp50p95Never arrived / trials
Niadra358 ms889 ms0 / 60
Mem0 open source947 ms1,221 ms6 / 60

Memory slow or down

Time until the agent can call its model, with the memory delaying every answer or answering an error, and each one’s client as it ships. Lower is better.

Memory delaying every answer by 2,000 ms

  • Niadra
    151 ms
  • Mem0 open source
    2,099 ms

Memory answering error 503

  • Niadra
    2.5 ms
  • Mem0 open source
    0.9 ms
See the numbers as a table
Memory slow or down
SystemFailurep50maxWithin 1,000 msError reached the agentEmpty context
NiadraMemory delaying every answer by 2,000 ms151 ms153 ms100%0%100%
NiadraMemory answering error 5032.5 ms150 ms100%0%100%
Mem0 open sourceMemory delaying every answer by 2,000 ms2,099 ms2,179 ms0%0%0%
Mem0 open sourceMemory answering error 5030.9 ms2.6 ms100%100%100%

How we measure

  • Where: us-east-2, on the same machine class (m7i-flex.large) and database class (db.t4g.micro) that serve Niadra. Mem0 runs the REST server from its own repository, version v2.2.0 (mem0ai 2.2.0), in a pod of the same cluster, with pgvector in a separate database.
  • Same models: extraction with google/gemini-2.5-flash-lite on both, the same embedder (paraphrase-multilingual-minilm-l12-v2-r1) served by the same server, and one agent (openai/gpt-4.1-mini, temperature zero) answering the probe question with what each memory handed over. The judge (openai/gpt-4.1-mini) follows a published rubric; the exact check looks for the expected value in the answer.
  • Mem0 as its documentation recommends: one add() per exchange, one search() per turn with top_k 10 and similarity threshold 0.1, and the prompt format of its examples. No parameter was tuned for this dataset. The rerank column uses the same extraction model as the reranker.
  • Identity: Mem0 does not resolve identity, so it runs in two scenarios, with the same ID on every channel (its best case) and with each channel’s own ID (when the agents come from different vendors). Niadra receives the same identifiers in both.
  • Dataset: 240 synthetic scenarios in Portuguese and English, from customer service and internal agents, across five industries. A scenario only counts when the agent gets it right with the whole history in the prompt and wrong with none; in this run, 227 passed that rule.
  • Open loop latency, the way turns arrive: 10 and 25 reads per second for 30 s, spread over 20 conversations, measured by the client. Niadra appears from inside the cluster, like Mem0, and also through its public address with TLS.
  • Cost: Niadra’s public price, models included; the extraction model spend of open source Mem0, counted from the usage the provider returns (Mem0’s servers and database are left out); and Mem0 Platform’s public plans divided by each one’s quota.
  • Every measure runs 3 times with new customers on each repetition. The page shows the median and the range between the lowest and the highest.
  • We do not measure LoCoMo, LongMemEval or BEAM: they are long personal conversation sets, publicly disputed, and they do not measure what a Niadra buyer buys.
See the benchmark script

Runs

Runs
DateRegion and machineVersionsScript commitFiles
09/25/2026us-east-2 · m7i-flex.largeNiadra 2026.09.25-1400-5d4d64b · SDK 0.1.5 · mem0ai 2.2.052ed3962026-09-25-6efee4