Project Data Analysis for Finance: Proses Investasi Investor

Nicholas Razali

Pendahuluan

Project ini merupakan project yang terdapat pada website DQLab dan merupakan salah satu bagian dari proses pembelajaran saya di DQLab.

Website DQLab: https://academy.dqlab.id/

Latar Belakang

DQLab Finance merupakan perusahaan peer to peer lending, sehingga DQLab Finance membutuhkan investor untuk memberikan pinjaman kepada calon borrower.

Setiap ada borrower yang mengajukan pinjaman, DQLab Finance akan mengupload loan itu ke marketplace lalu kemudian investor yang sudah mendaftar akan melihat loan tersebut, jika ada yang cocok maka mereka akan order lalu bayar. Sehingga investor tersebut membiayai loan yang tadi dipilih.

Pada project kali ini, akan dilakukan analisis terhadap proses investasi dari investor tersebut.

Langkah yang akan Dilakukan

Menganalisis proses investasi dari investor yang terdaftar di DQLab Finance. Berikut adalah langkah yang dilakukan

  1. Eksplorasi data
  2. Manipulasi data
  3. Analisis proses investasi
  4. Analisis waktu sampai investasi pertama
  5. Analisis retention invest

Analisis Data

Melakukan pemanggilan library yang digunakan

library(lubridate)
library(dplyr)
library(tidyr)
library(ggplot2)

Berikut adalah data yang digunakan

df_event <- read.csv('https://storage.googleapis.com/dqlab-dataset/event.csv', stringsAsFactors = F)
dplyr::glimpse(df_event)
## Rows: 33,571
## Columns: 4
## $ loan_id     <int> 2, 2, 2, 133, 133, 133, 2693, 2693, 2693, 6, 6, 6, 2769, 2…
## $ investor_id <int> 114, 114, 114, 114, 114, 114, 8159, 8159, 8159, 163, 163, …
## $ nama_event  <chr> "investor_view_loan", "investor_order_loan", "investor_pay…
## $ created_at  <chr> "2019-07-07 11:47:58", "2019-07-07 11:48:16", "2019-07-07 …

Selanjutnya mengubah kolom created_at menjadi tipe Timestamp

df_event$created_at <- ymd_hms(df_event$created_at)
dplyr::glimpse(df_event)
## Rows: 33,571
## Columns: 4
## $ loan_id     <int> 2, 2, 2, 133, 133, 133, 2693, 2693, 2693, 6, 6, 6, 2769, 2…
## $ investor_id <int> 114, 114, 114, 114, 114, 114, 8159, 8159, 8159, 163, 163, …
## $ nama_event  <chr> "investor_view_loan", "investor_order_loan", "investor_pay…
## $ created_at  <dttm> 2019-07-07 11:47:58, 2019-07-07 11:48:16, 2019-07-07 13:1…

Summary Event

Karena data yang ada berbentuk log per event, maka kita perlu melihat apa saja isi dari event ini, dan bagaimana flow nya.

Dari data.frame df_event yang sudah dibuat pada bagian sebelumnya, dikelompokkan dengan group by berdasarkan nama_event lalu hitung dengan summarise,

  • jumlah_event : untuk mengetahui jumlah terjadinya event, atau ada berapa baris
  • loan : untuk mengetahui jumlah unik loan_id
  • investor : untuk mengetahui jumlah unik investor_id
df_event %>%
  group_by(nama_event) %>%
  summarise(
    jumlah_event = n(),
    loan = n_distinct(loan_id),
    investor = n_distinct(investor_id)
  )
## # A tibble: 5 × 4
##   nama_event          jumlah_event  loan investor
##   <chr>                      <int> <int>    <int>
## 1 investor_order_loan         3714  3641      804
## 2 investor_pay_loan           3632  3632      771
## 3 investor_register          17931     1    17931
## 4 investor_view_loan          4616  3678     1095
## 5 loan_to_marketplace         3678  3678        1

Berdasarkan hasil tersebut, ternyata ada 5 event. Dengan penjelasan sebagai berikut :

  1. investor_register : Event saat Investor register.

    Jumlah event sama dengan unik investor, artinya setiap investor melakukan event ini hanya 1 kali. Jumlah loan hanya 1, ini isinya NA, karena register ini tidak memerlukan loan.
  2. loan_to_marketplace : Event saat loan diupload ke marketplace,

    Jumlah event sama dengan jumlah loan, artinya setiap loan diupload hanya 1 kali. Jumlah investor hanya 1, ini isi NA, karena saat upload ke marketplace tidak berhubungan dengan investor.
  3. investor_view_loan : Event saat investor melihat detail loan di marketplace.

    Jumlah event nya tidak sama dengan unik loan maupun unik investor, artinya 1 investor dapat melihat loan yang sama beebrapa kali, dan 1 loan bisa dilihat oleh beberapa investor berbeda.
  4. investor_order_loan : Event saat investor memesan loan, menunggu pembayaran.

    Jumlah event nya tidak sama dengan unik loan maupun unik investor, artinya 1 loan bisa dipesan oleh beberapa investor berbeda (jika pemesanan sebelumnya tidak dibayar).
  5. investor_pay_loan : Event saat investor membayar loan dari pesanan sebelumnya.

    Jumlah Event nya sama dengan unik loan, artinya 1 loan ini hanya bisa dibayar oleh 1 investor. Jumlah investor lebih sedikit daripada jumlah loan artinya 1 investor bisa membeli banyak loan.

Event loan di upload to marketplace

Untuk event loan di-upload ke marketplace karena tidak ada investor_id nya, maka bisa diproses sendiri. Untuk memisahkannya, cukup filter nama event ‘loan_to_marketplace’, lalu ubah nama created_at sebagai marketplace.

df_marketplace  <- df_event %>%
  filter(nama_event == 'loan_to_marketplace') %>%
  select(loan_id, 
         marketplace = created_at) 

head(df_marketplace)
##   loan_id         marketplace
## 1       1 2019-07-06 09:03:04
## 2       2 2019-07-06 09:00:00
## 3       3 2019-07-06 09:03:04
## 4       4 2019-07-06 09:03:04
## 5       5 2019-07-05 11:45:07
## 6       6 2019-07-08 16:35:28

Event investor melihat detail loan

Untuk event investor melihat detail loan, karena investor bisa melihat detail loan berkali kali maka akan diproses terpisah untuk membuat summary per loan per investor

df_view_loan <- df_event %>%
  filter(nama_event == 'investor_view_loan') %>%
  group_by(loan_id, investor_id ) %>%
  summarise(
    jumlah_view = n(),
    pertama_view = min(created_at),
    terakhir_view = max(created_at)
)

head(df_view_loan)
## # A tibble: 6 × 5
## # Groups:   loan_id [6]
##   loan_id investor_id jumlah_view pertama_view        terakhir_view      
##     <int>       <int>       <int> <dttm>              <dttm>             
## 1       1         107           1 2019-07-07 11:48:11 2019-07-07 11:48:11
## 2       2         114           1 2019-07-07 11:47:58 2019-07-07 11:47:58
## 3       3          97           1 2019-07-06 09:50:00 2019-07-06 09:50:00
## 4       4          97           1 2019-07-06 09:49:20 2019-07-06 09:49:20
## 5       5         107           1 2019-07-05 12:54:25 2019-07-05 12:54:25
## 6       6         163           1 2019-07-08 16:40:31 2019-07-08 16:40:31

Event investor pesan dan bayar loan

Lalu untuk event investor_order_loan dan investor_pay_loan, karena unik untuk kombinasi loan_id dan investor_id, maka bisa diproses bersamaan

df_order_pay <- df_event %>%
  filter(nama_event %in% c('investor_order_loan' ,'investor_pay_loan')) %>%
  spread(nama_event,created_at ) %>% 
  select(
    loan_id,
    investor_id,
    order = investor_order_loan,
    pay = investor_pay_loan
  )

head(df_order_pay)
##   loan_id investor_id               order                 pay
## 1       1         107 2019-07-07 11:48:57 2019-07-07 12:02:18
## 2       2         114 2019-07-07 11:48:16 2019-07-07 13:14:39
## 3       3          97 2019-07-06 09:50:02 2019-07-06 10:14:44
## 4       4          97 2019-07-06 09:49:23 2019-07-06 09:59:51
## 5       5         107 2019-07-05 12:55:15 2019-07-05 13:55:54
## 6       6         163 2019-07-08 16:42:03 2019-07-08 16:45:56

Gabungan Data Loan Investasi

Selanjutnya, gabungkan df_marketplace dengan df_view_loan dan df_order_pay yang sudah dibuat sebelumnya untuk membuat data.frame yang berisi waktu untuk masing-masing event dari loan diupload ke marketplace, dilihat oleh investor, lalu dipesan dan dibayar.

df_loan_invest <- df_marketplace %>%
  left_join(df_view_loan, by = 'loan_id') %>%
  left_join(df_order_pay, by = c('loan_id','investor_id'))

head(df_loan_invest)
##   loan_id         marketplace investor_id jumlah_view        pertama_view
## 1       1 2019-07-06 09:03:04         107           1 2019-07-07 11:48:11
## 2       2 2019-07-06 09:00:00         114           1 2019-07-07 11:47:58
## 3       3 2019-07-06 09:03:04          97           1 2019-07-06 09:50:00
## 4       4 2019-07-06 09:03:04          97           1 2019-07-06 09:49:20
## 5       5 2019-07-05 11:45:07         107           1 2019-07-05 12:54:25
## 6       6 2019-07-08 16:35:28         163           1 2019-07-08 16:40:31
##         terakhir_view               order                 pay
## 1 2019-07-07 11:48:11 2019-07-07 11:48:57 2019-07-07 12:02:18
## 2 2019-07-07 11:47:58 2019-07-07 11:48:16 2019-07-07 13:14:39
## 3 2019-07-06 09:50:00 2019-07-06 09:50:02 2019-07-06 10:14:44
## 4 2019-07-06 09:49:20 2019-07-06 09:49:23 2019-07-06 09:59:51
## 5 2019-07-05 12:54:25 2019-07-05 12:55:15 2019-07-05 13:55:54
## 6 2019-07-08 16:40:31 2019-07-08 16:42:03 2019-07-08 16:45:56

Melihat hubungan jumlah view dengan order

Melihat apakah ada hubungan antara berapa kali investor melihat loan dengan keputusan order atau tidak.

df_loan_invest %>%
  mutate(status_order = ifelse(is.na(order), 'not_order','order')) %>% 
  count(jumlah_view, status_order) %>% 
  spread(status_order, n, fill = 0) %>% 
  mutate(persen_order = scales::percent(order/(order + not_order)))
##   jumlah_view not_order order persen_order
## 1           1       570  3513        86.0%
## 2           2        20   173        89.6%
## 3           3         3    23        88.5%
## 4           4         0     3       100.0%
## 5           5         1     1        50.0%
## 6           7         0     1       100.0%
## 7          40         1     0         0.0%

Berapa lama waktu yang dibutuhkan investor untuk pesan sejak pertama melihat detail loan

Melihat persebaran lama waktu dari pertama melihat detail loan sampai memutuskan untuk order

df_loan_invest %>%
  filter(!is.na(order)) %>% 
  mutate(lama_order_view  = as.numeric(difftime(order, pertama_view, units = "mins"))) %>% 
  group_by(jumlah_view) %>% 
  summarise_at(vars(lama_order_view), funs(total = n(), min, median, mean, max)) %>% 
  mutate_if(is.numeric, funs(round(.,2)))
## # A tibble: 6 × 6
##   jumlah_view total     min  median    mean    max
##         <dbl> <dbl>   <dbl>   <dbl>   <dbl>  <dbl>
## 1           1  3513    0.03    1.35    2.97   79.6
## 2           2   173    0.43   22.1    61.1  2446. 
## 3           3    23    7.25   32.0    66.4   495. 
## 4           4     3   17.1    33.9    34.1    51.2
## 5           5     1 1113.   1113.   1113.   1113. 
## 6           7     1  549.    549.    549.    549.

Ternyata mayoritas investor langsung memesan loan ketika membuka detailnya, yakni dibawah 5 menit untuk investor yang melihat detail loan 1 kali saja lalu pesan. Untuk yang membuka 2-4 kali waktunya berkisar 30 menitan. Pada jumlah_view 2 dan 3, karena ada outlier pesan lama sampai jauh dari median, ini membuat nilai rata-ratanya terpengaruh menjadi tinggi, 1 jam lebih.

Rata- rata waktu pemesanan sejak loan di-upload setiap minggu nya

Melakukan perhitungan lama waktu order sejak loan itu pertama di-upload. Data ini akan dibuat dalam bentu plot mingguan untuk melihat bagaimana tren nya.

df_lama_order_per_minggu <- df_loan_invest %>% 
  filter(!is.na(order)) %>%
  mutate(tanggal = floor_date(marketplace, 'week'),
         lama_order = as.numeric(difftime(order, marketplace, units = "hour"))) %>% 
  group_by(tanggal) %>%
  summarise(lama_order = median(lama_order)) 

ggplot(df_lama_order_per_minggu) +
  geom_line(aes(x = tanggal, y = lama_order)) +
  theme_bw() + 
  labs(
    title = "Rata-rata lama order pada tahun 2020 lebih lama daripada 2019", 
    x = "Tanggal", 
    y = "waktu di marketplce sampai di-pesan (jam)")

Apakah Investor membayar pesanan yang dia buat.

Melihat berapa persen pesanan yang dibayar oleh investor. Data ini akan dibuat dalam bentuk plot mingguan untuk melihat bagaimana tren nya.

df_bayar_per_minggu <- df_loan_invest %>% 
  filter(!is.na(order)) %>%
  mutate(tanggal = floor_date(marketplace, 'week')) %>% 
  group_by(tanggal) %>%
  summarise(persen_bayar = mean(!is.na(pay))) 

ggplot(df_bayar_per_minggu) +
  geom_line(aes(x = tanggal, y = persen_bayar)) +
  scale_y_continuous(labels = scales::percent) +
  theme_bw() + 
  labs(
    title = "Sekitar 95% membayar pesanannya. Di akhir mei ada outlier karena lebaran",
    x = "Tanggal",
    y = "Pesanan yang dibayar")

Waktu yang dibutuhkan investor untuk membayar pesanan

Melakukan perhitungan lama waktu pembayaran sejak pesanan dibuat. Data ini akan dibuat dalam bentuk plot mingguan untuk melihat bagaimana tren nya.

df_lama_bayar_per_minggu <- df_loan_invest %>% 
  filter(!is.na(pay)) %>%
  mutate(tanggal = floor_date(order, 'week'),
         lama_bayar = as.numeric(difftime(pay, order, units = "hour"))) %>% 
  group_by(tanggal) %>%
  summarise(lama_bayar = median(lama_bayar)) 

ggplot(df_lama_bayar_per_minggu) +
  geom_line(aes(x = tanggal, y = lama_bayar)) +
  theme_bw() + 
  labs(
    title = "Waktu pembayaran trennya cenderung memburuk, 2x lebih lama dari sebelumnya",
    x = "Tanggal",
    y = "waktu di marketplce sampai di-pesan (jam)"
  )

Kesimpulan

Trend pada tahun 2020 cenderung lebih jelek daripada tahun 2019, hal ini mungkin karena adanya pandemi investor menjadi lebih lama untuk memprtimbangkan invest dimana, dan apakah pesanan yang sudah dibuat mau dibayar atau tidak.

Trend Investor Register

Di data.frame df_event ada 1 event yang belum diolah, yakni ‘investor_register’, disini akan dibuat bagaimana tren jumlah investor yang register.

df_investor_register <- df_event %>% 
  filter(nama_event == 'investor_register') %>%
  mutate(tanggal = floor_date(created_at, 'week')) %>% 
  group_by(tanggal) %>%
  summarise(investor = n_distinct(investor_id)) 

ggplot(df_investor_register) +
  geom_line(aes(x = tanggal, y = investor)) +
  theme_bw() + 
  labs(
    title = "Investor register sempat naik di awal 2020 namun sudah turun lagi", 
    x = "Tanggal", 
    y = "Investor Register")

Trend Investor Investasi Pertama

Setelah mendaftar, tujuan selanjutnya untuk investor adalah agar dia bisa invest. Hal ini biasa disebut conversion, yakni ketika user convert menjadi user yang kita harapkan, atau naik ke funnel yang lebih baik.

Untuk mencari tahu kapan investor convert, perlu dicari kapan investor pertama kali invest dan dibuat tren nya.

df_investor_pertama_invest <- df_event %>% 
  filter(nama_event == 'investor_pay_loan') %>%
  group_by(investor_id) %>% 
  summarise(pertama_invest = min(created_at)) %>% 
  mutate(tanggal = floor_date(pertama_invest, 'week')) %>% 
  group_by(tanggal) %>% 
  summarise(investor = n_distinct(investor_id)) 

ggplot(df_investor_pertama_invest) +
  geom_line(aes(x = tanggal, y = investor)) +
  theme_bw() + 
  labs(title = "Ada tren kenaikan jumlah investor invest, namun turun drastis mulai Maret 2020",
       x = "Tanggal",
       y = "Investor Pertama Invest")

Cohort Pertama Invest berdasarkan Bulan Register

Sebelumnya sudah dihitung bagaimana tren investor baru invest setiap minggunya. Selanjutnya akan dilihat conversion invest berdasarkan bulan register.

df_register_per_investor <- df_event %>%
  filter(nama_event == 'investor_register') %>% 
  rename(tanggal_register = created_at) %>%  
  mutate(bulan_register = floor_date(tanggal_register, 'month'))  %>%  
  select(investor_id, tanggal_register, bulan_register) 

df_pertama_invest_per_investor <- df_event %>%
  filter(nama_event == 'investor_pay_loan') %>% 
  group_by(investor_id) %>% 
  summarise(pertama_invest = min(created_at)) 

head(df_register_per_investor)
##   investor_id    tanggal_register bulan_register
## 1           1 2019-07-01 00:55:46     2019-07-01
## 2           4 2019-07-01 03:04:05     2019-07-01
## 3           6 2019-07-01 07:26:11     2019-07-01
## 4           7 2019-07-01 07:41:42     2019-07-01
## 5          13 2019-07-01 12:42:08     2019-07-01
## 6          14 2019-07-01 13:20:30     2019-07-01
head(df_pertama_invest_per_investor)
## # A tibble: 6 × 2
##   investor_id pertama_invest     
##         <int> <dttm>             
## 1          28 2019-08-26 10:03:34
## 2          78 2020-03-09 13:18:52
## 3          79 2019-07-05 17:04:52
## 4          97 2019-07-06 09:59:51
## 5         107 2019-07-05 13:55:54
## 6         114 2019-07-07 13:14:39
df_register_per_investor %>% 
  left_join(df_pertama_invest_per_investor, by = 'investor_id') %>% 
  mutate(lama_invest = as.numeric(difftime(pertama_invest, tanggal_register, units = "day")) %/% 30) %>%  
  group_by(bulan_register, lama_invest) %>% 
  summarise(investor_per_bulan = n_distinct(investor_id)) %>% 
  group_by(bulan_register) %>% 
  mutate(register = sum(investor_per_bulan)) %>% 
  filter(!is.na(lama_invest)) %>% 
  mutate(invest = sum(investor_per_bulan)) %>% 
  mutate(persen_invest = scales::percent(invest/register)) %>% 
  mutate(breakdown_persen_invest = scales::percent(investor_per_bulan/invest)) %>% 
  select(-investor_per_bulan) %>% 
  spread(lama_invest, breakdown_persen_invest) 
## # A tibble: 11 × 14
## # Groups:   bulan_register [11]
##    bulan_register      register invest persen_invest `0`    `1`   `2`   `3`  
##    <dttm>                 <int>  <int> <chr>         <chr>  <chr> <chr> <chr>
##  1 2019-07-01 00:00:00     2142     73 3%            61.6%  8.2%  6.8%  5.5% 
##  2 2019-08-01 00:00:00     1458     74 5%            55.4%  8.1%  14.9% 10.8%
##  3 2019-09-01 00:00:00     1763     94 5%            67.0%  21.3% 4.3%  2.1% 
##  4 2019-10-01 00:00:00     1437     83 6%            77.1%  8.4%  4.8%  7.2% 
##  5 2019-11-01 00:00:00     1607     87 5%            75.9%  11.5% 9.2%  1.1% 
##  6 2019-12-01 00:00:00     1085     55 5%            69.1%  16.4% 7.3%  5.5% 
##  7 2020-01-01 00:00:00     1138     78 7%            78.2%  15.4% 3.8%  2.6% 
##  8 2020-02-01 00:00:00     1520    115 8%            86.09% 6.96% 6.09% 0.87%
##  9 2020-03-01 00:00:00     2776     53 2%            94%    6%    <NA>  <NA> 
## 10 2020-04-01 00:00:00     2034     51 3%            86%    14%   <NA>  <NA> 
## 11 2020-05-01 00:00:00      971      8 1%            100%   <NA>  <NA>  <NA> 
## # ℹ 6 more variables: `4` <chr>, `5` <chr>, `6` <chr>, `7` <chr>, `8` <chr>,
## #   `9` <chr>

Terihat bahwa untuk total register paling banyak adalah di bulan Maret 2020, seperti pada chart sebelumnya, hanya saja dari sebanyak itu sampai saat ini belum ada 2% yang sudah invest, sangat jauh dibandingkan bulan sebelumnya, yang bisa mencapai 7% lebih. yang merupakan conversion rate paling tinggi.

Pada umumnya, hanya 5% investor dari semua investor yang mendaftar akan convert. Dan ketike convert mayoritas mereka melakukannya di bulan pertama (kurang dari 30 hari) sejak registrasi.

Cohort Retention Invest

Setelah cohort investasi pertama, selanjutnya yang dihitung adalah cohort retention. Yakni apakah investor kembali invest lagi di bulan bulan selanjutnya setelah investasi pertama.

df_investasi_per_investor <- df_event %>%
  filter(nama_event == 'investor_pay_loan') %>%
  rename(tanggal_invest = created_at) %>% 
  select(investor_id, tanggal_invest)

df_pertama_invest_per_investor %>% 
  mutate(bulan_pertama_invest = floor_date(pertama_invest, 'month'))  %>% 
  inner_join(df_investasi_per_investor, by = 'investor_id') %>%
  mutate(jarak_invest = as.numeric(difftime(tanggal_invest, pertama_invest, units = "day")) %/% 30) %>% 
  group_by(bulan_pertama_invest , jarak_invest) %>%
  summarise(investor_per_bulan = n_distinct(investor_id)) %>%
  group_by(bulan_pertama_invest) %>%
  mutate(investor = max(investor_per_bulan)) %>%
  mutate(breakdown_persen_invest = scales::percent(investor_per_bulan/investor)) %>%
  select(-investor_per_bulan) %>%
  spread(jarak_invest, breakdown_persen_invest ) %>% 
  select(-`0`)
## # A tibble: 11 × 11
## # Groups:   bulan_pertama_invest [11]
##    bulan_pertama_invest investor `1`   `2`   `3`   `4`   `5`   `6`   `7`   `8`  
##    <dttm>                  <int> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
##  1 2019-07-01 00:00:00        31 25.8% 25.8% 19.4% 6.5%  16.1% 16.1% 19.4% 12.9%
##  2 2019-08-01 00:00:00        51 35.3% 19.6% 25.5% 19.6% 19.6% 21.6% 9.8%  2.0% 
##  3 2019-09-01 00:00:00        70 25.7% 18.6% 18.6% 15.7% 18.6% 10.0% 1.4%  <NA> 
##  4 2019-10-01 00:00:00        80 32.5% 28.8% 17.5% 23.7% 8.7%  6.2%  <NA>  <NA> 
##  5 2019-11-01 00:00:00        99 30.3% 24.2% 24.2% 8.1%  7.1%  1.0%  <NA>  <NA> 
##  6 2019-12-01 00:00:00        63 38.1% 30.2% 3.2%  4.8%  1.6%  <NA>  <NA>  <NA> 
##  7 2020-01-01 00:00:00        71 32.4% 12.7% 4.2%  1.4%  <NA>  <NA>  <NA>  <NA> 
##  8 2020-02-01 00:00:00       115 16.5% 3.5%  0.9%  <NA>  <NA>  <NA>  <NA>  <NA> 
##  9 2020-03-01 00:00:00       102 10.8% 1.0%  <NA>  <NA>  <NA>  <NA>  <NA>  <NA> 
## 10 2020-04-01 00:00:00        58 5%    <NA>  <NA>  <NA>  <NA>  <NA>  <NA>  <NA> 
## 11 2020-05-01 00:00:00        31 <NA>  <NA>  <NA>  <NA>  <NA>  <NA>  <NA>  <NA> 
## # ℹ 1 more variable: `10` <chr>

Terihat bahwa pada bulan febuari terdapat investor yang melakukan investasi pertama paling banyak dibandingkan bulan lainnya. Akan tetapi kelompok tersebut retention nya jelak dibandingkan yang lain. pada 1 bulan setelah investasi pertama, hanya 16% investor saja yang investasi lagi. Ini hanya setengah dari tren pada bulan bulan sebelumnya, dimana sekitar 30% investor akan invest lagi 1 bulan setelah investasi pertama.

cohort yang paling stabil adalah di bulan Agustus 2019. Di sekitar angka 20% setiap bulannya, alaupun pada bulan ketujuh persentasnya ikut turun juga.

Kesimpulan Akhir

Berdasarkan semua analisis yang telah dilakukan, dapat disimpulkan bahwa :

  1. Secara umum, DQLab Finance sebenarnya sedang dalam growth yang positif, fluktuatif naik turun terjadi karena perbedaan behaviour di tanggal tertentu, yang dipengaruhi oleh hal lain, misalnya gajian.
  2. Pada bulan Maret, April sampai pertangah Mei terjadi banyak penurunan pada metriks yang dianalisis, hal ini mungkin karena adanya pandemi Covid19, perlu dianalisis lebih lanjut apakah memang karena itu.
  3. Secara Umum, 5% dari total investor yang register setiap bulannya, akan melakukan investasi, dan mayoritas dilakukan pada 30 hari pertama setelah register, dan sebagian kecil di bulan kedua. Di bulan selanjutnya peluangnya sangat kecil untuk bisa convert. Sehingga perlu dipastikan bagaimana journey investor tersebut lancar di bulan pertama, sehingga mau convert invest di DQLab Finance.
  4. Selenjutnya perlu dilihat juga setelah invest pertama itu invest lagi di bulan bulan selanjutnya. Secara umum 30% investor akan invest lagi pada bulan berikutnya.
  5. Pada bulan Febuari, conversion rate nya bagus, paling tinggi yakni 7.57%, secara jumlah juga paling banyak, tapi ketika dilihat retentionnya, hanya 16% yang invest pada bulan selanjutnya, hanya setengahnya dari kategori bulan bulan lainnya.
  6. Perlu dianalisis lebih lanjut darimana dan profil dari investor di bulan Febuari sampai April 2020.