Skip to content

[Данни]: 1 930 анекса не се свързват с договор - номерът на договора е в друго именно пространство #306

Description

@todorkolev

Какъв е проблемът с данните

1 930 анекса (7.2% от всички) не се свързват с нито един договор. #286 поправи половината от проблема - страната на процедурата (OCID вместо УНП). Остатъкът се чупи на другата ос: номера на договора.

Измерено на пълен локален пребилд от 12.08.2026 (период 2020 - 11.08.2026, 26 921 анекса, 24 991 свързани).

Не е проблем нито с УНП, нито с липсващи данни. Разбивка на 1 930-те:

Проверка Брой
с празен номер на договор 0
с празен УНП 0
УНП, който изобщо го няма в tenders 0
процедурата съществува, но няма нито един договор по нея 12
процедурата ИМА договори, но никой не носи този номер 1 918

Всичките 1 930 са от емисията на ЦАИС ЕОП, нула от OCDS - тоест мостът от #286 работи (0 останали OCID-а в полето unp, 0 отказа заради двусмислие).

Причината: номерата са в различни именни пространства. Анексът носи вътрешен номер, а договорът - деловодния номер на възложителя:

УНП номер в анекса номера на договорите по същата процедура
00009-2021-0007 148846 Д-226
00010-2021-0002 36474 АО-05-26
00011-2020-0002 2886 387-2020, 388-2020
00017-2020-0041 11725 ОП-3-016/03.02.2021г.
00004-2020-0022 24035 30

1 858 от 1 930 (96%) носят чисто число, а при 1 068 от тях договорът насреща е с нецифров номер. За тях никаква нормализация на низа не може да помогне - това са два несъвместими идентификатора, същият клас проблем като #286, но на оста „договор" вместо на оста „процедура".

Форматирането е пренебрежима част. Проверено поотделно:

Разхлабване Спасени
TRIM + UPPER 0
само цифри (махане на -, /, интервал, точка) 11
номерът на анекса е подниз на номера на договора 19 (от тях 17 еднозначни)

Случаи като №ОП-3-202 срещу Договор №ОП-3-202/25.11.2020 съществуват, но са около 1% от остатъка. Хипотезата „просто мръсни низове" не се потвърждава.

Има безопасен резерв: 1 012 от 1 930 (52%) висят на процедура с точно един договор. Там свързването само по УНП е еднозначно и не може да сбърка адресата. Единственият остатъчен риск е, ако договорът, за който е анексът, още не е пристигнал в емисията - тоест същият клас, който #249 описва.

Защо си заслужава. Остатъкът вече не е „безобиден":

  • 554 от 1 930 (28.7%) променят цената;
  • за сравнение, при свързаните анекси делът е 27.1% (6 781 от 24 991).

По-ранното наблюдение, че несвързаните са предимно срокови и административни изменения (около 10% ценови), вече не важи. То се дължеше на OCDS редовете, които бяха точно такива и сега са свързани. Останалото е обикновена популация. Тоест аргументът „дефектът бездруго не засяга цените" отпада.

Какво влияе. Свързването е нужно за всяко число, което минава през веригата анекс -> договор -> фирма или възложител: класациите по фирма и по възложител, разбивката по вид договор, броят договори с анекс. Общите бройки и сумите върху самите анекси не се влияят.

Измерено с максимално разхлабване (все още несвързаните се приписват само по УНП): максимумът за едно ЕИК по анекси с ръст се вдига от 106 на 130, а по явно описана индексация остава 19.

Конкретен пример (адрес / ЕИК / УНП)

00009-2021-0007 (анекс 148846 срещу договор Д-226); също 00011-2020-0002, 00017-2020-0041, 00004-2020-0022

Източник за правилната стойност (по желание)

No response

Преди да изпратите

  • Потърсих съществуващ issue за същия запис или проблем.

Проверени за дублиране: #286 (затворен, покрива само OCDS половината), #249 (липсващи договори - съседен, но не същият), както и issue-та и PR-и по думите „несвързани", „contract_number", „анекс".

Metadata

Metadata

Assignees

No one assigned

    Labels

    data-qualityКачество/коректност на данните (ETL, регистри)etlОбласт: etlpriority: highВисок приоритет

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions