Wszystkie wpisy

Jak KORENA zbudowała indeks cen drewna w oparciu o FourA

KORENA stworzyła codzienny europejski indeks cen drewna w oparciu o portale leśne, pliki PDF z aukcji i dziesięć walut. FourA stanowi warstwę requestów, która za tym stoi.

Dane o cenach drewna w Europie są technicznie publiczne, ale w praktyce bezużyteczne. Jeden kraj podaje ceny dębu w euro za metr sześcienny, bez podatku. Sąsiednie państwo udostępnia ceny buka w lokalnej walucie, z podatkiem, ukryte w skanowanym pliku PDF bez warstwy tekstowej. Co gorsza, drzewa na pniu, kłody przy drodze i wybrane partie aukcyjne są często notowane obok siebie, jakby były identycznymi produktami.

Surowe dane istnieją. Analiza rynkowa nie.

KORENA uruchomiła KORENA Timber Index, aby to naprawić. Rezultatem jest codzienny, bezpłatny punkt odniesienia dla cen europejskiego drewna liściastego, tarcicy i płyt. Od połowy 2026 roku indeks śledzi około dwudziestu gatunków i 170 regionalnych wierszy cenowych w dziesięciu krajach (Rumunia, Niemcy, Bułgaria, Polska, Francja, Austria, Włochy, Finlandia, Norwegia, Szwecja), a także na poziomie rynku ogólnoeuropejskiego.

Aby dwuosobowy zespół inżynierów mógł ogarnąć tak duży obszar, KORENA musiała podjąć jedną kluczową decyzję: kto zajmie się siecią. Wybrali FourA i przepuścili przez niego cały ruch.

Jedna brama do sieci

KORENA na wczesnym etapie dokonała wyboru architektonicznego: każdy zewnętrzny request sieciowy przechodzi przez FourA. Pozbyli się przypadkowych scraperów, jednorazowych skryptów i niestandardowych poleceń ukrytych w kodzie.

Nie chodziło o wygodę. Chodziło o spójność. Portale leśne zachowują się nieprzewidywalnie. Niektóre to statyczne strony HTML. Inne to nowoczesne platformy aukcyjne, które wyświetlają dane dopiero po wyrenderowaniu ich przez przeglądarkę. Witryny rządowe są często powolne, przestarzałe lub silnie zabezpieczone.

Kierując cały ruch przez infrastrukturę requestów FourA, KORENA obsługuje ponowne próby, backoff, logowanie i alerty w ten sam sposób dla każdego źródła. Każdy pobrany dokument może być zahaszowany, zapisany i powiązany z ostateczną ceną na potrzeby audytu.

Wybór odpowiedniej strategii pobierania dla każdego źródła

Zamiast kodować na sztywno logikę scrapowania dla każdej witryny, KORENA mapuje każde źródło danych na konkretny endpoint FourA bezpośrednio w swojej bazie danych (zobacz wybór odpowiedniego typu zadania w celu uzyskania pełnego zestawienia). Mogą zmieniać strategie bez dotykania głównego kodu analizującego:

  • Single (/single/): statyczne strony HTML, kanały XML i bezpośrednie pobieranie plików PDF. Niemieckie raporty statystyczne, aktualizacje bułgarskiego leśnictwa państwowego, rumuńskie tabele cenowe. Szybkie, lekkie, odpowiednie domyślne rozwiązanie dla większości witryn.

  • Browser (/browser/): interaktywne aplikacje internetowe, które wymagają rzeczywistego kontekstu przeglądarki. Polska platforma aukcyjna e-Drewno wymaga renderowania, zanim pojawią się liczby. Początkowy HTML nie zawiera niczego przydatnego.

  • Proxy Finder (/proxy/): rozwiązanie awaryjne dla najtrudniejszych celów. Silniejsza rotacja oraz unblocker: true dla zabezpieczeń antybotowych na poziomie handshake.

Ponieważ jest to ustawienie dla konkretnego źródła, a nie skrypt zakodowany na sztywno, KORENA może przenieść źródło z Single do Browser lub Proxy Finder, gdy witryna zmieni swoje zabezpieczenia. Warstwa analizująca w ogóle tego nie widzi.

Skanowane pliki PDF: najtrudniejsza część

Nowoczesne sieciowe API są proste. Najtrudniejszym przypadkiem do zautomatyzowania są pliki PDF zawierające wyłącznie obrazy. Cenniki i wyniki aukcji publikowane jako skany, zupełnie bez warstwy tekstowej. Dla człowieka to irytujące. Dla codziennego indeksu to blokada całego pipeline'u.

Pipeline firmy KORENA radzi sobie z nimi dzięki jasnemu podziałowi pracy:

  • Pobieranie: FourA pobiera surowe bajty PDF, codziennie, niezawodnie.

  • Ocena tekstu: KORENA sprawdza plik pod kątem użytecznej natywnej warstwy tekstowej.

  • Przetwarzanie i ekstrakcja: jeśli PDF jest płaskim obrazem, KORENA rasteryzuje strony i przepuszcza je przez OCR oraz ekstrakcję dokumentów opartą na AI, stosując niestandardowe wskazówki językowe i słowniki gatunków, aby wychwycić lokalną terminologię leśną.

  • Walidacja schematu: dane wyjściowe są walidowane pod kątem tego samego schematu, co każde inne źródło.

Nic z tego nie zadziała, jeśli nie można niezawodnie pobierać dokumentu każdego dnia. To jest krok, za który odpowiada FourA.

Pobieranie a rozumienie danych: jasny podział

Zadaniem FourA jest niezawodne dostarczanie surowych bajtów. Nie musi wiedzieć nic o drewnie. Dzięki temu KORENA może skupić całą swoją energię na tym, co naprawdę potrafi: przekształcaniu chaotycznych danych w ustandaryzowany indeks. Wszystko, co specyficzne dla domeny, pozostaje po stronie KORENA. HTML jest analizowany lokalnie, cyfrowe pliki PDF są odczytywane za pomocą pdfjs-dist, a skanowane pliki PDF są przetwarzane przez OCR.

Krok normalizacji to moment, w którym surowe liczby stają się indeksem. Cena drzewa na pniu to nie to samo co cena kłody tartacznej, a wynik lokalnej aukcji zawierający VAT nie jest bezpośrednio porównywalny z ofertą eksportową netto. Aby zamienić surowe liczby w porównywalne analizy rynkowe, KORENA konwertuje wszystkie dane do jednego standardu: euro za metr sześcienny, bez VAT, ekwiwalent dostarczony.

Aby zrobić to dokładnie, system uwzględnia:

Indeks utrzymuje również podział na różne poziomy rynku. Drewno okrągłe luzem, aukcje drewna wartościowego i oferty detaliczne pojawiają się jako osobne kategorie i nigdy nie są ze sobą łączone. Wyjątkowa partia aukcyjna premium nie zaburza linii bazowej.

W tym podziale tkwi sens: FourA rozwiązuje problem dostępu do sieci, KORENA rozwiązuje problem drewna. Żadne z nich nie staje się czarną skrzynką, od której zależy drugie.

Dlaczego przejrzystość cen drewna nagle stała się pilna

Surowsze europejskie regulacje, w tym rozporządzenie UE w sprawie wylesiania (EUDR), popychają rynek drewna w kierunku pełnej identyfikowalności i czystszej dokumentacji pochodzenia. Przejrzystość cen to druga połowa tego równania. Producenci drewna porównujący wartości regionalne, nabywcy weryfikujący oferty i cyfrowe platformy handlowe ustalające stawki bazowe potrzebują codziennych, lokalnych i porównywalnych danych. Nie przestarzałych średnich rocznych. Nie jednorazowych lokalnych liczb.

Dla małego, dwuosobowego zespołu inżynierów obsługującego dziesięć krajów i setki nieprzewidywalnych formatów internetowych, zarządzanie infrastrukturą proxy, flotami przeglądarek i obejściami antybotowymi byłoby stratą czasu (zobacz ukryty koszt utrzymania własnych scraperów w celu zapoznania się z pełnymi wyliczeniami). FourA obsługuje warstwę requestów. KORENA zyskuje czas na skupienie się na normalizacji gatunków, dostrajaniu OCR, logice cenowej i ścieżkach audytu, czyli pracy, którą tylko oni mogą wykonać.

Codzienne ceny drewna oznaczały kiedyś telefon do regionalnego brokera. Teraz każdy może samodzielnie wykreślić krzywą na stronie timber-index.korena.eu. Kolejne dziesięć produktów typu Index nie będzie miało czasu na budowanie warstwy pobierania od zera. Na to właśnie stawiamy.


Budujesz produkt w oparciu o publiczne dane internetowe i masz dość utrzymywania własnych scraperów oraz infrastruktury proxy? Zacznij korzystać z FourA.