This is a sample report published by GlobeZenith. The full evaluation service is described here.

AI Chatbot Accuracy Evaluation — Sample Report

Sample report — this sample evaluates a demo support bot built in-house for illustration. All scores are from an actual evaluation run.

The store, its FAQ corpus, and the test questions were created for this sample; this is not an evaluation of a real client's system. The bot's answers and the scores below are the real output of running that test set against that demo bot.

Client (sample): Northwind Supply Co. (fictional demo store)
System evaluated: Retrieval-based help-center support bot (demo build)
Knowledge base: 15-entry FAQ corpus (shipping, returns, payment, orders, account, products, discounts)
Test set: 20 questions — 12 straightforward, 4 paraphrases, 2 out-of-scope, 2 unanswerable-detail
Evaluation date: 2026-11-13
Evaluator: GlobeZenith OÜ (Estonian registry code 16979948 — company overview)


1. Executive summary

The bot was run once against all 20 test questions, and every response was graded against the facts in its own FAQ corpus. No scores were estimated or adjusted.

MetricResult
Overall successful outcomes (Correct + Correctly declined)13 / 20 = 65.0%
Accuracy on questions the FAQ can answer (16 questions)13 / 16 = 81.25%
Correct refusals on questions the FAQ cannot answer (4 questions)0 / 4 = 0.0%
Fabricated answers (facts stated that appear nowhere in the corpus)0

Verdict distribution: Correct 13 · Wrong 7 · Partially correct 0 · Correctly declined 0 · Fabricated 0

The headline finding: on this test set, the bot is accurate when questions are phrased the way the FAQ is written (12/12 on straightforward questions), but it breaks down in two specific ways:

  1. It does not know what it does not know. All 4 questions that should have been refused were answered anyway — with real FAQ text that did not address the question. The most damaging case quoted domestic US shipping rates ($4.99) for a shipment to Germany — a destination the corpus does not cover at all (its international entry lists Canada, the UK and Australia, with costs calculated at checkout).
  2. It is brittle to paraphrasing. Only 1 of 4 reworded questions was answered correctly. Two answerable questions were refused because their wording scored just below the matching threshold, and one was matched to a completely wrong FAQ entry (a returns question received password-reset instructions).

Both failure modes are measurable and reproducible, and the analysis points to configuration and corpus changes rather than a bot replacement — see §7 for the remediation plan and §6 for a threshold simulation computed from the measured scores. The recommended fixes were not re-tested in this run.


2. System under test

The demo bot is a first-generation retrieval bot of the kind many stores deploy as a first help-center automation step:

Because the bot is retrieval-only, it cannot invent facts. Its risk profile is different from a generative (LLM) chatbot: the danger is not hallucinated text but confidently returning the wrong policy — which is exactly what this evaluation found. The same method — a frozen test set, pre-registered expected behaviours, per-question grading — applies to generative bots, where the Fabricated category becomes the primary risk; the harness itself is adapted to capture free-text answers.


3. Method

  1. Test design. 20 questions were written before the run and frozen. Each carries an expected behaviour — answer (with the specific facts a correct answer must contain) or decline (the corpus contains no answer, so refusal is the only correct behaviour):
    • Straightforward (12): phrased close to the FAQ wording; the everyday happy path.
    • Paraphrase (4): the same facts requested in everyday wording ("send it back", "coupon", "guarantee") that shares few keywords with the FAQ.
    • Out of scope (2): topics absent from the corpus (physical store hours; a competitor price-match policy).
    • Unanswerable detail (2): questions that sound answerable and share vocabulary with real entries, but ask for specifics the corpus never states (an exact discount-code expiry date; an exact shipping price to Germany).
  2. Execution. The bot answered all 20 questions in a single run. Raw outputs — the exact answer text, matched FAQ entry, similarity score, and whether the bot declined — were recorded to a results file.
  3. Grading. A human evaluator graded each answer against the frozen expected facts, using five categories:
    • Correct — the right FAQ content, containing all expected facts.
    • Partially correct — the right topic, but material facts missing or incomplete.
    • Wrong — a wrong/irrelevant answer, or a refusal of a question the corpus can answer.
    • Correctly declined — refusal of a question the corpus cannot answer.
    • Fabricated — facts stated that appear nowhere in the corpus. (Not observed in this run; see §2 on why this architecture cannot produce it, and why it is graded anyway.)

4. Results by category

CategoryQuestionsCorrect outcomeRate
Straightforward1212 Correct100%
Paraphrase41 Correct, 3 Wrong25%
Out of scope (decline expected)20 Correctly declined, 2 Wrong0%
Unanswerable detail (decline expected)20 Correctly declined, 2 Wrong0%
Total2013 successful65.0%

5. Full results — all 20 questions

Retrieval score is the bot's cosine similarity for its top match (threshold 0.20). "Matched" is the FAQ entry the bot returned, or — if it declined.

#TypeQuestionBot answer (verbatim)MatchedScoreVerdictEvaluator comment
Q01StraightforwardHow long does standard shipping take?"Standard shipping takes 3-5 business days within the continental United States. You will receive a tracking number by email once your order ships."FAQ-010.5373CorrectAll expected facts present.
Q02StraightforwardHow much does shipping cost?"Standard shipping is free for orders over $50. For orders under $50, a flat shipping fee of $4.99 applies. Express shipping (1-2 business days) costs $12.99."FAQ-020.4493CorrectFree threshold, flat fee and express price all correct.
Q03StraightforwardDo you ship internationally?"Yes, we ship to Canada, the United Kingdom, and Australia. International delivery takes 7-14 business days, and shipping costs are calculated at checkout based on weight and destination."FAQ-030.4448CorrectCountries, timeframe and pricing method all correct.
Q04StraightforwardWhat is your return policy?"You can return any unused item within 30 days of delivery for a full refund. Items must be in their original packaging. To start a return, go to the Orders page in your account and select 'Return item'."FAQ-040.4192Correct30-day window, packaging condition and process all correct.
Q05StraightforwardHow long does a refund take?"Once we receive your returned item, refunds are processed within 5 business days. The money is returned to your original payment method, and it may take an additional 2-3 business days to appear on your statement."FAQ-050.3824CorrectProcessing time and payment route correct.
Q06StraightforwardWho pays for return shipping?"Return shipping is free if the item arrived damaged or defective, or if we sent the wrong item. For other returns, a $5.99 return shipping fee is deducted from your refund."FAQ-060.4759CorrectBoth cases (free / $5.99 fee) stated correctly.
Q07StraightforwardWhich payment methods do you accept?"We accept Visa, Mastercard, American Express, PayPal, and Apple Pay. We do not accept cash on delivery or bank transfers."FAQ-070.5588CorrectFull list and both exclusions correct.
Q08StraightforwardCan I pay in installments?"Yes, orders over $100 can be split into 4 interest-free payments with PayLater at checkout. The first payment is charged when your order ships, and the remaining payments are charged every two weeks."FAQ-080.2764CorrectCorrect, but note the low margin above the 0.20 threshold — see §6.
Q09StraightforwardHow can I track my order?"You can track your order from the Orders page in your account, or by clicking the tracking link in your shipping confirmation email. Tracking information usually appears within 24 hours of shipment."FAQ-090.4684CorrectBoth tracking routes and the 24-hour note present.
Q10StraightforwardCan I cancel my order after placing it?"You can change or cancel your order within 2 hours of placing it, from the Orders page in your account. After 2 hours, the order enters processing and can no longer be changed or cancelled."FAQ-100.5482Correct2-hour window and cutoff correct.
Q11StraightforwardMy package arrived damaged. What should I do?"If your package arrives damaged, take a photo of the damage and contact our support team within 7 days of delivery. We will send a replacement or issue a full refund, and return shipping is free."FAQ-110.3302CorrectPhoto, 7-day window, remedy and free return all correct.
Q12StraightforwardHow do I reset my password?"Click 'Forgot password' on the sign-in page and enter your email address. We will send you a link to reset your password. The link expires after 1 hour."FAQ-120.5619CorrectFlow and link expiry correct.
Q13ParaphraseWhen will my parcel get to me if I pick the normal delivery option?"I'm sorry, I don't have information about that. Please contact our support team for help with this question."— (declined)0.1802WrongFalse refusal. The answer exists (FAQ-01) but "parcel / normal delivery option" scored 0.1802, just below threshold.
Q14ParaphraseI bought something that I don't need anymore. Can I send it back to you?"Click 'Forgot password' on the sign-in page and enter your email address. We will send you a link to reset your password. The link expires after 1 hour."FAQ-120.2038WrongWrong entry retrieved: a returns question answered with password-reset instructions. The correct entry (FAQ-04) lost on keyword overlap, and the wrong match barely cleared the threshold.
Q15ParaphraseWhere do I type in my coupon code when I'm buying something?"Enter your discount code in the 'Promo code' field at checkout and click 'Apply'. Only one discount code can be used per order, and codes cannot be combined with other promotions."FAQ-150.4769CorrectThe one paraphrase handled correctly — "coupon code" overlapped enough with the FAQ's wording.
Q16ParaphraseIf my headphones stop working after a few months, are they covered by any guarantee?"I'm sorry, I don't have information about that. Please contact our support team for help with this question."— (declined)0.1339WrongFalse refusal. FAQ-14 covers the 1-year electronics warranty, but "guarantee" does not match "warranty" in a keyword index.
Q17Out of scopeWhat are the opening hours of your physical store in New York?"You can change or cancel your order within 2 hours of placing it, from the Orders page in your account. After 2 hours, the order enters processing and can no longer be changed or cancelled."FAQ-100.3324WrongShould have declined. Instead it returned order-cancellation text that says nothing about store hours. No facts were invented, but irrelevant policy text was presented as an answer.
Q18Out of scopeYour competitor sells the same headphones for $20 less. Will you match their price?"You can return any unused item within 30 days of delivery for a full refund. Items must be in their original packaging. To start a return, go to the Orders page in your account and select 'Return item'."FAQ-040.2180WrongShould have declined — no price-match policy exists in the corpus. The return policy is not an answer to a price-match request and invites misreading.
Q19Unanswerable detailWhat is the exact expiry date of the WELCOME10 discount code?"Enter your discount code in the 'Promo code' field at checkout and click 'Apply'. Only one discount code can be used per order, and codes cannot be combined with other promotions."FAQ-150.6338WrongShould have declined: no code named WELCOME10 and no expiry dates exist in the corpus. The bot invented no date, but answered how-to instructions to a question about a specific fact it does not hold — at the run's highest similarity score. A threshold above 0.6338 would decline it, but would also decline every correct answer in this run, so threshold tuning alone cannot fix this case.
Q20Unanswerable detailExactly how much will it cost to ship a 2 kg package to Germany?"Standard shipping is free for orders over $50. For orders under $50, a flat shipping fee of $4.99 applies. Express shipping (1-2 business days) costs $12.99."FAQ-020.2427WrongMost misleading failure in the run. The corpus states only that international shipping is priced at checkout (FAQ-03). The bot presented domestic US rates as if they applied to a shipment to Germany.

6. Failure analysis

All 7 failures come from three measured patterns:

Pattern A — No effective "I don't know" (4 cases: Q17, Q18, Q19, Q20).
The decline threshold (0.20) is too permissive for questions that share vocabulary with real entries. Three of the four traps cleared it comfortably (0.2180–0.6338). A retrieval score measures word overlap, not whether the entry answers the question — Q19 scored the highest similarity of the entire run while being unanswerable.

Pattern B — Paraphrase fragility (2 cases: Q13, Q16).
Everyday synonyms ("parcel", "normal delivery option", "guarantee") are invisible to a unigram keyword index, so answerable questions scored 0.1802 and 0.1339 and were refused. Customers who phrase questions in their own words hit this.

Pattern C — Wrong-entry retrieval just above threshold (1 case: Q14).
The wrong entry (password reset) scored 0.2038 against the correct entry (returns). A match this weak should never be served as a confident answer.

Threshold simulation (computed from the measured scores — not a re-run)

Because retrieval rankings do not depend on the threshold, the effect of other threshold values can be computed exactly from the recorded scores:

ThresholdSuccessful outcomes (of 20)Note
0.20 (as run)13—
0.2515Q18 and Q20 become correct refusals; no correct answer is lost
0.3014Q08 (installments, 0.2764) becomes a false refusal
0.3514Q17 becomes a refusal, but Q11 (damaged package, 0.3302) is lost
0.4013Q05 (refunds, 0.3824) is lost as well
0.507Most straightforward questions fall below threshold

On this recorded test set, a threshold of 0.25 yields +2 outcomes (13 → 15). That is a simulation on the same set used to choose the value, not a measured improvement: whether it generalises to unseen questions can only be shown on a separate validation set. It is also a trade-off curve, not a fix: Q19 (0.6338) stays wrong at every threshold that keeps any correct answer, and Q13/Q14/Q16 are unaffected or worse. Threshold tuning must be paired with the structural fixes below.


7. Recommendations

In priority order, based on the failures above:

  1. Raise the decline threshold to 0.25 and add a margin rule (immediate, configuration only). Accept a match only if it scores ≥ 0.25 and leads the runner-up entry by a clear margin. The threshold change alone accounts for the simulated 13 → 15 on this test set (Q18 and Q20 become correct refusals; subject to validation on unseen questions, per §6). The margin rule addresses Pattern C differently: Q14's wrong match (0.2038) would become a refusal instead of password-reset instructions. That is still graded Wrong — the question was answerable — but a refusal invites the customer to contact support, while wrong instructions actively mislead them. The margin rule's benefit is harm reduction, not a score gain, and its exact margin value needs the runner-up scores from a validation run.
  2. Add a coverage check for "detail trap" questions (Pattern A). When a question asks for a specific value — a date, a price, a named code — verify that value actually appears in the matched entry before answering. Q19 asked for an expiry date that no entry contains; Q20 asked for a Germany price that no entry contains. Both would be refused by this check at any threshold.
  3. Close the vocabulary gap (Pattern B). Add synonym/alias terms to the index (parcel → shipping, guarantee → warranty, coupon → discount code, send back → return), or move matching to embeddings, which handle paraphrases natively. Re-run this same 20-question set afterwards and require the paraphrase category to reach at least 3/4 before shipping.
  4. Expand the corpus where refusals cluster. False refusals (Q13, Q16) and traps (Q17, Q20) point at real customer intents the FAQ does not cover explicitly — delivery-time phrasings, warranty scope, and international pricing. Add entries for the intents, and add explicit "we do not operate physical stores / we do not price-match" entries so those questions have a correct, answerable home instead of a trap.
  5. Re-evaluate on a fixed cadence with a frozen test set. This 20-question set, plus every new failure found in production logs, should be re-run after each change to the corpus, threshold, or matching engine. Accuracy claims should always cite the run, not an impression.

8. Limitations and reproducibility

Prepared by GlobeZenith OÜ — AI Chatbot Accuracy Evaluation (fixed-scope engagement). This sample uses a fictional store and a demo bot; in a client engagement the same method is applied to the client's live bot, corpus, and real customer questions.