Przejdź do treści
zmowy

Jak to działa

Jak wykrywamy zmowy przetargowe

Łączymy ogłoszenia z Biuletynu Zamówień Publicznych z dokumentami z otwarcia ofert i szukamy w nich wzorców z listy kontrolnej OECD. Każdy wzorzec mierzymy w rynku, w którym firmy naprawdę konkurują, i porównujemy z tym, co dałby sam przypadek.

Od ogłoszenia do sygnału

  1. Krok 1: Zbieramy

    Co noc pobieramy z Biuletynu Zamówień Publicznych ogłoszenia o wyniku przetargów, a z platformy e-Zamówienia dokumenty z otwarcia ofert. Biuletyn podaje liczbę ofert, ceny skrajne i zwycięzcę, ale nie mówi, kto jeszcze startował. Pełną listę oferentów mają tylko dokumenty z otwarcia.

    Mechanizm: źródła: BZP (wynik przetargu) + e-Zamówienia (otwarcie ofert)

  2. Krok 2: Czytamy dokumenty

    Z dokumentów z otwarcia odczytujemy imienną listę oferentów z cenami, także ze skanów. Każdy odczyt sprawdzamy z Biuletynem, a gdy dokument podaje ceny jednostkowe albo zawiera oferty odrzucone, wykrywamy to, zanim porównamy liczby.

    Mechanizm: kontrola: liczba ofert = BZP, min/max ±0,01 zł, zwycięzca

  3. Krok 3: Rozpoznajemy firmy

    Oferentów łączymy po NIP. Gdy NIP brakuje, model decyzyjny Jev ocenia, czy dwie nazwy oznaczają tę samą firmę. Z białej listy VAT Ministerstwa Finansów dobieramy status, adresy i rachunki bankowe, a rachunki zapisujemy tylko jako skrót.

    Mechanizm: klucz: NIP; bez NIP: dopasowanie nazwy przez Jev

  4. Krok 4: Wyznaczamy rynki

    Rynek to przetargi, w których te same firmy mogą realnie ze sobą konkurować: ta sama branża według kodu CPV, to samo województwo, okno 36 miesięcy. Każdy wynik liczymy względem tego rynku, bo stała para wykonawców w niszowej branży znaczy co innego niż w budowie dróg.

    Mechanizm: rynek = CPV × województwo × 36 mies.; percentyl w rynku, nie w kraju

  5. Krok 5: Łączymy w sieć

    Budujemy graf, w którym firmy są węzłami, a wspólne starty w tym samym przetargu krawędziami. Algorytm wyszukuje grupy firm, które spotykają się w przetargach częściej, niż wynikałoby z wielkości rynku.

    Mechanizm: węzeł = firma, krawędź = wspólny start w tym samym przetargu

  6. Krok 6: Liczymy sygnały

    Dla każdej grupy liczymy testy z listy kontrolnej OECD: rotację zwycięzców, stały odstęp cen, lukę cenową, podział zamawiających, wspólne rachunki i adresy, spadek cen po wejściu nowej firmy. Tam, gdzie to możliwe, wynik porównujemy z losowymi przetasowaniami w tym samym rynku, żeby oddzielić wzór od przypadku.

    Mechanizm: test permutacyjny: 999 przetasowań zwycięzców w tym samym rynku

  7. Krok 7: Ważymy dowody i publikujemy ostrożnie

    Model decyzyjny Jev dostaje wyniki testów i zwraca skalibrowane prawdopodobieństwo osobno dla każdego punktu OECD. Sygnał musi przejść bramki, a przed publikacją sprawdza go człowiek. Publikujemy go z dowodami, źródłami i możliwymi wyjaśnieniami, bez nazwisk osób, a każda firma może odpowiedzieć.

    Mechanizm: bramki: ≥ 8 przetargów, ≥ 2 zamawiających, ≥ 1 mocna przesłanka

Kluczowe sygnały

Sześć wzorców z listy kontrolnej OECD, na których opiera się większość sygnałów. Przy każdym piszemy, czego szukamy, jak to mierzymy i dlaczego sam wynik nie przesądza o zmowie.

  • kolejne przetargiABCABCobserwacjaBAACCB×999 losowo
    OECD 3.1.6

    Rotacja zwycięzców

    Czego szukamy
    Te same firmy startują razem, a wygrywają po kolei, jakby czekały na swoją kolej.
    Jak mierzymy
    Dla par i grup firm startujących razem liczymy, jak równo dzielą się wygranymi i jak często zwycięzca się zmienia. Wynik porównujemy z 999 losowymi przetasowaniami zwycięzców w tym samym rynku (test permutacyjny), więc mały rynek sam z siebie nie daje sygnału.

    Dlaczego to nie dowód: Firmy z ograniczonymi mocami przerobowymi mogą wygrywać na zmianę bez żadnej umowy.

  • ×1,08×1,08×1,08×1,08zwycięzcaprzegrany
    OECD 3.3.6

    Oferty „dla picu”: stały odstęp cen

    Czego szukamy
    Przegrany składa ofertę tylko po to, żeby przetarg wyglądał na konkurencyjny. Jego cena jest wtedy wyliczona od ceny zwycięzcy.
    Jak mierzymy
    W przetargach, w których para startuje razem, liczymy stosunek ceny przegranego do ceny zwycięzcy. Gdy ten stosunek jest prawie stały (niski współczynnik zmienności), oferta przegranego wygląda na wyliczoną od zwycięskiej.

    Dlaczego to nie dowód: Firmy o podobnych kosztach mogą liczyć ceny według bardzo podobnego cennika.

  • cenalukarozrzutzwycięzca
    OECD 3.3.7

    Luka cenowa

    Czego szukamy
    Zwycięska oferta jest wyraźnie tańsza od reszty, a oferty przegranych leżą blisko siebie, jakby były złożone tylko dla osłony.
    Jak mierzymy
    Odległość ceny zwycięskiej od drugiej oferty porównujemy z rozrzutem pozostałych ofert. Duża luka przy zbitych ofertach przegranych to wzór z listy OECD.

    Dlaczego to nie dowód: Zwycięzca może mieć realną przewagę kosztową, na przykład własny sprzęt na miejscu.

  • zam. 1AAAzam. 2BBBzam. 3CCC
    OECD 3.1.2

    Podział terytorialny

    Czego szukamy
    Grupa firm dzieli między siebie zamawiających: u każdego wygrywa zawsze ten sam członek grupy.
    Jak mierzymy
    Liczymy indeks wyłączności, czyli u ilu zamawiających wygrywa zawsze ten sam członek grupy. Bierzemy tylko przetargi z co najmniej dwiema ofertami, a wynik porównujemy z permutacjami.

    Dlaczego to nie dowód: Lokalna firma bywa po prostu najbliżej zamawiającego i dlatego najtańsza.

  • ABwspólny rachuneksha256: 9f2c…e41konkurenci
    OECD 3.2.11

    Wspólne konto lub adres

    Czego szukamy
    Firmy, które konkurują w tym samym przetargu, mają ten sam rachunek bankowy albo ten sam adres.
    Jak mierzymy
    Rachunki bankowe i adresy bierzemy z białej listy VAT Ministerstwa Finansów. Konkurenci w tym samym przetargu ze wspólnym rachunkiem to najmocniejsza przesłanka. Rachunki przechowujemy wyłącznie jako skrót SHA-256.

    Dlaczego to nie dowód: Wspólny adres bywa wirtualnym biurem albo siedzibą biura rachunkowego.

  • wartość szacunkowanowa firma6 mies. przed6 mies. po
    OECD 3.3.10

    Spadek cen po wejściu nowej firmy

    Czego szukamy
    Gdy na rynek wchodzi nowy wykonawca, ceny nagle spadają, choć nic innego się nie zmieniło.
    Jak mierzymy
    Porównujemy ceny względem wartości szacunkowej 6 miesięcy przed i 6 miesięcy po pierwszym starcie nowego wykonawcy. Wyraźny spadek sugeruje, że wcześniej konkurencja była pozorna.

    Dlaczego to nie dowód: Ceny mogą spaść także z innych powodów, na przykład po spadku cen materiałów.

Jak ważymy dowody

odczyt
Odczyt każdej oferty sprawdzamy z Biuletynem: liczba ofert, ceny skrajne (z wykrywaniem cen jednostkowych i ofert odrzuconych) i zwycięzca.
rynek
Rynek to branża CPV × województwo × 36 miesięcy. Każdy wynik jest percentylem w tym rynku, a nie w całym kraju.
model
Model decyzyjny Jev (TypeSafe AI) zwraca skalibrowane prawdopodobieństwo osobno dla każdego punktu OECD, a nie opis tekstowy.
bramki
Co najmniej 8 przetargów, co najmniej 2 zamawiających i co najmniej jedna mocna przesłanka: rotacja, stały odstęp cen, podział terytorialny, wspólny rachunek lub adres albo spadek cen po wejściu nowej firmy. Słabe przesłanki same nie wystarczą.
człowiek
Każdy sygnał przed publikacją weryfikujemy ręcznie.