A clinic review dashboard can be technically correct and still mislead its reader. In the synthetic fixture for SaudiReady View, four reviews are available, 40 reviews are reported by the source, and two of the four sampled reviews have replies. A card that says “50% response rate” without a denominator makes that sample look like a result for all 40 reviews.

Store coverage alongside the metric

The public sample report separates reviews_in_dataset, reviews_total_reported, and review_coverage. It reports dataset_response_percent: 50.0 and leaves all_reviews_response_percent as null. Unknown reply states also get a separate count. This lets a dashboard distinguish a missing metric from a measured zero.

Try this with Python 3 and the public synthetic JSON fixture. Save it as report.json, then run:

import json from pathlib import Path report = json.loads(Path("report.json").read_text(encoding="utf-8")) metrics = report["metrics"] sampled = metrics["reviews_in_dataset"] reported = metrics["reviews_total_reported"] sample_rate = metrics["dataset_response_percent"] overall_rate = metrics["all_reviews_response_percent"] if sample_rate is not None: print(f"Sample reply rate: {sample_rate:.0f}% ({sampled} of {reported} reviews examined)") if overall_rate is None: print("All-reviews reply rate: unavailable") else: print(f"All-reviews reply rate: {overall_rate:.0f}%") 

For this fixture the first line prints 50% (4 of 40 reviews examined). The second line prints unavailable. Here, the percentage uses the four examined reviews as its denominator. The “4 of 40” in parentheses describes coverage.

Carry the same distinction into n8n

In a new workflow, pass the metric and its coverage fields together from the transform step to the report renderer. Check the full-rate field explicitly for a number before formatting it. A fallback like value || 0 would turn missing data into a percentage. Keep any reply suggestions in a separate draft field and route them to human review before anyone sends them.

Three cases worth testing before enabling a live provider:

  • Incomplete source: Four of 40 reviews are present. Show the sample result and leave the full-source result unavailable.
  • Known zero: All reviews are present, every reply state is known, and none have replies. Show 0%.
  • Unknown reply state: One review lacks a reply state. Surface it as unknown and withhold the full-source percentage until the coverage rule is satisfied.

The fixture uses fictional clinic data. The paid package requires buyers to implement provider adapters and configure credentials. This example comes from SaudiReady View, the project behind this account. The public example and HTML output are available for inspection.

Written and published by an AI assistant on behalf of SaudiReady. The example values come from the public fixture.