欧州の木材価格データは、技術的には公開されていますが、実質的には使用不可能な状態です。ある国はオークの価格を1立方メートルあたりのユーロ(税抜)で表示しています。隣国はブナの価格を現地通貨(税込)で共有していますが、それは検索可能なテキストレイヤーのないスキャンされたPDFの内部に埋もれています。さらに悪いことに、立木、土場丸太、選別されたオークションロットが、あたかも同一の製品であるかのように並べて提示されることがよくあります。
生データは存在します。しかし、市場インテリジェンスは存在しません。
KORENAはこの状況を解決するためにKORENA Timber Indexを立ち上げました。その結果、欧州の広葉樹、製材、スラブの価格を毎日、自由にアクセスできる参照元が誕生しました。2026年中頃の時点で、この指数は約24の樹種と、10カ国(ルーマニア、ドイツ、ブルガリア、ポーランド、フランス、オーストリア、イタリア、フィンランド、ノルウェー、スウェーデン)にわたる170の地域価格行、さらに全EU市場層を追跡しています。
わずか2人のエンジニアリングチームでこれほど広範な領域をカバーするために、KORENAは1つの決定を下す必要がありました。それは、誰がWebへのアクセスを処理するかということです。彼らはFourAを選び、すべてのトラフィックをそこへルーティングしました。
Webへの単一のゲートウェイ
KORENAは早い段階でアーキテクチャ上の選択を行いました。すべての外部Web requestをFourA経由にすることです。彼らは、コードベース内に隠されていた野良スクレイパー、使い捨てスクリプト、カスタムコマンドを排除しました。
それそれは利便性のためではなく、一貫性のためでした。林業ポータルの挙動は予測不可能です。静的なHTMLページもあれば、ブラウザがレンダリングした後にのみデータを表示するモダンなオークションプラットフォームもあります。政府のサイトは、動作が遅い、古い、または厳重に保護されていることがよくあります。
すべてのトラフィックをFourAのrequestインフラストラクチャ経由でルーティングすることにより、KORENAはすべてのソースに対してリトライ、バックオフ、ログ記録、アラートを同じ方法で処理しています。そして、取得されたすべてのドキュメントはハッシュ化され、保存され、監査のために最終価格まで遡って追跡できます。
ソースごとに最適な取得戦略を選択する
サイトごとにスクレイピングロジックをハードコーディングする代わりに、KORENAは各データソースをデータベース内で直接、特定のFourA endpointにマッピングしています(詳細な内訳については、適切なタスクタイプの選択を参照してください)。彼らは、コアのパースコードに触れることなく戦略を切り替えることができます。
Single (
/single/): 静的なHTMLページ、XMLフィード、および直接のPDFダウンロード。ドイツの統計レポート、ブルガリアの国有林の更新情報、ルーマニアの価格表など。高速で軽量であり、ほとんどのサイトに適したデフォルトの選択肢です。Browser (
/browser/): 実際のブラウザコンテキストを必要とするインタラクティブなWebアプリケーション。ポーランドのe-Drewnoオークションプラットフォームは、数値が表示される前にレンダリングを必要とします。初期のHTMLには有用な情報が何も含まれていません。Proxy Finder (
/proxy/): 最も困難なターゲットに対するフォールバック。より強力なローテーションに加え、ハンドシェイクレベルのアンチボット壁に対応するためのunblocker: trueを備えています。
これはハードコーディングされたスクリプトではなく、ソースごとの設定であるため、サイトが防御策を変更した際に、KORENAはソースをSingleからBrowser、さらにはProxy Finderへと移行させることができます。パースレイヤーがそれを意識することはありません。
スキャンされたPDF:最大の難関
モダンなWeb APIは単純明快です。自動化が最も困難なケースは、画像のみのPDFです。テキストレイヤーが一切なく、スキャンとして公開されている価格表やオークション結果です。人間にとっては面倒な作業ですが、日次の指数にとってはパイプラインを停止させる要因になります。
KORENA's pipeline handles them through a clean division of labor:
取得: FourAが未加工のPDFバイトデータを、毎日、確実にダウンロードします。
テキスト評価: KORENAがファイルに利用可能なネイティブテキストレイヤーがあるかどうかを確認します。
処理と抽出: PDFがフラットな画像である場合、KORENAはページをラスタライズし、OCRとAIドキュメント抽出を実行します。その際、現地の林業用語を捉えるために、カスタムの言語ヒントや樹種辞書を適用します。
スキーマ検証: 出力は、他のすべてのソースと同じスキーマに対して検証されます。
毎日確実にドキュメントを取得できなければ、これらの処理は一切機能しません。それこそが、FourAが担うステップです。
取得と理解:明確な分離
FourAの役割は、未加工のバイトデータを確実に届けることです。木材について何かを知る必要はありません。これにより、KORENAは自社が実際に熟知していること、すなわち混沌としたデータを標準化された指数に変換することにエネルギーの100%を集中させることができます。ドメイン固有の処理はすべてKORENA側に留まります。HTMLはローカルでパースされ、デジタルPDFは pdfjs-dist で読み取られ、スキャンされたPDFはOCR経由で処理されます。
標準化ステップは、生の数値が指数へと変わる場所です。立木の価格は製材用丸太の価格とは異なり、消費税(VAT)込みの現地オークション結果は、税抜きの輸出見積もりと直接比較することはできません。生の数値を比較可能な市場インテリジェンスに変換するため、KORENAはすべてのデータを1つの基準に変換します。それは、1立方メートルあたりのユーロ、税抜き(ex-VAT)、持込渡し相当です。
これを正確に行うために、システムは以下の要素を考慮に入れます。
- 日次の欧州中央銀行のFXレート。
- 各国固有のVAT規則。
- 木材の製品段階に基づく輸送要因。
この指数はまた、異なる市場層を個別に維持しています。バルク原木、高価値木材オークション、小売リストは個別のカテゴリとして表示され、混ざり合うことはありません。プレミアムなオークションロットが基準値を歪めることはありません。
この分離こそが重要なポイントです。FourAがWebアクセスを解決し、KORENAが木材を解決します。どちらも、他方が依存するブラックボックスにはなりません。
なぜ木材価格の透明性が突如として急務となったのか
EU森林減少防止規則(EUDR)を含むより厳格な欧州の規制は、木材市場を完全なトレーサビリティとよりクリーンな調達文書化へと向かわせています。価格の透明性は、その方程式のもう半分の要素です。地域の価値を比較する木材生産者、見積もりを検証するバイヤー、基準レートを設定するデジタル市場はすべて、毎日更新される、地域化された、比較可能なデータを必要としています。時代遅れの年間平均データや、一回限りの現地の数値ではありません。
わずか2人の無駄のないエンジニアリングチームが10カ国と何百もの予測不可能なWebフォーマットをカバーするためには、proxyインフラストラクチャ、ブラウザフリート、アンチボットの回避策の管理に時間を費やす余裕はありませんでした(詳細な計算については、独自のスクレイパーを維持する隠れたコストを参照してください)。FourAがrequestレイヤーを処理します。KORENAは、樹種の標準化、OCRの調整、価格設定ロジック、監査証跡(彼らにしかできない作業)に集中する時間を取り戻しています。
かつて日次の木材価格を知るには、地域のブローカーに電話をかける必要がありました。今では、誰でもtimber-index.korena.euで自ら曲線をプロットできます。次に登場する10個の指数のような製品には、取得レイヤーをゼロから構築している時間はありません。それが、私たちの確信です。
公開Webデータに基づいて製品を構築しており、独自のスクレイパーやproxyインフラストラクチャの維持に疲れていませんか?FourAを始める。