전체 글

KORENA가 FourA를 통해 목재 가격 지수를 구축한 방법

KORENA는 산림 포털, 경매 PDF, 10개 통화를 기반으로 일일 유럽 목재 가격 지수를 구축했습니다. FourA는 그 이면의 request 레이어입니다.

유럽의 목재 가격 데이터는 기술적으로는 공개되어 있지만, 실제로는 사용하기가 거의 불가능합니다. 한 국가는 참나무 가격을 세금 제외, 입방미터당 유로화로 표시합니다. 이웃 국가는 텍스트 검색이 불가능한 스캔된 PDF 파일 깊숙한 곳에 세금 포함, 현지 통화로 된 너도밤나무 가격을 공유합니다. 설상가상으로 입목(standing trees), 임도변 원목(roadside logs), 엄선된 경매 물량이 마치 동일한 제품인 것처럼 나란히 표기되기도 합니다.

원시 데이터는 존재합니다. 시장 인텔리전스는 존재하지 않습니다.

KORENA는 이를 해결하기 위해 KORENA Timber Index를 출시했습니다. 그 결과 유럽산 활엽수, 목재, 슬래브 가격에 대해 매일 자유롭게 접근할 수 있는 기준이 마련되었습니다. 2026년 중반 현재, 이 지수는 10개국(루마니아, 독일, 불가리아, 폴란드, 프랑스, 오스트리아, 이탈리아, 핀란드, 노르웨이, 스웨덴)에 걸쳐 약 24개 수종과 170개의 지역별 가격 행을 추적하며, 범유럽 마켓플레이스 등급도 제공합니다.

단 두 명의 엔지니어링 팀이 이토록 넓은 범위를 커버하기 위해, KORENA는 한 가지 결정을 먼저 내려야 했습니다. 바로 웹을 누가 처리할 것인가였습니다. 그들은 FourA를 선택했고, 모든 것을 이를 통해 라우팅했습니다.

One Gateway to the Web

KORENA는 초기에 아키텍처적 결정을 내렸습니다. 모든 외부 웹 request는 FourA를 거치도록 하는 것이었습니다. 이들은 코드베이스 내부에 숨겨진 임시 스크래퍼, 일회성 스크립트, 커스텀 명령어를 모두 제거했습니다.

편의성 때문이 아니었습니다. 일관성 때문이었습니다. 산림 포털은 예측 불가능하게 작동합니다. 일부는 정적 HTML 페이지입니다. 다른 것들은 브라우저가 렌더링한 후에만 데이터를 표시하는 현대적인 경매 플랫폼입니다. 정부 사이트는 종종 느리거나, 노후화되었거나, 강력하게 보호되어 있습니다.

모든 트래픽을 FourA의 request 인프라를 통해 라우팅함으로써, KORENA는 모든 소스에 대해 동일한 방식으로 재시도, 백오프, 로깅, 알림을 처리합니다. 그리고 수집된 모든 문서는 감사(auditing)를 위해 해시 처리되고, 저장되며, 최종 가격까지 추적될 수 있습니다.

Picking the Right Fetch Strategy Per Source

모든 사이트에 대해 스크래핑 로직을 하드코딩하는 대신, KORENA는 데이터베이스에서 직접 각 데이터 소스를 특정 FourA endpoint에 매핑합니다(자세한 분석은 적절한 작업 유형 선택하기를 참조하세요). 이들은 핵심 파싱 코드를 수정하지 않고도 전략을 전환할 수 있습니다:

  • Single (/single/): 정적 HTML 페이지, XML 피드, 직접 PDF 다운로드. 독일 통계 보고서, 불가리아 주 정부 산림 업데이트, 루마니아 가격표 등. 빠르고 가벼우며 대부분의 사이트에 적합한 기본값입니다.

  • Browser (/browser/): 실제 브라우저 컨텍스트가 필요한 대화형 웹 애플리케이션. 폴란드의 e-Drewno 경매 플랫폼은 숫자가 표시되기 전에 렌더링이 필요합니다. 초기 HTML에는 유용한 정보가 전혀 없습니다.

  • Proxy Finder (/proxy/): 가장 까다로운 대상을 위한 폴백(fallback). 더 강력한 로테이션과 핸드셰이크 수준의 안티봇 장벽을 우회하기 위한 unblocker: true가 포함됩니다.

이것은 하드코딩된 스크립트가 아니라 소스별 설정이기 때문에, 사이트가 방어 체계를 변경할 때 KORENA는 소스를 Single에서 Browser로, 다시 Proxy Finder로 전환할 수 있습니다. 파싱 레이어는 이를 전혀 감지하지 못합니다.

Scanned PDFs: The Hardest Part

현대적인 웹 API는 직관적입니다. 자동화하기 가장 어려운 케이스는 이미지로만 구성된 PDF입니다. 텍스트 레이어가 전혀 없이 스캔본으로 게시된 가격표와 경매 결과가 이에 해당합니다. 사람에게는 성가신 일입니다. 일일 지수를 구축하는 관점에서는 파이프라인이 중단되는 문제입니다.

KORENA의 파이프라인은 명확한 역할 분담을 통해 이를 처리합니다:

  • Retrieval: FourA가 매일 안정적으로 원시 PDF 바이트를 다운로드합니다.

  • Text evaluation: KORENA가 파일에 사용할 수 있는 기본 텍스트 레이어가 있는지 확인합니다.

  • Processing and extraction: PDF가 평면 이미지인 경우, KORENA는 페이지를 래스터화하고 OCR 및 AI 문서 추출을 통해 처리하며, 현지 산림 용어를 포착하기 위해 맞춤형 언어 힌트와 수종 사전을 적용합니다.

  • Schema validation: 출력 결과는 다른 모든 소스와 동일한 스키마에 맞춰 검증됩니다.

매일 안정적으로 문서를 fetch할 수 없다면 이 중 어떤 것도 작동하지 않습니다. 그것이 바로 FourA가 담당하는 단계입니다.

Fetching vs. Understanding: A Clean Split

FourA의 역할은 원시 바이트를 안정적으로 전달하는 것입니다. 목재에 대해 아무것도 알 필요가 없습니다. 덕분에 KORENA는 자신들이 실제로 잘 아는 분야, 즉 혼란스러운 데이터를 표준화된 지수로 변환하는 작업에 에너지를 100% 집중할 수 있습니다. 도메인 고유의 모든 작업은 KORENA가 처리합니다. HTML은 로컬에서 파싱되고, 디지털 PDF는 pdfjs-dist로 읽히며, 스캔된 PDF는 OCR을 통해 처리됩니다.

정규화 단계는 원시 숫자가 지수가 되는 과정입니다. 입목 가격은 제재목 가격이 아니며, 부가세(VAT)가 포함된 현지 경매 결과는 부가세 제외 수출 견적과 직접 비교할 수 없습니다. 원시 숫자를 비교 가능한 시장 인텔리전스로 변환하기 위해, KORENA는 모든 데이터를 하나의 표준인 **입방미터당 유로, 부가세 제외, 인도 조건 환산 기준(delivered-equivalent)**으로 변환합니다.

이를 정확하게 수행하기 위해 시스템은 다음 요소를 반영합니다:

또한 이 지수는 서로 다른 시장 등급을 분리하여 유지합니다. 대량 원목, 고부가가치 목재 경매, 소매 매물은 개별 카테고리로 표시되며 절대 함께 섞이지 않습니다. 프리미엄 경매 물량이 기준선을 왜곡하지 않도록 합니다.

이 분리가 핵심입니다. FourA는 웹 접근을 해결하고, KORENA는 목재 문제를 해결합니다. 어느 쪽도 상대방이 의존하는 블랙박스가 되지 않습니다.

Why Timber Pricing Transparency Is Suddenly Urgent

EU 삼림벌채규정(EUDR)을 포함하여 더욱 엄격해진 유럽 규제는 목재 시장을 완전한 추적 가능성과 더 투명한 공급원 증빙 문서화 방향으로 밀어붙이고 있습니다. 가격 투명성은 그 방정식의 나머지 절반입니다. 지역별 가치를 비교하는 목재 생산자, 견적을 검증하는 구매자, 기준 요율을 설정하는 디지털 마켓플레이스 모두 매일 업데이트되는 지역별 비교 가능 데이터가 필요합니다. 시대에 뒤떨어진 연간 평균 데이터가 아닙니다. 일회성 현지 수치도 아닙니다.

단 두 명으로 구성된 소규모 엔지니어링 팀이 10개국과 수백 개의 예측 불가능한 웹 포맷을 커버하기 위해, 이들은 proxy 인프라, 브라우저 플릿, 안티봇 우회 방법을 관리하는 데 시간을 허비할 여유가 없었습니다(자세한 계산은 자체 스크래퍼 유지 관리의 숨겨진 비용을 참조하세요). FourA가 request 레이어를 처리합니다. KORENA는 수종 정규화, OCR 튜닝, 가격 책정 로직, 감사 추적 등 자신들만이 할 수 있는 작업에 집중할 시간을 확보합니다.

과거에 일일 목재 가격을 확인하려면 지역 브로커에게 전화를 걸어야 했습니다. 이제 누구나 timber-index.korena.eu에서 직접 그래프를 그려볼 수 있습니다. 앞으로 등장할 수많은 지수 기반 제품들은 fetch 레이어를 처음부터 구축할 시간이 없을 것입니다. 이것이 바로 우리가 걸고 있는 베팅입니다.


공개 웹 데이터를 기반으로 제품을 구축하고 계신가요? 자체 스크래퍼와 proxy 인프라를 유지 관리하는 데 지치셨다면, FourA 시작하기를 확인해 보세요.