Ne İş Yapıyorum – Big Data ve Machine Learning – Bölüm 3

“Ne İş Yapıyorum? – Big Data ve Machine Learning” bir yazı dizisidir. 3 yazıdan oluşmaktadır. Bu metin de bu dizinin son yazısıdır. Birinci yazıya ve ikinci yazıya ulaşmak için tıklayabilirisiniz.

Bu yazıyı 2017 yılının ortalarında TRT World’de hala çalışıyorken yazmaya başlamıştım. Sonrasında yazmayı bırakınca bu yazı da taslaklar arasında kaldı. Bir çoğunuz bilmese de yakın zamanda hayatımda yeni bir pencere açtım. Bu sebeple biraz kendime vakit ayırma şansına da eriştim. Bana kalan bu zamanın bir kısmında da yazı yazmaya karar verdim. Eski yazılarımı okurken, “Bu yazıyı da ben mi yazmışım ya, ne güzel yazmışım” dediğim oluyor. Bakalım eskisi gibi güzel yazılar yazabilecek miyim? Göreceğiz 🙂

Bu yazıyı okurken, sanki hala TRT World’de çalışıyormuşum gibi düşünün. (Çünkü yazının dili hala çalışıyormuşum gibi yazılmış. Değiştirmek istemedim) TRT World’de çalışmak hayatımda verdiğim en doğru kararlardan biriydi. Harika insanlarla tanıştım ve hiç bir yerde öğrenemeyeceğim bilgilere vakıf oldum. Bana bu fırsatı veren, vesile olan herkese teşekkür ederim.

-Sabri uyan! Sanırım vakit geldi. Ekrandaki şu değerlere bir baksana.

Saat gece yarısı 03:44’tü. Yaklaşık 6 aydır, kuş uçmaz kervan geçmez bu yerde kalıyorlardı. Yasin, ilk geldiklerinde neden burada olduklarını anlayamıyordu. Tüm dünyadan uzak bir odada, bir şeylerin gerçekleşmesini bekliyorlardı. 3 hafta önce ilk belirtileri ortaya çıkmıştı ve son 1 haftadır bu belirtiler iyicene artmıştı. Ve sonunda saat 03:44’te bekledikleri olaylar gerçekleşti.

Yasin’in dürtmesiyle uyanan Sabri, siyah çerçeveli gözlüğünü taktı ve ekrana baktı. “Sonunda” dedi mırıldanarak. Hemen hazırlanıp eve dönmeleri gerekiyordu. “Ev”. Söylemesi bile garip geliyordu. Malum olaylar olmadan önce “Ev”i çok özlüyordu fakat artık anlamını yitirmişti. Sadece cümle içinde geçen bir kelimeydi Ev. Özne bile değildi. Dolaylı bir tümleçti.

Gerekli hazırlıkları yapıp hemen yola çıktılar. Yasin, “sabaha kadar bekle..” dediyse de, Sabri bunu duymamazlıktan gelerek helikopterin kapısını açıp, pervaneleri çalıştırdı. Yasin apar topar topladığı eşyalarla birlikte kendisini helikoptere attı ve kulaklıkları taktı.

Sabri derin bir nefes aldı. Helikopter havalanana kadar son 6 ay gözünün önünde film şeridi gibi geçmişti. İlk günden itibaren herkes aynı soruyu sormuştu. Neden bırakıp gitmişti, ne bu kadar önemli olabilirdi, orada ne yapacaktı ve ne yapıyordu, geri dönmeyi hiç mi düşünmüyordu. Helikopter havalanmaya başlarken gözlerinden birkaç damla yaş süzüldü. Gerçekten 6 ay boyunca ne yapmıştı ve şu anda neden bu şekilde davranıyordu. Helikopter havalandıktan 5 dk sonra, Sabri cebindeki kumandayı çıkardı ve kırmızı mı yoksa yeşil mi olduğuna emin olamadığı tuşa bastı.

Booooom!!!!

Yaptığım işleri abartarak anlatmayı çok severim. Abartmayı çıkarsak bu cümle yine doğru olur. Hatta yaptığım işleri de çıkaralım. Evet Anlatmayı çok severim. Sosyal çevremde iyi bir dinleyici olsam da, iş hayatında anlatmayı çok seven, bildiklerini paylaşan birisiyim. Hatta çok sevdiğim bir arkadaşım (Melih), bana Barış Özcan gibi bir kanal açıp insanlara bir şeyler anlatmam konusunda çok telkinde bulunsa da, ben bunu yapacak cesareti kendimde bulamamıştım ki hala bulamıyorum. Ben iyi yaptığımı düşündüğüm şeyi yapayım. Anlatacağım şeyleri yazarak anlatayım.

6 ay önce, önemli bir kariyer değişikliği yaparak TRT World’de Data & Insight Lead olarak göreve başladım. Bu değişiklik benim hayatımın tamamen değişmesine sebep oldu. Bugüne kadar hiç bilmediğim, hiç duymadığım, hiç görmediğim şeyleri öğrenme fırsatım olmuştu. Tabi sudan çıkmış balık gibiydim. Sanki yeni mezun olmuş bir mühendis gibiydim ve bunun sonucu olarak çok zorlandım.

Yazdıkça yazacaklarımı toparlayamayacığımı farkediyorum. Bu sebeple yazıyı bir kaç bölüme ayırmaya karar verdim. Birinci bölüm Yaptıklarım(ız) ve Yapmaya Çalıştıklarım(ız), ikinci bölüm Yapmak İstediklerim(iz), üçüncü bölüm Öğrendiklerim, ve son bölüm yaşadıklarım / duygularım olacak.

Yaptıklarım(ız) ve Yapmaya Çalıştıklarım(ız)
Yeni Medya. Aslında sorumlu olduğumuz her şey yeni medya ile ilgili. Peki nedir bu Yeni Medya? Yeni Medyayı anlamak için öncelikle yeni olmayan medya nedir onu bilmek gerekiyor.

Geleneksel Medya, günümüzde yaygın olarak kullanılan, gazete, dergi, televizyon gibi araçlarla tek yönlü iletişim kuran bir alandır. Herkese aynı içerik sunulur. Sadece ünlü olan kişilere yer verilir. (Zeki Müren espirisi) Televizyon hariç ulaşılması zordur. (Yakınınızda bakkal olmadığını varsayıyorum) Yapım aşaması uzundur ve yüksek maliyetlidir.

Yeni Medya, internetin birbirine bağladığı cihazlar ve sistemler arasında enformasyon akışının bireyin ve işletmelerin hayatında etki ettiği her noktayı inceleyen ve iletişimin çok yönlü olduğu bir alandır. Yeni medyada her şey kişiye özel tasarlanabilir. Ünlü olmanıza gerek yoktur, yeni medya da herkese yer vardır. Hatta özgün olursanız yeni medya ünlüsü bile olabilirisiniz. Bir mesaj ile herkese ulaşabilirsiniz. Maliyetler düşüktür ve kayıt düğmesine basmanız yeterlidir.

Aşağıda IDC konferansında yer verdiğim, Yeni Medya ve Geleneksel Medya arasındaki farkları anlatan slayta ulaşabilirsiniz.

yeni medya

Yeni medya, derya deniz. Sosyal medya hesapları, web-siteler, micro siteler… Nereye elimizi atsak veri akıyordu. Hatta öyle bir veri akıyordu ki, bu kadar veri ile ne yapacağımızı düşünmeden önce biz bu verileri nasıl tutacağız diye sorgulamaya başladık.

sosyal medya

TRT World’de küçük ve çok harika bir ekibe sahibim. Ekibimde 3 kişi var. Yasin, Mehmet Emin ve Burak. Ekibimde olmasa da, tüm projelerde birlikte çalıştığımız Data Canavarı Berk de ekibin fahri üyesi. İkinci bir fahri üyemiz de Dijital ekibinden iletişim konusunda üstat Yavuz Selim. (2020 Edit: CRAWLERS)

TRT World’ün dijital hesaplarından akan milyonlarca veri var. Bu verilerin üzerine kurgulayacağımız projeler için öncelikle onları sürdürebilir bir şekilde elde etmemiz ve tutmamız gerekiyordu.

Bilgi İşlem ve Insight ekibi olarak, açık kaynak kodlu araçlar (open source tools) kullanarak bir veri akışı (data pipeline) oluşturduk. Bir cümle ile anlatmak ne kadar kolaymış. Ama yaparken gerçekten çok uğraştık. İşin ilginci, bu gibi projelerde en zor kısım kod yazmak değil bu işin mimarisi ve sürdürebilir bir şekilde çalışmasını sağlamaktır. Türkiye’de bir medya grubu bu işi daha önce yapmadığı için de her şeyi, kendimiz keşfedip yapmamız gerekti. Tekrar tekrar yazdığımız kodlar, altyapılar, tablolar, mimariler sonunda veri akışımızı ve üstüne kurduğumuz yapıyı kısmen tamamlamış olduk.

veri akışı

Sosyal Medya, web-siteler ve uygulamalar üzerinden akan veri, API kullanımı, scraping, vb. gibi yöntemlerle alınıp Kafka ile veri akışı sağlandıktan sonra, hem yapısal hem de yapısal olmayan yerlere kaydediliyor. Ardından bu verileri kullanılarak projelerimizi yapıyoruz. (Farkettiyseniz her şeyi çok detaylı anlatan ben, bu kısmı çok basit ve detaya girmeden anlattım. Hatta teknik terimleri kullanmaktan kaçındım. Bunun en büyük sebebi, bu bilginin “Fikri Mülkiyeti” olmasından kaynaklanıyor. Emeğe saygı, V1’e selam)

Şimdi geldik en heyecanlı kısma. TRT World’de bir çok projeye imza attık. Fakat bu projelerden 3 tanesi hem çok değerli hem de anlatması çok keyifli.

1- İçerik Potansiyel Tahmini

TRT World’deki 3. ayımda bir öğlen yemeği yerken “V1” ile karşılaştım. Hem yemek yiyor hem de muhabbet ediyorduk. Konudan konuya atlarken “Bir içeriğin ne kadar hit olacağını tahmin edebilseydik her şey daha kolay olurdu” minvalinde bir şey söyledi. Bu konuyu daha derinlemesine konuşmaya başladık ve perakendedeki ürünlerin attributelerini kullanarak tahmin edilmesine kadar geldik. Soru şuydu, bir içeriğin tüm bileşenlerini ayrı ayrı belirleyebilirsek ve bundan yola çıkarak geçmişteki içeriklerin etkileşimlerinden yola çıkarak bir model kurabilir miydik? Harika bir fikirdi. Ta ki, “V1” güzel fikir ama bunu siz yapamazsınız diyene kadar. Kafamdan kaynar sular döküldü. Bunu da yapamıyorsak, bizim orada ne işimiz vardı?

Kedi videoları her zaman çok izlenir. Fakat bir politik video her zaman çok yüksek etkileşim almayabilir. Soru şu: Bir kedi videosunun çok izlenmesindeki sebep her zaman kedi midir? Bir politikacının kedi ile tartıştığı bir video, sıradan bir kedi videosundan daha az mı izlenir? (Tabiki soru bu değil ama buna benziyor 🙂 )

icerik potansiyel tahmini

Hemen ekibi topladım. Projeyi anlattım. Herkes çok heyecanlandı. Fakat nereden başlayacağımız ve nasıl yapacağımız konusunda hiç birimizin bir fikri yoktu. Daha doğrusu bu projeyi sürdürebilir bir şekilde kurgulamakta zorlanıyorduk. Önce amacımızı belirledik:

Bir editör, yeni bir içerik ürettiğinde, bu içeriğin alacağı etkileşimi 100 üzerinden tahmin edip, CMS’de (içerik yönetim sisteminde) bunu görmesini sağlayacak, yeni girilen her içeriğin sonucunu algoritmaya dahil ederek, kendini geliştiren bir model yazmak.

Bu amaç için proje adımlarmızı belirledik,

  1. Bugüne kadar yayınlanan tüm içeriklerin bileşenlerinin çıkarılması
  2. Bugüne kadar yayınlanan tüm içeriklerin etkileşimlerinin bulunması
  3. Bileşenler ve etkileşim kullanılarak tahmin algoritmasının geliştirilmesi
  4. Veri akışının oluşturularak, bu sistemin sürdürebilir bir şekilde çalışmasının sağlanması

İlk iş içeriklerin bileşenlerinin çıkarılmasını sağladık. İçerik Yönetim Sistemindeki her bir makaleyi ön işlem (pre-process), API ve son işlem (post-process) geçirerek parçalar ayırdık.

Ön ve son işlemler konusunda çok detaya girmeyeceğim. Metin madenciliği yapan kişilerin çokca bildiği, veri düzeltmelerin bol bol olduğu, her şeyin tamam olduğunu düşündüğüz an bir problem gördüğünüz, bir çok kural yazdığınız bir süreç. Hem zahmetli hem de yorucu bir süreçtir.

Makalede geçen ülkeler, şehirler, kurumlar, kişiler, önemli günler, önemli olaylar, ilgi alanları, konusu, resim olup olmaması, video olup olmaması, videonun süresi, vb. gibi bir çok kategoride bileşenlerine ayırdık.

Her bir içeriğin, bulunduğu mecraya göre, sayfa görüntülenme, etkileşimi, RT, FAV değerlerini topladık.

bileşenlere ayırma

Çoğu kategorik olan bu bileşenleri modelleme sürecine giriştik. Bugüne kadar perakende sektöründe daha çok numerik değişkenlerle muhattap olmuştum. Bu sebeple kategorik değişkenlerin modellenmesi açıkçası biraz zorladı. Özellikle bu kategorik değişkenlerin Ordinal (sıralı) olmayışı, tamamen Nominal (atanmış) olması işleri daha da zorluyordu.

İki konu üzerine çok zaman harcadık. Dummy değişken oluşturulması ve Faktor Analizleri. (Yazar Notu: Yıl olmuş 2020 ve bunlar sizin için çok normal geliyor olabilir. Fakat 2016 yılında Türkiye’de bunları konuşan kişi sayısı emin olun çok azdı) Her bir kategorinin altında bir çok farklı alt başlık olduğu için ön işlem kısmında bunların çoğunu birleştirmiştik. Fakat yine de yüzlerce dummy değişkenimiz oluyordu. Faktör Analizleri ile en anlamlı olanları ile (yine 100 civarında) modelimizi kurmayı başardık.

İşin her aşaması zordu. Fakat en zoru, bu işin sürdürebilir bir şekilde çalışması ve ürüne dönüşmesiydi. Her yeni makale eklendiğinde, bileşenlerine ayrılması, tahmin yapılması, yazara sunulması, içerik yayınlandıktan sonra etkileşimlerin kaydedilmesi, modelin tekrardan buna göre çalışması ve bu sürecin problemsiz bir şekilde devam etmesi…

icerik potansiyel tahmini 2

Peki bu proje ne işe yaradı daha doğrusu nerede niçin kullanılacak?

  1. Yazının başarı puanına göre, o yazı için ne kadar reklam harcanmasının hesaplanması
  2. Yazarların başarısının ölçülmesi
  3. Bileşen ve kategorik ölçüm sonuçlarına göre içerik önerisinin yapılması

2- Twitter’da Benzer Kişilerin Bulunması Algoritması

Twitter’ın bendeki yeri ayrıdır. Tüm sosyal medya araçları bir yana twitter bir yanadır. Çünkü Twitter API’sı tüm sosyal medya araçlarının API’lerini döver, ikiye böler, beşle çarpar. Hem kullanması kolaydır hem dokumantasyonu iyidir hem de diğerlerinin vermediği bir çok bilgiyi size sunar. Bu sebeple bir çok projemizin temelinde Twitter bulunuyor.

Bu proje ar-ge olarak başlayıp, ardından bir teze ve sonrasında farklı makalelere temel oluşturan, ufuk açıcı, öğretici, şaşırtıcı bir projedir. (V1 tarafından verilen bir görev neticesinde ortaya çıkmıştır. Fikir babası V1’dir.)

Öneri algoritmaları içinde çok popüler ve kimsenin dilinden düşürmediği iki örnek vardır. Birincisi Amazon’un kitap öneri sistemi. Ben de kaç sene sunumlarımda bu örneği vermişimdir. İkincisi Netflix’in öneri algoritması. Hadi bir üçüncüsü de benden olsun. Spotify’ın şarkı öneri sistemi. (Diğer ikisini sanki mahallenin muhtarı söyledi?)

Bu algoritmalar, sizin daha önceki alışveriş, izleme ve dinleme geçmişinize göre ya da oluşturduğunuz beğeni vb. listelerinize göre, benzer kullanıcıların aktiviteleriyle eşleştirip, bunu seven bunu da sever mantığıyla çalışır. Anlatırken ne kadar da kolay 🙂 Bir cümle anlatabildiğime inanamıyorum.

Twitter’da da sizin ilgilendiğiniz konulara ve o zamana kadar takip ettiğiniz kişilere göre, kimleri takip edebileceğinizi önerir. Farkettiyseniz, Amazon, Spotify, Netflix, Twitter ve diğer tüm araçlar, sizin hareketlerinize göre öneri veriyor. Bu öneriler size özel. Sizin hareketlerinize özel. Peki soru şu, ben şu 3 kitabı sevdiysem acaba hangi kitabı okusam çok severim sorusunun cevabını veriyor mu? (Bunu veren harika bir uygulama var. GoodReads’i kullanmıyorsanız tavsiye ederim. Yine kişiye özel listelere göre çözüm üretse de, farklı listeler oluşturarak başarabilirsiniz.) Ya da şu 3 şarkı benim hayatımın şarkısı, bu şarkıları döndüre döndüre dinliyorum. Bunun gibi seveceğim 3 şarkı daha olsa of ki ne of.

İşte biz bunu Twitter için yaptık. Biribine benzediğini düşündüğünüz N tane kişi girdiğinizde, size benzer M tane kullanıcı veren bir algoritma geliştirdik. Hatta test etmek için, TRT World’de çalışan 5 editörün kullanıcı adlarını girdik, bize diğer editörleri ve TRT World’de çalışsa ne güzel olur diyeceğiniz editör ihtimallerini verdi.

Bu algoritmanın detaylarını burada anlatmayı çok isterdim. Kullanıcıların aktiviteleri, takip ettikleri, takipçileri, içinde bulunduğu networkler, istatistikleri, vb. bir çok bilgi kullanılarak kurulan bu model sayesinde doğru kaynaklara ulaşmayı başardık. Peki bu ne işe yarayacak ki?

Bir aktivite düzenlediğimizi varsayalım. Veri Bilimi hakkında olsun. Bu aktiviteyi herkesi çağırmak yerine sadece ilgili olan kişileri çağırmak istiyorsunuz. Bunu yapabilmek için tek tek arama yapmanız gerekecek. Fakat bu algoritma sayesinde, veri bilimi ile ilgili yazan ya da ilgilenen bir çok kişiye 90sn gibi bir sürede ulaşabiliyorsunuz.

Tanzanya’da Politik haber yapan 5 kişiden yola çıkarak, 60 farklı kişi daha bulup bunların her gün tweetlerini çekiğinizi düşünün. Bu tweetleri anlık bir dahsboard üzerinde yayınlayarak, Tanzanya’nın politik haberlerini takip edebilirsiniz ve içerik üretme konusunda kaçırdığınız noktaları tek noktadan takip edebilirsiniz. Tüm ülkeler için bunu yapıp, Dünya Atlası üzerinde kişi başına atılan tweet sayısını da renklendirirseniz, son 1 saat içindeki tweetler sayesinde, Politik olarak dalgalanan ülkeleri rahatlıkla yakalayıp bir hikaye oluşturabilirsiniz. Bu sadece bir örnek. Biraz önce bahsettiğimiz örnekteki gibi, işe alım yapacağımız kişilerin belirlenmesinde de kullanabiliriz 😛

3- Referandum

2017 yılının en büyük olaylarından biri de Referandum’du. Türkiye, Anayasa değişikliği için referanduma gitti ve biz de ekip olarak bu tarihi olayı yakından takip ederek çeşitli projelere imza attık.

Birincisi, Twitter’da referandum için kullanılan hashtaglerin geçtiği tweetleri anlık olarak (Stream) çekip bunları Evet, Hayır ve Nötr olarak kategorize edip, yine anlık olarak dahsboardlarda yayınlamaktı.

İkinci proje biraz ilginç bir projeydi. Biliyorsunuz ki, her seçim sonrasında açılan sandıklarla ilgili büyük bir tartışma başlar. İlk başta açılan sandıktaki yüzdelerle sondaki yüzdeler neden farklı olduğu konuşulur. Bunun bir gizli bir oyun olduğundan falan bahsedilir. Biz de Referandum özelinde, yasak kalktığı ilk andan itibaren, anlık olarak AA tarafından gönderilen veriyi görselleştirdik. Sandıkların açılış yüzdeleri ve şehirlerdeki referanduma verilen oy değişimini aşağıdaki şekilde görebilirsiniz. Ortada oyun falan yok gençler rahat olun 🙂

Referandum 2017

Yapmak İstediklerim(iz) ve Yapamadıklarım(ız)

Yazının buraya kadar olan kısmı 2017 yılında yazıldı. Yani TRT World’den  ayrılmadan önce. Buradan sonraki kısmı ise bugün yazıyorum. Aradan 3 sene geçmesine rağmen hala yapmak istediklerimiz aklımda.

Yukarıda yaptıklarımızın hepsinin bir amacı vardı. Bu amaçlara giden temel projelerdir. Haber Üreten Bir Araç yapmak istiyorduk. Yeni bir haberi yakalayacak, bu haberin kilit kelimelerini çıkaracak, bu kilit kelimelerinin üzerine bir metin yazacak ve bunu editörün önüne koyacak. Editör incelemeyi yaptıktan sonra yayınlayacak. Bu haberi yakalamak için, Twitter Network aracını geliştirmiştik. Bir sonraki aşamamız buydu

Her bir içeriğin, etkileşiminin tahmin edilmesini projesinin bir sonraki aşaması, hangi içeriğe ne kadar reklam verilmesinin otomatik karar verilmesiydi. İçeriklerin başarısının tahminin zaman ekseninde yapılması (yani bir içerik yayınlandıktan sonra tahminden sapmasının anlık olarak takip edilmesi) ve hangi içeriğe ne kadar reklam bütçesinin ayrılmasının optimize edilmesi olacaktı.

reklam yönetimi

Bir diğer proje hedefimiz, Sosyal Medya üzerinden kişilerin yazdıkları metinlerden, saykometrik (Psychometric) profillerin çıkarılması ve bunların kategorize edilerek, hangi içerğin kime yönlendirilmesi gerektiğinin A/B testing ile karar verilmesiydi. 2016-2017 yıllarında Facebook – Cambridge Analytica skandalı ortaya çıkmıştı ve bizde bu konuda çalışmaya başlamıştık.

Bu projeleri anlatırken gerçekten çok güzel fakat, ilk 6 ayımda çok büyük bir ikilemle karşılaştım. Veri Bilimci ikilemi.

Veri Bilimci İkilemi. Bence günümüz piyasasında da yaşanan en büyük ikilemlerden biri de bu. Şöyle anlatayım. Sizden iyi bir veri bilimci tanımı yapmanızı istesem nasıl tanımlarsınız. En az 1 yazılım dilini bilsin, matematik, istatistik ve algoritmalar konusularına hakim olsun yeterli (mi acaba?) İşte günümüzde bu ikisini bilen insanlar kendini Veri Bilimci olarak tanımlıyor. Ama burada büyük bir eksiklik var. İş Bilgisi! (Domain Knowledge) Eğer yapılan iş hakkında hiç bir bilginiz yok ise, problemi çözmek için sadece algoritmalar ve programlama beceriniz sizin için yeterli olmayacaktır.

TRT World’de işe başladığımda, kendimi sudan çıkmış balık gibi hissediyordum. Tam 10 senelik sektör tecrübem vardı. 10 sene dile kolay. Çok iyi algoritma yazarım, kod bilgim var, veri akışı ile ilgili efsane tecrübelerim var, mimari desen benden sorulur ama “Geleneksel Medya, Yayın (Broadcasting), Sosyal Medya” problemleri hakkında hiç bir fikrim olmadığı için 100 olan gücüm otomatik olarak 50’ye düşmüş oldu. Bir çok makale okudum, AJ+ başarı hikayelerini inceledim, çeşitli danışman firmalarının çözümlerine baktım ama her şey havada kalıyordu. İşin içine girmeden, amiyane tabirle elinizi kirletmeden bu iş olmuyor, olmaz, olmayacak. Benim ne yaptığımı anlamam ve verimli bir şeyler ortaya çıkarmam 3 ay sürdü. Biliyorum 3 ay çok uzun bir süre. Bu kadar uzun sürmesinin sebeplerinden biri, Medya sektöründe yeni olmam, diğeri ise tamamen farklı bir kültüre adapte olup yepyeni şeyler öğrenmek oldu. 3 ay içinde o kadar çok şey öğrendim ve deneyimledim ki, sanırım hayatımdaki en öğretici zamanlar oldu.

Öğrendiklerim

2016-2017 senesi benim için çok öğretici geçmişti. San Francisco gezisi ve NRF konferansından sonra TRT World de eklenince, öğrendiklerim arşa değmişti. 2020 yılından baktığınız zaman, çok etkileyici olmasa da 2016 yılı için zamanın ilerisindeydi.

TRT World haberleşmesini Slack, proje yönetimlerini de Trello ve Jira üzerinden yapıyordu. O zamana kadar çalıştığım şirketlerde bu uygulamaları bu kadar verimli kullananın görmemiştim. Proje yönetiminde Agile (Çevik) yönetim hakimdi ve haftalık, günlük toplantılarla projeler dolu dizgin ilerliyordu. Açık kaynak kodlu geliştirmeye önem veriliyordu ve Github’ı ilk orada kullandım. Python’da proje geliştirme ve bu geliştirilen projenin devreye alınmasındaki aşamalar harika bir tecrübeydi.

O güne kadar PC kullanan ben, Mac kullandım. İlk 2 hafta gerçekten çok zordu fakat sonrasında çok memnun kaldım. Oyun oynamıyor, kod yazıyor ve Excelle hiç işim olmaz diyorsanız Mac harika bir cihaz. Fakat oyun ve excel sizin için önemliyse, Mac’den uzak durun. Diğer herşey için Mac.

Son olarak, TRT World’deki en farklı deneyimim iletişim oldu. İletişim dili İngilizce olan bir yerde çalışmamıştım. Direktörüm Riyad (Güney Afrika), diğer yönetici arkadaşlar Ned (GA), Mak (GA), Derrick (ABD) ve Hüseyin (Türk). Güney Afrika İngilizcesini anlamak gerçekten uzun sürdü. LAGli yaşıyordum. Hele ilk zamanlarda toplantılarda konuşulanları anlayamıyordum. Her hafta pazartesi günleri yapılan toplantıları pür dikkat dinliyordum fakat anlamam 5sn gecikmeli oluyordu. Herkes bir espriye güldükten 5 sn sonra gülüyordum. Fakat 2 aydan sonra artık alışmıştım. Güzel bir tecrübeydi.

Duygularım ve Son Söz

15 Temmuz sonrasında bana kapılarını açan, harika bir ekiple çalışma fırsatı veren, İstanbul’un en güzel manzaralı ofisine sahip, çok güzel insanlarla tanıştığım güzide yer TRT World.

Çok uzun bir serüven değildi. LC Waikiki benim doğduğum yerse, TRT World gençliğimi geçirdiğim yer olarak tarihe geçti. (Koton da gençliğimi elimden aldı 😀 10 yaş yaşlandım. O güzel ekibim olmasaydı 20 yaş yaşlanırdım) Start-up kültüründe çalışmak, büyüyen bir organizasyonun parçası olmak, Türkiye’de ilk defa yapılan işlere imza atmak benim için harika bir tecrübeydi.

TRT World’e girmeme vesile olan üstat Uğur T.’ye, V1’e, Riyad’a ayrı bir teşekkür etmek istiyorum.

Duvarlar, ofisler, bahçeler, manzaralar… Hepsi iyi ve güzel insanlarla anlamlı oluyor. Yıllar sonra tekrar birlikte çalıştığımız sevdiğim insan Abdurrahman Abi, cuma yoldaşları güzel insanlar Fatih Abi ve Mustafa Abi, renk körü olduğuma benden daha çok üzülen UX Magician Burak, Hüseyin başkan ve güzel ekibi, V1, V2 ve tabiki Datahon Fatihi Crawlers. Yasin, Yavuz, Berk, Mehmet Emin ve Burak. Sadece bu 5’li ile tanışmak bile TRT World’de çalışmam için yeterliydi.

Böylece, 3 yazıdan oluşan ve tamamlanması 3 sene süren yazı dizimize de burada nokta koyuyoruz. Umarım keyifli ve faydalı bir yazı olmuştur. Eminim ben 296 defa daha bu yazıyı okuyacağım. Yazının burasına kadar geldiyseniz bir yorum yazar mısınız? Yazmak çok güzel, fakat okunduğunu bilmek çok daha güzel 🙂

Ne İş Yapıyorum – Big Data ve Machine Learning – Bölüm 1

Not: Yazıya klasik kendi iç konuşmalarımı yazma niyetiyle başladım. Ardından TRT World’de ne iş yaptığımı anlatayım dedim. Sonra onu anlatmak için Big Data’nın ne olduğunu anlatmam gerektiğini fark ettim. Fakat bunu anlatmak için perakende bilgimi kullanmanın faydalı olacağını düşündüm (Nedenini okuyunca anlayacaksınız) Sonra Machine Learning derken yazı uzadı da uzadı. Hatta TRT World’de yapmak istediğimiz işlere global örnekler vermeye çalışırken yazı bitmek bilmedi. Bu sebeple yazıyı üçe bölmeye karar verdim. Yazının tamamı bittiği için 5-6 gün arayla yazı yayınlanacak ve bitecektir. Okuduğunuz için teşekkür ederim. Tekrar yazmak çok güzel. Günde 1 saat yazmak iyi gelir, herkese tavsiye ederim.

-Ooooo Müdür naber? Hiç görüşemiyoruz.
-Ben artık müdür değilim bu birincisi. Görüşemiyorsak, bu çift taraflı bir problem değil mi sence de?
-Haydaa, ben mi seni müdürlükten aldım. Neden kızıyorsun ki? Hala 4 saat yollarda sürünüyor musun?
-Hee senin haberin yok mu? Ben iş değiştirdim, yeni çalıştığım yer Ortaköy’de. Akşam 6’da eve oluyorum.
-Vay vay vay. Öyle iş mi var ya. Bize de iş bulsana oradan.
-Yok abi bulamam ben sana iş.
-Neresi orası?
TRT World.
-TRT mi? Ne yapıyorsun ki abi sen orada? Sen perakendeci değil miydin? Hayır yani ne alaka?
-Uzun hikaye…
-Gerçi iyi olmuş, perakendeye hep parakende diyordun.
-…
-Anlat anlat, vaktim var benim. Eski Parakande Analitiği Müdürü 😀
-…….

9 sene. Dile kolay. Perakendede dirsek çürütülmüş 9 sene. TRT World’de çalıştığımı söylediğimde aynı tepkiyi veren sizler, haksız değilsiniz? “Neden böyle saçma bir şey yapmış” diye içinizden geçirdiğinizi biliyorum. “O kadar senelik emeğini bir kenara atmış” dediğinizi de biliyorum. “En verimli olacağı zamanda bu sektör bırakılır mı?” diye beni düşündüğünüzü de biliyorum. Ama durun bir dinleyin söyleyeceklerim var.

Anlatmaya nereden başlasam. LC Waikiki’deki son 1 sene başlangıç için iyi olacak. 2014-2017 yılları arasında bir çok üniversiteye konuşmacı olarak gittim. İki amacımız vardı, birincisi yaptığımız işi anlatıyorduk ikincisi ise çalıştığımız şirketin bize bu imkanı verdiğinden bahsediyorduk. Anlattığımız konular, Optimizasyon (Matematiksel Modelleme), Simülasyon, Otomatik Sevkiyat Sistemleri, İş Zekası, İş Analitiği, Big Data, Veri Madenciliği, Machine Learning gibi konulardı. Saydığım konuların çoğunu çalıştığım şirketlerde yapıyorduk. Fakat konu Big Data ve Machine Learning’e geldiğinde, ne yazık ki sadece konuşuyordum. Çok güzel anlatıyordum ama yaptığım elle tutulur bir örnek yoktu. İşin garibi, iş dışında da bu konularla ilgili bir gelişme kaydedemiyordum. (Silikon Vadisine ve NRF’e gitmeseydim bunlar olmayacaktı)

Acaba ML ve BD uygulaması yapmamış olmam, uygulama alanı olmadığı için olabilir mi? Hadi bunu sorgulayalım.

Perakende sektöründe Big Data var mıdır?
Bugüne kadar hep data ile uğraştım. Akşam yattım data, gece rüyamda data, sabah kalktım data, gün boyu data, data, data (20 defa arka arkaya data deyince traktör sesi çıkıyor 🙂 )
Uğraştığım data hep yapılandırılmıştı. Daha doğrusu ben yapılandırılmış data üzerinden analizlerimi yapıyordum. Satış, Stok, Mağaza, Müşteri gibi datalardı. Ne, Nerede, Ne kadar gibi soruların cevabı netti ve tekti.

Kısa bir bilgi vermek gerekirse, yapılandırılmış veriler incelenirken dimension (boyut) ve measure (ölçüm) ile incelenir. Perakendedeki verilerin boyutlarına bakacak olursak,

  • Lokasyon (Ülke, Şehir, Mağaza, vs.)
  • Zaman (Yıl, Hafta, Ay, Gün, Saat, vs.)
  • Ürün (Kategori, Buyer Grup, Klasman, vs.)
  • Müşteri (Müşteri No, İsim, Adres, Telefon, vs.)
  • Plasiyer – Satış Danışmanı (İsim, Yaş, Çalıştığı sene, vs.)

Ölçümlere bakacak olursak,

  • Satış
  • Stok
  • Fiyat
  • Vs.

Bu boyutlar ve ölçümler kullanılara, çeşitli hesaplanmış alanlar oluşturulabilir ve farklı boyutlarda farklı analizler yapılabilir.

Peki, bu büyük veri midir? Elimizde bu verilerden milyonlarca olsa büyük veri mi olur? Peki ya milyarlarca olsa? Şimdi literatürde büyük veri ne demek kısaca ona bakalım.

İlk tanım: Big Data, zamanla elde edilen, yapılandırılmış ya da yapılandırılmamış, yani henüz geleneksel yöntem veya araçlarla işlenerek kullanılabilir hale getirilmemiş verilerdir.
İkinci tanım: Büyük veri, tek bir sunucuya sığmayacak ölçüde büyük, yapılandırılmamış veya statik bir veri ambarına sığmayacak şekilde sürekli akan veriler için kullanılır.
2012 yılında dünyada 2,8 zetabayt’dan daha fazla veri tutulmuş. Bu verilerin sadece %0,5’i analiz edilmiştir. Bunun en büyük nedeni, bu verinin satır sütun formatında olmamasıdır.(2,8 trilyon gigabyte) Bu veri boyutunun exponential arttığı düşünülürse 2016 yılında kaç olduğunu hadi siz tahmin edin 😛

Big Data ile ilgili en az bir konferansa katıldıysanız aşağıdaki tanım size hiç yabancı gelmeyecektir.

Big Data 5V’den oluşur:
Volume: Verinin büyüklüğü artıyor ve büyük veriyi bir yere yazmak lazım
Velocity: Verinin elde edilme hızı artıyor. Veri çok hızlı büyüyor. Hızlı okumak hızlı yazmak lazım.
Variety: Elde edilen verinin %80’i yapısal değil. Her kaynağın verisi farklı formatta.
Value: Verinin üretilmesi ve işlenmesi sonucunda ortaya çıkan değer.
Veracity: Hakikat! Doğruluk! Elde edilen verinin içindeki gerçek anlamı ve hakikatı ortaya çıkarmak. (Örneğin Twitter gibi bir mecrada yazılmış 140 karakterli bir yazıdan anlamlı bir şey çıkarmak olarak yorumlanabilir)

Şimdi düşünelim, elimizdeki milyarlarca data big data mıdır? (Bu analizler geleneksel perakendeciler için yazılmıştır. Zaten yazının ilerleyen yerlerinde geleneksel perakende, big data ve machine learning birleşiminden bahsedeceğim.)

Volume: Verimiz hızla artıyor fakat tek bir veriambarında bu veriyi tutabiliyoruz. X
Velocity: Verinin elde edilme hızı, mağaza sayısı ile doğru orantılıdır. Bu sebeple mağaza sayısının artmadığı durumlarda hızı da artmaz. X
Variety: Elde edilen veri yapısal veridir. Satış stok bunlar yapısal veriler. X
Value: Analizler ve çeşitli teknikler değerin kralını üretir. Otomatik sistemler, karar destek sistemleri çıkar. V
Veracity: Bu terim sonradan çıkarıldı. Hala bende oturmayan yerler var. Rakamları anlama dönüştürebilmek olarak alırsak, bunu da dahil etmeliyiz. V

Sonuç olarak 2/5 büyük veri olmadığını görüyoruz. Peki perakendede büyük veri nedir? (İki saattir ne değildir diye anlatıp duruyorsun be adam, zaman kazanmayı bırak da anlat bize)
2015 yılında Big Data nedir diye internet üzerinde ararken hep aynı şeyler karşıma çıkıyordu. Aradığım tanımı bulamıyordum. LC Waikiki vasıtasıyla Boğaziçi Üniversitesi’nde bir etkinliğe juri olarak katıldım. Sunum yapan çocuklardan bir tanesinin konusu, makinelerin bakım zamanlarının tahminini big data yardımı ile yapılmasıydı. İlk cümlesi şuydu:

Big Data nedir? Big Data, şu ana kadar ölçmediğiniz veridir.

Dediğinden hiç bir şey anlamadım. Sonra aklıma şu özlü söz geldi.
Ölçtüysen senindir, ölçmediysen hiç senin olmamıştır.
Evet evet! Anlıyordum, aydınlanıyordum! Evreka Evreka diyerek bağırmaya başladım. Sanırım bağırmak yerine horlamışım ve yanımdaki adam beni dürterek uyandırdı. Utanarak sunumu dinlemeye devam ettim.

Ölçmek ya da ölçmemek! İşte bütün mesele bu.

Perkanedeyi oluşturan her bir öğenin içinde bir big data kırıntısı bulunabilir.
Lojistik: Araç takip sistemleri ve araç sensörleri ile oluşan veri. (Araç güzergah bilgileri, aracın hızı, aracın kalma durma süreleri, araç iç sıcaklık, vs.)
Depo: RFID, beacon gibi teknolojiler ile, depo içerisinde her bir ürünün hareketinin tespit edilmesi.
Mağaza: In-Store Analytics dediğimiz, mağaza içindeki müşterilerin hareketlerinin takip edilmesi, sıcaklık ölçen kameralar ile mağaza içi heatmapler, mağaza shiftlerinin daha iyi oluşturulması için personellerin giriş çıkışlarının otomatik yapılması, RFID ile ürünlerin mağaza içindeki hareketler
Merchandising: Sosyal Medyadaki trendlerin takip edilmesi
CRM: Müşterilerin ihtiyaçlarının tespiti, kişiye özel süpriz çözümler

Evet çok kısa kısa ve biraz da altını boş bıraktığımın farkındayım. Fakat sadece Sosyal Medya ile ilgili big data kavramını 4-5 sayfada anlatabilirim. Onun yerine yazının ilerleyen kısmında kısa bir hikaye anlatacağım. Perkande, Big Data ve Machine Learning ile ilgili bu güzel hikayede, olayları daha iyi kafanızda canlandırabileceksiniz. (Şimdilik bir virgül koyuyoruz)

Perakende sektöründe Machine Learning uygulaması var mıdır?
Öğrenme, bireyin yaşantılar sonucu davranışlarda meydana gelen oldukça uzun süreli değişmelerdir. En yalın tanımla Bilebilme ve Yapabilme eylemidir. Yapay Zeka, Bir bilgisayarın veya bilgisayar kontrolündeki bir robotun çeşitli faaliyetleri zeki canlılara benzer şekilde yerine getirme kabiliyetine denir. Yapay Zeka’nın alt bir dalı olan Makine Öğrenmesi (Machine Learning) ise, bilgisayarın “öğrenme” işlemini sağlayacak algoritma ve tekniklerin gelişimi ile ilgili bir çalışma alanıdır. ML, geçmiş deneyimleri veya örnek verileri kullanarak daha iyi sonuçlar üretmek üzere gerçekleştirilmiş bilgisayar yazılımları oluşturma tekniğidir. ML tekniklerine bir kaç örnek verecek olsak, Kredi Taleplerini Değerlendirme, Yüz tanıma sistemleri, Spam Mail belirleme, IBM Watsons, vs.

Şimdi perakende sektöründeki ML uygulamalarını düşünelim. İlk aklıma gelen, CRM ile ilgili konular.

  1. Recommendation Engine : Türkçe’de bilinen adıyla “Bunu alan bunu da aldı” sistemi. Recommendation Engine ile ilgili bir konu olduğunda, Amazon örnek olarak verilir.
  2. Customer Churn : Müşterinizin sizi terk edip etmeyeceğini öngörerek buna göre aksiyon almanıza yardımcı olur.
  3. Market-Basket Analysis : Sepet analizi yaparak, en çok birlikte satan ürünleri tespit ederek, bu ürünleri paket (bundle) şeklinde satmanıza yardımcı olabilir.
  4. Cluster Analysis : Müşteri, ürün ya da mağazalarınızı gruplayarak, karar mekanizmalarını güçlendirebileceğiniz bir yöntem. Örneğin, müşterileri LTV ve Karlılığa göre gruplayarak onları isimlendirebilir ve kampanyaları gruplara özel çıkabilirsiniz.
  5. Müşterilerin stillerinin belirlenmesi : Bu cluster analizin içine dahil edilebilse de, yaptığı alışverişe göre, hangi renkleri, hangi kıyafet tarzlarını, ürün bilgisi ile birleştirip, birinci maddedeki öneri sistemlerinde kullanılabilir. Eğer elinizde ürün bilgisi yok ise, opencv gibi teknikler kullanarak, ürünün resminden bu bilgiyi çıkarabilirsiniz.
    CRM dışında örneklere bakacak olursak
  6. Kombinli Satışın Plasiyer etkisi : Kombinli olarak satılan ürünlerde, plasiyer (satış danışmanı) etkisinin olup olmadığının tespit edilmesi
  7. Başarılı Plasiyer Sistemi : Bağımsız değişkenlerin, plasiyer başarısına etkisinin olup olmadığının tespit edilerek, yeni eleman alımlarında bunun göz önünde bulundurulması
  8. Ürün başarı nedenleri : Satılan ürünün başarısının, bileşenleri ile analizi ve yeni ürün geliştirmede kullanılması (a.k.a. Besim)
  9. Yeni mağaza açma : Yeni açılacak mağazanın yerinin, nüfus, gelir seviyesi, aynı caddede bulunan diğer mağazalar gibi bağımsız değişkenlerle tespit edilmesi
  10. Çalışan Terketme 😛 : Çalışanlarınızın istifa edeceğini önceden tespit etmek. Bu mümkün mü evet mümkün ama bence çok zor ve riskli bir uygulama 🙂
  11. Çocuklar büyüyor : Çocuklar için alışveriş yapan müşterilerin, veri ile çocuklarının büyümesinin tespit edilip, önerilerde bu verinin kullanılması.
  12. Biten ürün : Raf ömrü belli olan ürünlerde, müşterinin ürünü bittiğinde kendisine o ürünü (uygun fiyatla) önerilmesi.

Hem Big Data hem de Machine Learning ile ilgili ayrı ayrı bilgi edindik. Şimdi geldi bunları Perakende ocağında pişirip birleştirmeye. Fakat yazımızın ilk bölümü burada bitiyor. Bir sonraki bölümde Pelin the Planner ile ilgili bir hikaye ile BD ve ML uygulamalarından bahsedeceğiz. İkinci yazı önümüzdeki hafta bugünlerde yayınlanır diye düşünüyorum. Görüşmek üzere.