Mimari kata · K—08

Rakip Fiyat ve İndirim Zekâsı Platformu

Mimari kata · kurgusal bir problem tanımı üzerine tasarım çalışması

Sektör
Perakende fiyatlama
Konu
Karar
Teknolojiler
Cloud Run, Playwright, Cloud Storage, Pub/Sub, BigQuery, Dataform, pgvector, Cloud Composer, Langfuse, Keycloak
Akış: site kayıt defteri toplamayı denetler; ham sayfalar saklanır, ayrıştırılır, üç kademede eşlenir ve öneriye dönüşür.
Tasarım tek bakışta: 30 dakikalık, tek sayfalık canlı çizim. Diyagram etiketleri İngilizcedir.

Kısaca

Rakip sayfalarını hukuki sınırlar içinde toplamak, 120.000 SKU'ya ölçülmüş kesinlikle eşlemek, indirim zamanlamasını kanıtla önermek.

Problem

Orta segment bir giyim grubu 25 ülkede çevrimiçi ve 900 mağazayla satış yapıyor. Satın alma ve ticaret ekibi fiyat ve indirimleri, iki dış sağlayıcıdan beslenen tablolarla belirliyor. Bu veriler haftalık geliyor, ürün yelpazesinin %30’unu kapsıyor ve grubun ürünleriyle elle eşleniyor. Brüt marj iki puan düştü; çünkü bazı ülkelerde indirimler çok geç, bazılarında çok erken başladı. Finans direktörü tüm ürün yelpazesi için günlük rakip fiyatı istiyor. Hukuk, toplamanın her ülkenin yasası ve rakiplerin koşulları içinde kalmasını ve bir önerinin nedenini görebilen bir insanın bulunmasını şart koşuyor.

Yaklaşım

Üç kısıt önemli ve hiçbiri “bir model yazarız” ile çözülmüyor. Toplama hukuki ve nezaket sınırlarında kalmalı. Eşleme, 120.000 ürün genelinde yüzde 95 üzerinde ölçülmüş kesinliğe ulaşmalı. Karar insanda kalmalı. Tasarım tek bir sırayı izliyor. Kayıt defteri girdisi olmadan toplama yok. Ham görüntü önce saklanıyor. Ayrıştırma ayrı bir aşama. Kademeli eşleme her gün ölçülüyor. Öneri, kanıtını aynı satırda taşıyor.

Mimari

  • Site kayıt defteri: robots kuralları, istek hızı, ülke hukuki durumu ve seçici sürümü tek yerde. İşçi onaylı bir satır olmadan başlamıyor.
  • Toplama: gece sıfıra inen Cloud Run Jobs, Playwright ve HTTP işçileri ve ülke başına sabit çıkış adresleri. Proxy rotasyonu kapsam dışı.
  • Ham depo: her sayfa (site, URL, çekim zamanı) olarak kilitli Cloud Storage’da beş yıl saklanıyor.
  • Eşleme: önce deterministik kurallar, sonra pgvector ile gömme benzerliği, yalnızca gri bölgede yapılandırılmış çıktılı bir LLM. Düşük güven insan kuyruğuna gidiyor.
  • Ambar ve öneri: Dataform katmanlı BigQuery, günlük fiyat endeksi ve fiyatlama sistemine yazma yolu olmayan salt okunur bir API.
Mimari: kayıt defteri toplamayı sınırlar, ham sayfalar ayrı aşamada ayrıştırılır, üç kademeli eşleme BigQuery'yi besler.
Çözüm genel bakışı: site kayıt defteri ve ham görüntü deposundan ayrıştırma, üç kademeli eşleme ve BigQuery katmanları üzerinden salt okunur API'ye. Diyagram etiketleri İngilizcedir.Tam boyutta aç (yeni sekmede açılır)

Neden bu bileşenler

İhtiyaç Seçim Neden
Toplama hukuku ve nezaket Git’te ve BigQuery tablosunda site kayıt defteri Robots kuralı, hız, ülke hukuki durumu, seçici sürümü ve hukuk notu tek yerde. İşçi kendi satırı olmadan başlamıyor. Hukuk bir ülkeyi mühendis olmadan durdurabiliyor; işçinin içindeki bir yapılandırma dosyası denetlenemez.
Toplayıcı filosu Cloud Run Jobs; Playwright ve HTTP işçileri İş bitince sıfıra iniyor; site ve ülke başına bir iş, nezaket için token bucket. Kubernetes node havuzu gece boşken de fatura üretir; Cloud Functions tarayıcı için yetersiz. Düz HTTP ucuz yol.
Sabit çıkış adresleri Cloud NAT, ülke başına kayıtlı IP Hukuk hangi adresten topladığımızı bilmek istiyor. Proxy rotasyonu engel aşma sayılıyor ve kapsam dışı. Her ülkenin bildirilmiş bir IP’si ve açık bir user agent’ı var.
Zamanlama Cloud Composer (yönetilen Airflow) Günlük plan, yeniden deneme, yeniden ayrıştırma kampanyaları ve sağlayıcı dosyaları klasik orkestrasyon. DAG’lar taşınabilir kalıyor.
Ham görüntü deposu Cloud Storage bronze, beş yıllık saklama kilidiyle Yeniden üretilebilirlik yalnızca dokunulmamış kaynaktan gelir; kilit yönetici için bile silmeyi engelliyor. Ham HTML’i BigQuery’de tutmak pahalı ve kilitlenemez. Archive sınıfı beş yılı karşılanabilir kılıyor.
Olaylar Pub/Sub Toplandı, ayrıştırıldı ve eşlendi olayları bir sonraki aşamayı tetikliyor; aşamalar birbirini çağırmıyor. Kafka burada fazla: akış işleme yok, sıra gerekmiyor, günde birkaç on milyon küçük mesaj.
Ayrıştırma Sürümlü seçicili Cloud Run servisi Toplamadan ayrı bir aşama. Seçici kırılınca görüntüler yeniden ayrıştırılıyor; siteye bir daha gidilmiyor. Yorum yazarı gibi kişisel veri burada düşüyor ve bronze tablolara hiç girmiyor.
Eşleme Kurallar, pgvector ile Vertex gömmeleri, gri bölgede Gemini, insan kuyruğu Kurallar ve gömmeler yaklaşık %80’i deterministik çözüyor. LLM yalnızca gri bölgeyi görüyor; günlük tavan ve %5 örneklem denetimiyle. pgvector açık ve taşınabilir; Pinecone gibi yönetilen servisler gereksiz bağımlılık.
Ambar ve dönüşüm BigQuery AB ve Dataform; bronze, silver, gold Beş yıl ve günde 8 milyon satır için bölümlenmiş, sütunlu bir ambar. Kendi kümemizi işletmek sabit bütçeyi aşardı. Dataform SQL’i Git’te ve dbt ile uyumlu.
Endeks, esneklik ve öneri BigQuery ML ve SQL kural motoru Günlük koşu deterministik: aynı girdi, aynı çıktı. Kurallar karar uzayını çiziyor, model yalnızca o uzayda sıralıyor. Günlük bir batch için ayrı bir Vertex model servisi gereksiz.
Servis ve kimlik Cloud Run’da Intelligence API, Keycloak Salt okunur API. Fiyatlama sistemine yazabilen bir servis hesabı yok; “yalnızca tavsiye” kuralını IAM zorluyor. Keycloak açık kaynak OpenID Connect ve ülke rolleri veriyor.
Trend özeti Gemini; haftalık, atıf zorunlu Her cümle bir ham görüntüye atıf yapıyor ve “özet” etiketi taşıyor; atıfsız cümle üretilmiyor. Altın, sapma ve injection testleri her sürümde koşuyor.
LLM izleme ve değerlendirme Cloud Run ve Cloud SQL üzerinde Langfuse Her LLM çağrısı maliyeti ve çıktısıyla izleniyor; değerlendirme koşuları sürüm kapısı. Çekirdek MIT lisanslı. Yönetilen izleme ürünleri veriyi perimetre dışına çıkarırdı.
Pano Looker Studio ve BI Engine Gold üzerinde ücretsiz pano; hukukun toplama denetim görünümü de aynı yerde. Açık alternatif Superset, ama işletilecek bir servis daha demek.

Kararlar ve ödünleşimler

  • Önce ham, ayrıştırma ayrı. Beş yıllık yeniden üretilebilirlik dokunulmamış bir kaynak istiyor. Üç yıl önceki bir fiyat, kilitli nesne açılıp o günün seçici sürümüyle yeniden ayrıştırılarak kanıtlanıyor. Kaybolan bir toplama günü tarihten uydurulmuyor; “eksik” olarak görünüyor. Bedeli depolama.
  • LLM yalnızca eşlemenin gri bölgesinde. Kata bunu ürünlerin yaklaşık %20’si olarak boyutluyor. 120.000 ürünü 60 rakibe karşı LLM’e sormak bütçeyi aşar ve kesinliği ölçülemez kılar. Günlük üretim koşusunda LLM yok. Kesinlik her gün altın örnekle ölçülüyor. Bir ülkede %95’in altına düşerse eşik aynı gün yükseliyor: geri çağırmayı feda ediyorum, kesinliği asla.
  • Eylem değil, tavsiye. Öneri, kanıtını taşıyan bir tablo satırı: rakip, tarih, gözlenen fiyat, ham görüntü ve tetiklenen kural. Tek çıktı, bir insanın yüklediği dışa aktarım dosyası. Hiçbir servis hesabı fiyat yazamıyor; kural bir politika metninde değil IAM’de yaşıyor. Uygulanan her önerinin sonucu dört hafta sonra ölçülüp güven skorunu kalibre ediyor.
  • Önce kayıt defteri, engele saygı. 403, 429 ya da captcha o sitenin işini durduruyor. Kayıt defterindeki durum değişiyor, hukuka bir bilet gidiyor. Proxy rotasyonu, captcha çözme ya da IP değiştirme yok. Bedeli kapsam: site endekste “eksik” görünüyor ve kapsama metriği düşüyor.
  • Sert tavanlı sabit bütçe. Toplama gece sıfıra inen işlerle çalışıyor. Kata hesabı ayda yaklaşık 9.000 USD çıkarıyor; bütçe 15.000. LLM’in günlük çağrı tavanı, BigQuery’nin proje başına bayt kotası var. Aşımda iş duruyor ve alarm çalıyor; fatura büyümüyor. Bu sayıyı en çok tarayıcı gerektiren siteler tehdit ediyor.
  • İki eski sağlayıcı on iki ay daha kalıyor. Verileri kapsamın yaklaşık %30’unu karşılıyor. Endeksimizle karşılaştırmak kesinliğin bağımsız bir doğrulaması; esneklik modelinin ilk yılları için tek tarih de onlar. Bedeli, bir yıl iki beslemeye birden ödeme yapmak.
Akış: rakip sayfadan öneriye altı durak; her biri öncekinden yeniden üretilir, LLM yalnızca eşlemenin gri bölgesini yargılar.
Rakip sayfadan tavsiye niteliğinde bir indirim önerisine altı durak. Kesinlik ölçülür, LLM gri bölgeyle sınırlıdır, öneri fiyatlama sistemine hiçbir zaman yazmaz. Diyagram etiketleri İngilizcedir.Tam boyutta aç (yeni sekmede açılır)

Yeniden ele alacaklarım

  • Site başına hukuki onay. Hukuk hangi siteleri ve ülkeleri gerçekten onayladı? Bir sitenin koşulları otomatik erişimi yasaklıyorsa kayıt defterine girmez ve kapsam düşer.
  • Tarayıcı payı. Sayfaların %20’sinin tarayıcı gerektirdiğini varsaydım. %40 olursa toplama maliyeti ikiye katlanır ve en büyük kalem olur.
  • İnsan inceleme kapasitesi. Günde 1.500 karar varsaydım. Gerçek sayı düşükse eşikler yükselir ve kapsam yerine kesinlik korunur.
  • Yorumlar ve sosyal listeler. Hukuki riskleri fiyat sayfalarından yüksek. Gerçekten gerekli değilse kapsamdan çıkarırdım.

Sonuç notları (tasarım varsayımları, ölçüm değil)

Bu bir tasarım çalışmasıdır; çalışan bir toplayıcı ya da fiyatlama sistemi değildir. Çıktı: dört sayfalık diyagram seti, tek sayfalık beyaz tahta sürümü ve satır satır bütçe içeren 16 sayfalık Türkçe PDF. Kesinlik ve pay rakamları kata metnindeki hedef ve varsayımlardır.

Kaynaklar

  • Mimari PDF (Türkçe, 16 sayfa).
  • draw.io diyagramları (İngilizce etiketler): dört sayfalık set ve 30 dakikalık tek sayfa sürüm.

Bu konudaki gerçek projeler

  1. P—01

    Tamamlandı

    Öne çıkan

    Kurumsal Veri Ambarının Google BigQuery'ye Taşınması

    80 TB'lık ambar SQL Server ve 15 düğümlü Cloudera kümesinden BigQuery'ye taşındı: yıllık $550K tasarruf, %75 düşük altyapı maliyeti, 7 kat hızlı iş akışları.

    • Veri platformu
    • Veri kalitesi
    • Analitiğe hazır veri
    • Orkestrasyon
    • Bulut

    Rol

    Tasarım ve liderlik · Kıdemli Veri Mühendisliği ve Veri Mimarisi Grup Yöneticisi

  2. P—02

    Tamamlandı

    Öne çıkan

    GA4 Modernizasyonu: Gold Katman, Akış ve Anomali Tespiti

    GA4 analitiği BigQuery'de Gold e-ticaret modeli ve sapma kontrolleriyle yenilendi: aylık maliyet $9K'dan $3K'ya, en ağır sorgular 46 dakikadan 8 saniyeye.

    • Analitiğe hazır veri
    • Karar destek
    • Veri kalitesi
    • Veri gözlemlenebilirliği
    • Bulut

    Rol

    Program liderliği · Veri Çözüm Mimarı

Karar: projeler, katalar ve yayınlar

Katalar hakkında

Benzer bir tasarım problemi için yazın.