Travel Offer Data Lineage
Bir travel offer'ın supplier response'tan normalize edilmiş modele, cache'e, ranking'e ve booking handoff'a kadar veri soyunu izlenebilir hale getirin.
Travel offer data lineage, kullanıcıya gösterilen bir fiyatın hangi supplier response'undan, hangi mapping/normalization kurallarıyla ve hangi cache/ranking kararlarından geçerek üretildiğini açıklayabilmektir.
Production senaryosu
Kullanıcı “€210 refundable” offer'a tıklıyor, landing'de €228 non-refundable görüyor. RCA için yalnız UI log'u yeterli değil; offer'ın tüm transformation zinciri gerekir.
Lineage akışı
Supplier Request
-> Raw Response
-> Parser Version
-> Property Mapping
-> Room/Rate Mapping
-> Price Normalization
-> Offer Fingerprint
-> Cache Entry
-> Ranking Features
-> Rendered Result
-> Click / Reprice / BookingLineage key'leri
- request/correlation ID
- raw response reference
- provider
- parser/schema version
- canonical property ID
- mapping decision ID
- offer fingerprint
- price observation ID
- cache key/version
- ranking decision ID
- click/booking reference
Raw data saklamak
Her raw response'u sonsuza kadar tutmak pahalı olabilir. Short retention + immutable object storage + hashed reference yaklaşımı kullanılabilir.
PII ve contractual data retention sınırları ayrıca uygulanmalıdır.
Versioning
Lineage ancak transformation version'ları biliniyorsa anlamlıdır. Parser, normalization ve ranking rule versiyonları kaydedilmelidir.
Failure modes
- raw/source reference kaybı,
- mapping kararının audit edilmemesi,
- cache entry version bilinmemesi,
- ranking feature snapshot saklanmaması,
- PII'nin gereksiz yere lineage'a kopyalanması.
RCA kullanımı
Price mismatch incident'ında operator şu soruya cevap verebilmelidir:
“Bu kullanıcıya gösterilen exact offer hangi raw source, hangi rule version ve hangi observedAt ile üretildi?”
Observability
- lineage completeness rate,
- missing raw reference,
- missing mapping decision,
- untraceable rendered offer,
- RCA resolution time,
- replay success rate.
Alternatifler
Küçük sistemlerde correlation ID + structured logs yeterli olabilir. Dağıtık ve çok provider'lı platformlarda explicit lineage entity/store daha anlamlıdır.
Production checklist
- stable correlation IDs
- source references
- transformation versions
- mapping decision IDs
- fingerprint/observation linkage
- ranking decision linkage
- retention policy
- PII minimization
- replay tooling
Bu problemi production’da mı yaşıyorsunuz?
Semptomu, veri akışını ve entegrasyon davranışını birlikte teknik olarak inceleyebiliriz.