Собрать отчёт по доставке с собственными правилами

Результат настоящего запуска PHP с PDO_SQLITE. Собственный учебный файл базы после наблюдений удалён; полезная выгрузка сохранена.

Результат выполнения
НаблюдениеРезультат
Групп отчёта4
Медиана задержек A, мин40
Медиана задержек B, мин80
Пустая группаnull
Порядокlate → on_time → unknown
Файлservice-metrics.csv
Полученные строки и наблюдения
{
    "report": [
        {
            "service": "A",
            "status": "late",
            "median_minutes": 40.0,
            "samples": 2
        },
        {
            "service": "B",
            "status": "late",
            "median_minutes": 80.0,
            "samples": 2
        },
        {
            "service": "A",
            "status": "on_time",
            "median_minutes": 25.0,
            "samples": 1
        },
        {
            "service": "B",
            "status": "unknown",
            "median_minutes": null,
            "samples": 0
        }
    ],
    "input": [
        [
            1,
            "A",
            35,
            " LATE "
        ],
        [
            2,
            "A",
            45,
            "late"
        ],
        [
            3,
            "A",
            25,
            "OK"
        ],
        [
            4,
            "B",
            70,
            "late"
        ],
        [
            5,
            "B",
            90,
            "LATE"
        ],
        [
            6,
            "B",
            null,
            null
        ]
    ],
    "empty_group": null,
    "group_limit": 100
}

result.json содержит те же данные.