"""Synthetic completed-request records in one shared five-minute window.

Python 3 standard library. No external data, network, files, or vendor SDK.
One record is one completed request: no sampling, duplicates, or retries.
"""
from fractions import Fraction


def error_rate(records):
    if not records:
        return None  # No records is not evidence of a zero error rate.
    return Fraction(sum(row["status"] >= 500 for row in records), len(records))


def percent(rate):
    return "unknown" if rate is None else f"{float(rate * 100):.1f}%"


def main():
    records = [
        {"region": region, "status": 503 if i < errors else 200}
        for region, requests, errors in [("A", 100, 10), ("B", 900, 9)]
        for i in range(requests)
    ]
    rates = []
    for region in ["A", "B"]:
        selected = [row for row in records if row["region"] == region]
        rate = error_rate(selected)
        rates.append(rate)
        errors = sum(row["status"] >= 500 for row in selected)
        print(f"Region {region}: {errors}/{len(selected)} = {percent(rate)}")
    unweighted = sum(rates) / len(rates)
    weighted = error_rate(records)
    assert unweighted == Fraction(55, 1000)
    assert weighted == Fraction(19, 1000)
    print("Mean of regional percentages: " + percent(unweighted))
    print("All completed requests: " + percent(weighted))
    assert error_rate([]) is None
    assert error_rate([{"status": 200}]) == 0
    print("No records: " + percent(error_rate([])))


if __name__ == "__main__":
    main()
