Trendyol’da 30 Milyon Ürünü Nasıl Onayladık?
Trendyol’da her geçen gün tedarikçi sayısının artması ve yeni gelen milyonlarca ürünü manuel aktarmanın operasyonel maliyeti yüksek olduğundan ürün aktarımını kolaylaştırmak ve manuel operasyonların azaltılması amacıyla Quokka projesine başladık.
Bir yıl önce başladığımız bu projeyle milyonlarca ürünü onaylayarak, satışa hazırlanma süresini ortalama 20 günden 3 güne nasıl düşürdüğümüzden bahsedeceğim.
Projeyi detaylandırmadan önce neden Quokka ismini seçtiğimizi kısaca anlatayım.
Quokka ağaç kangurusu olarak bilinen, sempatik ve cana yakın bir hayvan türüdür. Yüzündeki mutlu ve gülen ifade sebebiyle insanlar tarafından pek sevilirler.
Biz de Trendyol’da çalışmaktan mutlu olduğumuz için ve ekibimiz güler yüzlü olduğundan projemizin isminin “Quokka” olmasını istedik.
Quokka’dan önce ürünler Trendyol’a nasıl aktarılıyordu?
Tedarikçiler aracı firmalar ile veya kendilerine özel tanımlanmış panelden ürünlerini excel vb formatlarda SPM(Supplier Product Management) ortamına ürünlerini yüklüyordu. Daha sonra bu ürünler çalışanlar tarafından manuel düzeltilip PIM(Product Information Management) ortamına aktarılıyordu. Son olarak ürün ve tedarikçi bilgisinin operatör yardımıyla CIM(Campaign Information Management) ortamına yüklenmesi ile tedarikçinin ürünü satışa hazır hale getiriliyordu.
SPM, PIM ve CIM’i kısaca anlatırsak.
SPM, tedarikçilerin ürünlerini yükleyebildiği ve yönettiği ortamdır.
PIM, satışa çıkacak ürünlerin hazırlandığı ve yönetildiği ortamdır.
CIM, ürünlerin hangi tedarikçi tarafından satıldığının, hangi butik altında satışa çıkacağının ve ne kadar süre satışta olacağının yönetildiği ortamdır.
Quokka ile süreci nasıl iyileştirdik?
Tedarikçinin yüklediği ürünler MQ(Message Queue) aracılığıyla anlık olarak Quokka’ya iletilir.
Ürün sürecinin Quokka’daki aşamalarına gelirsek;
- SPM’de yeni bir ürün oluşturulduğunda tedarikçi ve ürün metadata bilgisini Quokka’ya ekliyoruz.
2. Kategori, marka veya tedarikçi kara listede mi ya da ürün içeriğinde girilmesi gereken zorunlu alanların kontrolünü yapıyoruz. Ürün şartlara uygun olmadığında ürünü reddederek tedarikçi panelinde bu red mesajını gösteriyoruz. Bu sayede tedarikçiye çok hızlı geri dönüş yaparak ürününü güncellemesini sağlıyoruz. Ürün şartlara uygunsa bir sonraki status’e ilerletiyoruz.
3. Tedarikçinin görsellerini AWS S3'de Raw olarak açılan bucket’a yüklüyoruz.
4. Ürün görsellerinin resize edilmesi ve görsel kalitesinin düzenlenmesi için image editor function’ı hazırlayıp AWS Lamda’da da çalışır hale getirdik. Yüklenen görsellerin image editor lamda aracılığıyla boyutlandırma ve görsel kalitesini düzenleme işlemi yapıp, işlenmiş görseli yeni bir dizine taşınmasını sağlıyoruz. Daha öncesinde oluşturduğumuz trigger, yüklenen görselin metadata’larını AWS SQS’e event olarak bırakıyor. Uygulamamızdan SQS’i dinleyip gelen görsel metadata’larını kaydediyoruz.
5. Görsellerin kalitesinin Trendyol için uygunluğu, yasaklı kelime veya istenmeyen logo içerip içermediğini kontrol etmek için Media Control uygulaması hazırladık. Image Editor’ümüzden geçen her görseli Media Control’e soruyoruz. Yasaklı kelime ve istenmeyen durumlar olduğunda ürünü red ediyoruz.
6. Ürün benzerliklerini kontrol etmek için Similarity uygulaması hazırladık. Tedarikçi ürününün barkodu ile aynı barkoda sahip ürün PIM’de mevcutsa Similarity uygulaması ile iki ürünün içeriğini ve görsellerini kontrol ederek benzerlik sonucunu hesaplıyoruz. Benzerlik durumunda ürünü PIM’de oluşturma adımını atlayıp, tedarikçiyi satışa kazandırmak için CIM’e ekliyoruz ve Quokka’daki işlemi bitiyor. Benzer olmadığı durumda eşleşen iki ürünü kontrol bekliyor status’üne ilerletip bir operatör tarafından kontrol edilmesini bekliyoruz.
7. Tedarikçiyi veya kategoriyi whitelist olarak seçilebilme imkanı sağlıyoruz. Ürünün tedarikçisi whitelist olduğu durumda, ürünün içeriği Trendyol’a uygun olup olmadığına kontrol ediyoruz. İçerik Trendyol’a uygunsa ürünü PIM’e aktarmaya başlıyoruz. İçerik uygun değilse ürünü kontrol bekliyor status’üne ilerletiyoruz.
8. Operatörler kontrol bekleyen ürünleri inceleyerek içerik düzeltme işlemleri yapabilir, onaylayabilir veya ürün içeriği uygun olmadığında ürünü red edebilirler. Ürün PIM’de yoksa oluşturma adımına geçilir, PIM’de varsa CIM’e tedarikçi ürün bilgisi eklenerek satışa hazırlanır ve süreç biter.
9. Görsel içeriğin hazırlanması(Logo vb.) işlemi için PIM ekibi tarafından geliştirilmiş Visual Mapping uygulaması ile çalışıyoruz. Onaylanan ürünün görsellerini S3'e yüklüyoruz ve sonrasında Visual Mapping’i tetikleyerek görsellerin eşlenmesini sağlayıp, PIM’deki ürünün status’ünü taslaktan veri girişi status’üne ilerletiyoruz.
10. PIM’de veri girişi status’üne gelen ürünleri onaylıyoruz ve ürünü, onaylandı status’üne ilerletiyoruz.
11. Ürün aktarma işlemlerimiz bittikten sonra tedarikçiyi yüklediği ürün ile birlikte CIM’e ekleyerek satışa hazırlıyoruz.
Ürün aktarma sürecini 11 adımda tamamlamış olduk.
Tedarikçilerin whitelist olabilirliğine nasıl karar veriyoruz ?
Her günün sonunda operatörlerin kontrol ettiği ürünlerde aldığı aksiyonları, ne kadar süre çalıştığını ve ürün içerik puanını kontrol ediyoruz. Çıkan sonuçlar ile tedarikçilerin whitelist olabilirliğini ölçüyoruz. Belirlediğimiz threshold’u geçen tedarikçiler whitelist olarak seçiliyor.
Similarity projesiyle, tedarikçinin yüklediği ürünle eşleşen ürün PIM’de varsa 1 saat içinde satışa hazırlıyoruz.
Whitelist veya Varyant(aynı ürünün farklı varyasyonları) olarak gelen ürünler PIM’de oluşturma adımlarıyla birlikte 1.5 saat içinde satışa hazırlıyoruz.
Quokka projesiyle şu ana kadar 30 milyon ürünü satışa hazırladık.
Son 3 ayın istatistiklere bakarsak
Quokka’dan 13.7 milyon ürün onaylandı. Bu ürünlerden
- Similarity projesiyle, ürün benzeliğinden 1.4 milyon ürün onaylandı.
- Whitelist ve Varyant olarak 8.7 milyon ürün sistem tarafından onaylandı
- 3.6 milyon ürün operatörler tarafından onaylandı.
Bu yazımız da buraya kadar.
Go Trendyol Go diyerek fark yaratmaya devam edeceğiz. Sen de fark yaratmak istiyorsan, seni de Trendyol’a bekleriz.
Teknolojiden haberdar olmak istiyorsan buradayız.