Basic Data Science Knowledge Part 2: Control Structure, Function dan Class

Dalam menuliskan code di python, adakalanya kita menghadapi perhitungan yg membutuhkan pengulangan. Nah sebagaimana di dalam bahasa pemrograman yg lain, di python juga ada cara melakukan looping untuk lebih mengefisienkan langkah kerja kita.

for i in range(20):
if i%3 == 0:
print i
if i%5 == 0:
print “Bingo!”
print “—“

Di python kita harus memperhatikan indentasi, jika indentasi kita tidak sesuai dengan format python maka proses looping tidak akan perjalan.

Function digunakan juga untuk mempermudah query yang kita buat. Jika kita mempunyai perhitungan yang cukup kompleks namun kita gunakan berulang-ulang maka ada baiknya kita menggunakan function untuk menyimpan perhitungan tadi.

>def kali(x,y):
z=x*y
return z

>kali(5,3)

15

Class

Jika kita membutuhkan sebuah environment yg terlepas dari environment default nya python. Maka salah satu cara untuk melakukan itu adalah dengan menggunakan class. Contoh penggunaan class adalah sebagai berikut

Contoh Class

class Product:
__vendor_message = “Ini adalah rahasia”
name = “”
price = “”
size = “”
unit = “”

def __init__(self, name):
print “Ini adalah constructor”
self.name = name
self.unit = “Gb”
self.size = 10

def get_vendor_message(self):
print self.__vendor_message

def set_price(self, price):
self.price = price

p = Product(“xtra combo”)
p.set_price(55000)

print “%s dengan ukuran %s %s harganya Rp. %d” % (p.name, p.size, p.unit, p.price)
# print p.__vendor_message

p.get_vendor_message()

p1 = Product(“xtra combo”)
p1.set_price(5000)

print “%s dengan ukuran %s %s harganya Rp. %d” % (p.name, p.size, p.unit, p.price)

Source for function: https://www.petanikode.com/tutorial/python

 

 

 

 

 

 

Advertisements

Basic Data Science Knowledge: Python (Part 1)

Python saat ini menjadi tren bahasa yg paling banyak digunakan dalam dunia data science. Walaupun ada bagian-bagian yang masih belum bisa menggantikan R, namun integrasinya dengan ekosistem HADOOP ini lah yang membuatnya menjadi sangat terkenal. Well, tulisan ini hanya catatan pribadi sebagai pengingat dan contekan kalau-kalau lupa.

Saya menginstall python dengan sepaket dengan hanya mendownload anaconda, jadi ringkas di dalamnya ada spyder, jupyter dkk buat GUI nya. Secara personal saya lebih suka menggunakan Jupyter karena formatnya yang mirip dengan R-markdown style di R studio.

Untuk show datanya kita bisa menggunakan

>print (“Hello world”)

Untuk menambahkan komentar bisa menggunakan

> # Ini komentar

Komentar sering bgt saya pakai sebagai pengingat alasan saya menggunakan query tsb. Juga sangat berguna jika query saya digunakan oleh orang lain.

List

Di python sangat flexible kita bisa bikin array yang isinya campur-campur kayak gini.

> a=[99,”cahaya”,[“dilangit”,”eropa”]]

Untuk slicer dari list juga cukup mudah, kita bisa menggunakan index yg selalu dimulai dari 0.

>a[0] hasilnya adalah 99

Berikut contoh lain

>b=range(5)

[0, 1, 2, 3, 4]

>b.append(5)

[0, 1, 2, 3, 4, 5, 5]

>b.pop() #untuk mengetahui jumlah data

5

Dictionary atau Associative Array

Cirinya tidak menggunakan index namun menggunakan keys sehingga kita melakukan fungsi seperti lookup. Keys yg digunakan di dictionary ini sifatnya IMMUTABLE yang artinya tidak boleh diubah-ubah

d = {“duck”: “eend”, “water”: “water”}
d

{'duck': 'eend', 'water': 'water'}

Cara lookupnya

d[“duck”]

‘eend’

Tuple

Hal lain yg perlu dikenal di python adalah tuple. Ciri-cirinya adalah menggunakan kurung ( ) untuk membentuk tuple. Sifat dari tuple juga IMMUTABLE  artinya isinya tidak bisa diubah-ubah.

nama =(‘rahmat’, ‘hid’)
nama

('rahmat', 'hid')

Jika ubah isi tuple nya, maka hasilnya adalah ERROR.

nama[0]=’coding’

Error bla bla xxxx– karena tuple tidak support item assignment

Tuple bisa berisi value, list ,dictionary, object, dan lain-lain.

Variable

variable juga jenis wadah untuk menyimpan value, di python kita tidak perlu melakukan DECLARE variable. Kita bisa langsung membuat variable dan mengisinya dengan value yg kita inginkan. Perbedaannya variable isinya bisa dirubah-rubah.

Pada dasarnya semua hal adalah variable baik itu class, modul maupun fungsi.

var=”isi dengan nilai”
var

'isi dengan nilai'

Kayaknya ini dulu saja untuk yg basic, lagi-lagi tulisan ini buat pengingat saja. Cara paling efektif adalah coba langsung ya guys.

 

 

 

Cara Benar Membuka File CSV

Walaupun ini hal yang sangat dasar namun ternyata masih lumayan banyak orang yang menemui kesulitan dan mengalami kesusahan dalam membuka data yang ada dalam file csv. Baiklah mari simak penjelasan berikut.

Salah satu tipe file yang paling sering di temui dalam dunia analisa data adalah CSV atau (Comma Separated Value). Dengan ukuran file yang relatif kecil, terus fleksibilitas untuk dapat dibuka di hampir semua software baik dari yang simple seperti excel maupun software2 lain seperti hadoop environment (spark, impala dll) membuat banyak orang membagi file nya dalam format csv. Oh iya, satu lagi keunggulan csv file yakni format data yang tersimpan sesuai dengan format aslinya sehingga kita gak khawatir format file tiba-tiba berubah.

Dari yang saya amati, banyak orang yang biasa menggunakan excel langsung double klik di file csv nya… hasilnyaa… BERANTAKAN.

csv folder

Saat langsung double klik.. hasilnya begini nih… malahan ada yg langsung di alokasikan ke kolom.. masih untung formatnya lasngung bener.. tapi dari pengalaman saya lebih banyak gak benernya..

csv berantakan

Klo udah seperti ini saya sarankan tutup aja file nya dan JANGAN di SAVE. Bisa saja kita menggunakan Text To Column namun untuk kali ini kita buka dengan cara paling aman yg saya ketahui. Kalau ada cara lain yg belum disebutkan.. monggo di tambahkan di komentar :).

Ok Langkah pertama buka file excel kosong. Lalu klik menu DATA dan pilih From Text/CSV.buka menu data csv

Pilih file yang ada di folder masing-masing.

import CSV

Kalau pakai excel terbaru kayak saya, akan muncul seperti dibawah ini. Excel akan menganalisa struktur data dari 200 row teratas ( bisa di ubah jumlah row nya) lalu akan menentukan format data per masing-masing kolom.

import csv baru

Setelah klik LOAD hasilnya akan seperti berikut.

final import csv

Naah.. coba anda perhatikan format datanya sudah jauh lebih rapii.. text di format karakter.. angka di format number. Silahkan anda cek data anda lagi sebelum di olah lebih lanjut. Jika sudah rapih dan benar, data siap untuk diproses lebih lanjut. Semoga berguna 🙂

 

 

Binomial Distribution (Bahasa:Sebaran Binomial)

Distribution atau sebaran adalah salah satu konsep yang penting atau bisa dibilang paling penting dalam statistika. Bagi mereka yang mau belajar data science/ analytics konsep  distribusi binomial ini adalah hal yang wajib dipahami. Dari namanya bi= dua  dan nomial=nom=nama,  seharusnya anda bisa menebak bahwa distribusi ini digunakan untuk dua kejadian. Salah satu contoh kejadian yang dapat dijelaskan oleh distribusi binomial adalah pelemparan koin dimana kemunculan angka dan gambar.

Jika sebuah koin simetris dilempar 10 kali maka kita akan mendapatkan n=10 dan jika yang kita amati adalah munculnya angka dengan peluang 50% (kita tandai dengan sukses) dan gambar (gagal) dengan peluang 50%. Maka kita dapat menuliskan sebaran ini dengan n=10, p=0.5 dan 1-p=0.5.

tyjr4

Grafik diatas cukup jelas menunjukkan jika kejadian diulang 40 kali dan koin yang digunakan adalah simetris p=0.5 maka dapat ditunjukkan oleh grafik berwarna biru. Kita lihat bahwa rata-rata kemunculan angka ditunjukkan oleh garis biru tertinggi yakni 20. Munculnya angka rata-rata 20 ini dapat juga kita rumuskan dengan nxp=40 x 0.5.

Dalam pekerjaan sehari-hari banyak sekali kejadian yang dapat dijelaskan dengan distribusi binomial. Di perbankan anda menemukan seorang debitur gagal bayar atau tidak, di dunia telco dan fmcg sering kali diperhatikan mengenai customer yang loyal dan tidak atau di dunia kedokteran untuk mengetahui sebuah obat dapat menyembuhkan penyakit atau tidak. Dengan banyaknya penggunaan distribusi binomial ini maka semakin kuat alasan kita untuk lebih memahami distribusi ini.

 

Reff:

https://towardsdatascience.com/statistics-review-for-data-scientists-and-management-df8f94760221

https://math.stackexchange.com/questions/2123873/is-the-maximum-of-a-probability-distribution-function-of-a-binomial-distribution

 

 

Data Type: Discrete vs Continues

Minggu lalu saya diminta oleh rekan saya untuk membantu sebuah unit baru di kantor saya. Unit ini kedepannya akan sangat intense menggunakan data sebagai bagian dari pekerjaannya. Saya diberikan sebuah set data untuk kemudian di analisa untuk membuktikan bahwa konsep-konsep statistika dapat diaplikasikan dalam pekerjaan mereka. Setelah menyiapkan beberapa halaman slide, saya pun datang dan menjelaskan bagaimana langkah-langkah yang saya lakukan sampai menghasilkan model sesuai dengan harapan mereka. Ternyata… sebagian besar dari audiens masih sangat awam dengan jargon-jargon statistika. Hal ini membuat saya kembali berpikir bahwa kembali menguatkan konsep dasar tidak akan pernah menjadi kesia-siaan. Baiklah, mari kita mulai dengan discrete dan continues.

Sederhananya variabel discrete adalah variabel yang berasal dari operasi menghitung. Jumlah gelas di dalam lemari, jumlah buah di dalam keranjang. Hitungan sederhana seperti 1,2,3 dst. Tidak ada angka desimal di dalam variabel discrete.07778a4906f57221506f44beef50cf6d

Sedangkan variabel continues adalah variabel yang memiliki selisih antara dua variabel 0 hanya jika variabel tersebut dikurangi dengan dirinya sendiri. Ciri-cirinya adalah adanya angka decimal 1.991, 1.9999992 dst. Contohnya adalah berat badan, tinggi badan, interval waktu dll.

cant-lose-weightPenentuan variabel ini sangat berpengaruh terhadap analisa data yang akan anda lakukan kedepannya. Jika anda mempunyai variable discrete akan lebih cocok jika anda menggunakan median untuk ukuran pemusatan dan untuk variabel continues akan lebih tepat jika anda menggunakan rata-rata. Jika anda masih bingung dengan ukuran pemusatan mungkin anda ingin membaca tulisan saya tentang Ukuran Penyebaran Data.

Biasanya saat anda melakukan import data kedalam software anda akan diminta untuk mendifinisikan variabel yang anda masukkan. Nah dengan mendefinisikan data anda dengan tipe data yang tepat anda tidak akan mengurangi masalah yang mungkin anda hadapi pada langkah-langkah berikutnya.

 

Tipe-tipe data yg wajib diketahui analyst pemula

lrdatahd

Tidak ada salahnya kita terkesa dengan berbagai jenis analisa keren dan sophisticated kayak regression, naive bayes, decision tree dkk. Namun sebaiknya sebelum kita lompat kearah situ mari kita melihat hal-hal basic yg mungkin terlewat, terutama bagi rekan-rekan yang baru saja berkecimpung di dunia data.

Pada postingan saya sebelumnya, saya sudah menjelaskan jenis2 data berdasarkan sifatnya (nominal, ordinal, interval dan rasio) nah sekarang kita sedikit mundur ke belakang utk mengenal dan mengetahui tipe data. Disini saya levih menekankan definisi yang digunakan di dunia database.

Memang sudah tdk dapat dipungkiri lagi bahwa sebagian besar data kita tersimpan dalam sebuah ekosistem database dimana didalamnya ada kolom (field) dan baris (record). Ekosistem ini sangat efisien sehingga dari awal pembuatan database ini perlu diketahui apa saja tipe data dari kolom-kolom yang disimpan.

1. Character/ String/ varchar

Tipe data jenis ini dicirikan dengan adanya HURUF, ANGKA dan KARAKTER, operasi matematika yang bisa dilakukan adalah COUNT. Jika kita petakan ke jenis data di area statistika maka yang masuk kategori ini adalah nominal dan ordinal.

2. Integer dan float

Integer atau yang lebih dikenal dengan bilangan bulat adalah tipe data yang dihasilkan dari operasi COUNT yang menandakan banyaknya benda. kita bisa melakukan operasi hampir semua operasi matematika untuk tipe data ini. Sedangkan FLOAT adalah tipe data yang mengandung angka desimal. Kedua tipe data ini dapat dikategorikan menjadi jenis data RASIO dan INTERVAL.

3. Boolean

Seringkali dalam query kita mema=bandingkan antara dua value atau lebih dengan menggunakan IF..THEN..ELSE… atau menggunakan >, = dkk. Nah hasil dari pembandingan ini disimpan dalam bentukan BOOLEAN. Tipe data ini hanya memiliki dua nilai yakni TRUE dan FALSE.

Dengan mengetahui tipe-tipe data ini kita dapat mendesign sebuah  analisa data sesuai dengan tipe data yang kita miliki. Seringkali kita menemukan tipe data yang tidak sesuai dengan kebutuhan kita, akhirnya harus melakukan transformasi yang sangat banyak untuk itu. Memang tidak salah akhirnya pekerjaan data analyst, statistician dan data scientist 90% nya dihabiskaan hanya untuk data preparation.. Nasiiiib…

Susah gampang mendapatkan data jumlah penduduk

Saat ini banyak instansi pemerintah, perorangan maupun perusahaan yang membutuhkan informasi untuk mendukung pengambilan keputusannya. Lama kelamaan sumber data internal semakin tidak mencukupi untuk lebih menajamkan hasil analisa. Mungkin ada yang bertanya kenapa data internal tidak mencukupi? Bukannya data internal itu sifatnya detail dan sudah terstruktur? Iya, benar sekali. Namun data internal sifatnya sangat spesifik dan sering terbatas pada tema tertentu misalkan industri keuangan hanya memiliki data tentang kredit macet, jumlah nasabah, jumlah deposito dll.

Salah satu contoh kasus sebuah perusahaan membutuhkan data eksternal adalah saat menyusun Rencana Bisnis (Business Plan). Hal pertama yang dilakukan adalah dengan mengumpulkan data historis dari data internal lalu kemudian melakukan forecasting/ peramalan setahun kedepan. Hanya menggunakan data internal saja maka model akan memberikan hasil forecasting sesuai dengan data historical, jika data historical naik maka di masa depan akan cenderung naik jika turun juga akan cenderung turun. Nah.. disinilah kita membutuhkan data eksternal. Jika bisnis kita sangat tergantung pada jumlah penduduk dan levelnya adalah kecamatan. Maka mulailah kita nanya mbah google.com. Saya sendiri mencoba mencari data ini karena kebetulan di kantor juga membutuhkannya.

Hasilnya sebagai berikut.

jml penduduk per kecSemua pencarian diatas merujuk pada website masing-masing kabupaten. Artinya kita harus mendownload SEBANYAK JUMLAH KABUPATEN!!! Inilah salah satu suka duka cari data gratisan..hahaha…

Tapi tunggu dulu link paling atas itu memiliki semua data penduduk per kecamatan yang sudah di rekap. Mantap nih.. Saat di klik dukcapil kecamatan

Waaah bagus banget nih… datanya persis seperti yang saya butuhkan tapiii….setelah copas ke excel hasilnya begini..

excel penduduk

Sayangnya format data yang ada belum sesuai dengan ekspektasi saya. Saya membutuhkan format seperti ini

TABEL FORMAThanya untuk beberapa baris data saja saya membutuhkan waktu lebih dari 5 menit, sudah bisa dibayangkan berapa lama waktu yang dibutuhkan untuk mengumpulkan data se-Indonesia?

Pada postingan berikutnya saya akan coba share cara lain untuk mengumpulkan data dengan lebih mudah. Buat yang tertarik dengan data yang sudah rapi silahkan subscribe dan follow blog saya.

Cara Mudah Menggabungkan Beberapa File txt/csv Besar (Tanpa CoPas)

Seperti anda semua ketahui bahwa jumlah row/baris ms excel itu terbatas sekitar 1jt row. Buat anda yang sering bekerja dengan data yang besar maka ms excel akan sangat kewalahan untuk menampung data yang anda miliki, padahal kita biasanya menggunakan excel untuk melakukan manipulasi dan pengolahan data.

Jika anda menggunakan excel untuk menggabungkan 2 atau lebih file dengan total row lebih dari 1 jt row maka hal itu tidak mungkin anda lakukan. Mungkin anda berpikir untuk mencari software-software kecil yang anda gunakan untuk membantu pekerjaan anda.

Kondisi yang lain, mungkin anda dapat menggunakan ms excel untuk menggabungkan data, namun jumlah file yang anda miliki misalkan 100 file txt atau csv. Mungkin anda akan mati kebosanan untuk melakukannya. Berikut saya berikan langkah sederhana untuk menggabungkan file txt atau csv tanpa menggunakan software tambahan lain.

Pertama nyalakan COMMAND PROMPT dengan mengetik cmd pada kolom pencarian.

cmd1

Arahkan ke direktori pada folder yang berisi file yang anda ingin gabungkan.

cmd3

dapat dilihat bahwa kita memiliki 14 file yang akan digabungkan.

cmd0

Pada command prompt masukan script copy /b *.csv gabung.csv dimana copy /b adalah script default, *.csv berarti menggabungkan semua file yang ada di folder tersebut. Sedangkan gabung.csv adalah nama file hasil penggabungan.

cmd4

Pada folder yang sama akan muncul 1 file bernama gabung.csv

cmd5

Sebelum anda menggunakan file tersebut jika pada file asli anda memiliki header pada datanya, maka anda perlu menghilangkan header tersebut dari file hasil gabungan.

cmd6

Cukup dengan sort datanya dan delete semua row yang berisi header.

cmd7

Setelah langkah terakhir anda lakukan, maka file gabung.csv anda sudah dapat anda gunakan.

 

Korelasi tidak bermakna sebab-akibat

Anda mendatangi sebuah seminar, dimana anda disajikan berbagai macam informasi. Lalu anda terpaku pada sebuah grafik yang menurut anda cukup menarik. Coba anda lihat sendiri apakah grafik dibawah ini cukup menarik..

aaeaaqaaaaaaaanoaaaajdu3njk4mjvjltbmogqtndmwmi04mgjjltzkytaxnja0mjhkmw

Wow…ini sangat menarik. Apa hal pertama yang anda lihat? Lihatlah garis biru dan merah yang berdampingan dan saling mengikuti satu sama lain. Apakah anda sejenak berpikir kedua hal tersebut saling berpengaruh satu sama lain? Tunggu dulu! Coba anda perhatikan keterangan grafik diatas. Beneran nih??? Penjualan es krim dan kebakaran hutan?? Logika saya tiba-tiba macet dan berpikir ulang mengenai sebab-akibat, bagaimana mungkin es krim menyebabkan kebakaran hutan??.

Percaya atau tidak kita sering melakukan ini dalam kehidupan sehari-hari, kejadian banjir jakarta disebabkan oleh hujan di bogor, jalanan macet disebabkan oleh banyak angkot, hidup saya menderita karena jokowi jadi presiden. Cukup familiar?? Contoh-contoh diatas memang menggelitik rasa penasaran kita mengenai apa penyebab suatu hal terjadi. Logika jika ini terjadi maka itu terjadi adalah logika sebab akibat. Namun kita harus sangat berhati-hati untuk menghubungkan dua kejadian yang seakan-akan berhubungan namun kenyataannya keduanya hanya semata-mata akibat dari suatu SEBAB yang sama-sama tidak atau belum kita ketahui.

Kembali ke ES KRIM dan KEBAKARAN HUTAN, dengan menggunakan logika sederhana kita mengetahui bahwa keduanya tidak berhubungan, namun ada hal yang menghubungkannya. Kita bisa menggambarkannya sebagai berikut:

Kebakaran hutan—>Suhu tinggi–>Musim Kemarau–>Suhu tinggi—> Makan Es krim–>Penjualan es krim meningkat

Terlihat lebih masuk akal kan?

Kenyataannya memang antara penjualan es krim dan kebakaran hutan mempunyai korelasi yang sangat tinggi let’s say 90% namun demikian tidak serta merta kita bisa menyimpulkan  or berspekulasi bahwa penjualan es krim yang menyebabkan kebakaran hutan atau kebakaran hutan yang membuat penjualan es krim meningkat.

Lalu bagaimana membuktikan bahwa dua variabel punya hubungan sebab akibat? Nah disinilah anda membutuhkan pemodelan regresi dan rancangan percobaan.  Kemampuan metode ini dalam memisahkan faktor-faktor yang benar-benar berpengaruh (secara signifikan) terhadap faktor-faktor lain (termasuk didalamnya adalah error-galat) memberikan kita bantuan apakah sebuah faktor benar-benar memiliki hubungan berpengaruh atau hanya sekedar kebetulan semata.

Sepertinya berikutnya bagus juga untuk membedah rumus korelasi dan rumus anova/regresi untuk menemukan bagaimana metode ini dapat memisahkan faktor kebetulan ini. 🙂

Coba kita lihat rumus korelasi berikut:

korelasi-5

Jika kita bedah rumus korelasi diatas kita hanya melihat jika ada dua variabel X dan Y maka besarnya r hanya ditentukan seberapa besar perubahan X dan Y bergerak pada suatu rentang tertentu. Disini kita hanya dapat menyimpulkan bahwa X dan Y berubah searah (+) atau berlawanan (-) dan jika jarak antara data X dan Y cukup dekat maka korelasinya kuat sedangkan jika jarak antara X dan Y berjauhan maka korelasinya lemah. Jika pertanyaan kita adalah jika X bergerak satu satuan, berapa satuankah Y bergerak? Karena jika pergerakan X tidak membuat Y bergerak sama sekali artinya X tidak mempengaruhi Y.  Dengan perhitungan korelasi, kita tidak mendapatkan informasi pergerakan Y saat X bergerak. Jadi jelas sudah konsep korelasi tidak bisa menjawab kausalitas (Sebab- akibat). Sudah cukup jelas??

Like & share –>jika artikelnya cukup berguna

Komentar–> jika ada yang kurang jelas 🙂

 

Ability to see pattern in randomness

life_is_random

Dulu sekali, disalah satu stasiun televisi swasta menayangkan sebuah acara dimana beberapa orang ‘sakti’berkumpul untuk menangkap hantu. Kami yang saat itu masih anak-anak sangat menggandrungi acara ini, apalagi saat salah seorang dari pemburu tersebut membuat lukisan dengan mata tertutup, lalu muncullah gambar makhluk-makhluk aneh dengan ajaibnya.

Beda halnya dengan salah satu karakter novel kesukaan saya Sherlock Holmes, berkali-kali membaca dan menonton film dan serialnya selalu membuat saya berdecak kagum. Kemampuannya dalam memecahkan kasus-kasus kriminal membuat pembaca tenggelam dalam alur cerita yang dituliskan oleh Sir Arthur Conan Doyle.

Lalau apa hubungannya antara pemburu hantu dan Sherlock Holmes? Keduanya memiliki sebuah kesamaan yakni kemampuan melihat sesuatu yang tidak bisa dilihat oleh orang kebanyakan. Walau dalam kasus pemburu hantu saya juga masih ragu apa itu rekayasa atau bukan, tapi ya sudahlah anggap saja mereka bisa lihat.period. Kemampuan ini yang membuat mereka special dan berbeda dengan orang lain yang akhirnya membuat mereka terkenal dan dibayar mahal.

Menurut saya apa yang kita lakukan dalam menganalisa data adalah mencoba melihat pola-pola yang tidak terlihat dari sekumpulan data atau kejadian yang seakan-akan acak dan chaos. Dalam era social media ini, perusahaan selalu mencoba untuk lebih baik dari perusahaan lain dengan berbagai cara, salah satu nya adalah membuat produk yang berbeda dan lebih baik dari pesaingnya. Semakin banyak kita tahu tentang informasi lebih dari pesaing kita, maka semakin besar peluang kita menang.

Di zaman dimana semua aktifitas kita terekam lewat sebuah alat yang bernama smartphone ini, maka tidak ada lagi batasan antara kita dengan perusahaan penghasil produk. Tergantung apakah mereka mampu menemukan pola/pattern yang kita hasilkan. Dapatkah mereka memberikan sebuah penawaran/solusi/produk/jasa yang sesuai dengan kebutuhan kita.

Pertanyaan untuk kita adalah apakah anda mampu melihat pola yang teratur dalam sebuah kejadian acak?