Pisząc niedawno notkę dotyczącą kryteriów oceny ofert w przetargach na usługi telefonii komórkowej szperałem co nieco po ogłoszeniach o zamówieniu rozmaitych zamawiaczy i pośród tego szperania natknąłem się na ciekawy przypadek (choć nie związany li i jedynie z telefonami komórkowymi, spotkałem się już wcześniej z takimi przypadkami przy innych różnego rodzaju zamówieniach), który natchnął mnie do kolejnej refleksji dotyczącej więcej niż jednego kryterium cenowego.
W napotkanym przypadku zamawiający postawił kilka kryteriów cenowych, korzystając przy tym ze standardowego wzoru na przyznawanie punktów w kryterium ceny – (najniższa cena spośród ocenianych ofert / cena ocenianej oferty) x waga kryterium – oraz zaznaczając, że w przypadku złożenia oferty z ceną 0 zł, do oceny zostanie przyjęta stawka 0,01 zł. Sytuacja taka zdarza się w zamówieniach, zwykle w takich, w których jest kilka osobnych kryteriów cenowych, trudno bowiem oczekiwać od wykonawcy aby wykonali jakiekolwiek zamówienie za absolutne i autentyczne 0 zł. Oczywiście, z jednej strony godna pochwały jest zapobiegliwość zamawiającego. Wszak jeśli zastosujemy ten wzór (bez żadnych dodatkowych zastrzeżeń), a pojawi się oferta z ceną 0, ocena ofert w zapowiedziany sposób nie będzie możliwa. Z drugiej strony… na wiecznie używanym standardowym wzorze świat i matematyka się nie kończą.
Podobne zastrzeżenia spotkać można także w odniesieniu do innych kryteriów. Często spotyka się je np. przy kryterium okresu gwarancji jakości, gdzie zamawiający, aby zabezpieczyć się przed koniecznością oceniania okresów wydłużonych ponad ludzki rozsądek (nie do wyegzekwowania lub zupełnie niepotrzebnych wobec natury przedmiotu zamówienia, który może być użytkowany tylko przez ograniczony okres czasu) wstawiają do kryteriów zastrzeżenie (jakże słusznie), że maksymalny okres gwarancji przyjmowany do oceny to x lat – nawet gdy wykonawca wpisze w ofercie 100 lat, dostanie punktów za ów wcześniej określony, maksymalny z racjonalnego punktu widzenia okres x lat.
Przy gwarancji jednak, jak się zdaje, nie rodzi to większych problemów praktycznych (choć Polak, jak wiadomo, zepsuć potrafi wszystko), natomiast przy cenie – i owszem. Spójrzmy na to w praktyce: jest sobie kryterium oceny ofert „cena za element x”, waga 20%, wzór jak podano wyżej. Trzech wykonawców składa oferty. Wykonawca 1 daje cenę 2000 zł, wykonawca 2 daje cenę 1000 zł, spójrzmy jak się sytuacja zmieni zależnie od tego, jaką cenę da wykonawca 3 (zawsze najtańszy i zawsze zgarniający maksymalne 20 punktów): gdy da 900 zł wykonawca 1 dostanie 18 pkt, a wykonawca 2 – 9 pkt. Na oko wszystko w porządku. Ale gdy da 100 zł, wykonawca 1 dostanie już tylko 2 pkt, a wykonawca 2 – 1 pkt. A gdy da cenę 0 zł, wykonawca 2 i 3 dostaną odpowiednio 0,0002 i 0,0001 pkt. Nie można dyskutować z różnicą pomiędzy wykonawcą 3 a resztą stawki, natomiast absolutnie spłaszczona zostaje różnica między wykonawcą 1 i 2. Tysiąc złotych różnicy w jednym wypadku wart 9 punktów różnicy (i zapewne w innych kryteriach podobnie) nagle staje się być wart tylko 1 pkt, albo nawet mniej. Ba, tysiąc złotych różnicy między cenami wykonawców 1 i 2 oraz tysiąc złotych różnicy między cenami wykonawców 2 i 3 dają absurdalnie odmienne różnice w otrzymanych punktach. Co więcej – problem ten pojawia się nie tylko wtedy, gdy mamy do czynienia z najniższą ceną równą zupełne zero, ale w każdym wypadku, gdy cena ta może zmierzać do zera (np. wymienione w naszym przykładzie 100 zł) – czyli w przypadkach, gdy różnica między ceną minimalną a maksymalną w postępowaniu będzie dużo większa niż sama cena minimalna). Ustawienie kryterium oceny ofert w ten sposób może mieć ogromny wpływ na wyniki oceny ofert, zupełnie nie związany z racjonalnym rachunkiem ekonomicznym.
Jak już wspomniałem, tego typu przypadki zwykle się zdarzają, gdy wykonawcy stosują kilka cenowych kryteriów ofert (rzadko się zdarza, by cena ogółem za całość zamówienia mogła być tak niska; usługi rachunku bankowego to jeszcze inna historia, o której pewnie kiedyś tu napiszę). Jeśli więc na przykład w innych kryteriach wykonawca 3, aby zrekompensować sobie zaoferowane tutaj 100 zł czy 0 zł da tak wysokie stawki, że postępowania jednak nie wygra, konkurencję między wykonawcą 1 i 2 może zdeterminować właśnie to spłaszczenie punktacji, działające zdecydowanie na korzyść najdroższego w tym kryterium oferenta.
To więc kolejny przyczynek do mojej „krucjaty” przeciwko kilku kryterium oceny ofert odnoszącym się do ceny. A jeśli już ktoś naprawdę nie może się obejść bez tych kilku kryteriów (cóż, czasami czynniki wyższe bywają), albo mamy do czynienia z sytuacją, gdy faktycznie oceniamy jedną wartość cenową, która może być bliska lub równa 0, można spróbować odstawić na boczny tor „uświęcony” wzór na przyznawanie punktów i spróbować inaczej – tak, aby funkcja, jaką wyznaczają punkty, które można otrzymać za poszczególne ceny nie była linią krzywą (jak w powyższym przykładzie), ale prostą: niezależnie od tego, jaka będzie minimalna cena w złożonych ofertach, za 0 zł otrzymuje się maksimum punktów, a za określone z góry maksimum – minimalną liczbę punktów. Każdą cenę pomiędzy 0 a maksimum wyliczyć można nawet (w najprostszym ujęciu) na zasadzie prostej proporcji: (cena oferowana / ustalona cena maksymalna) x waga kryterium. 1 punkt będzie mieć w przypadku każdej oferty identyczne odniesienie do 1 zł. Oczywiście, i tu jest haczyk, bo cenę maksymalną trzeba wyszacować na jakimś realnym poziomie i może się zdarzyć, że któryś wykonawca tą cenę przekroczy (a nie można mu tego zabronić). Wówczas wystarczy klauzula, że w takim wypadku zamiast ustalonej ceny maksymalnej stosujemy najwyższą cenę spośród oferowanych. To nieco burzy algorytm, ale zagrożenie z tym związane jest mniejsze niż w przypadku zastosowania „zwykłego” wzoru (bo wciąż są zachowane realne proporcje między ofertami w punktacji, wynikające wprost z różnicy cen). Ale – powtarzam – najlepiej zrezygnować z kilku osobnych kryteriów cenowych :)