Developer 101 | UI Design, Data Analysis

The following notebook is an analysis of an online webinar organised by Sathyabama Coding Club

  • The data used here is private
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings("ignore")

%matplotlib inline
reg_data = pd.read_excel("Developer 101 _ Session on UI Design (Responses).xlsx")
ui_data = pd.read_excel('Dev101_UI_Desing_GoToMeeting_Data.xlsx')
SESSION_DURATION = ui_data['Time in Session (minutes)'].max()

Analysis on Registration Data

no_of_regs = reg_data.describe().iloc[0:1, :]
REG_COUNT = int(no_of_regs['Batch'])
no_of_regs
Batch
count 99.0

Observation:

No of registrations: 99

reg_data.Batch.value_counts()
2021    83
2022     9
2023     7
Name: Batch, dtype: int64
sns.countplot(x="Batch", data=reg_data)
<matplotlib.axes._subplots.AxesSubplot at 0x292ab0fa388>

Observation

Students from 2021 are higher than 2022 and 2023

- 2021 >> 2022 > 2023

Analysis on Attendes data

ui_data.head()
Name Email Address Join Time Leave Time Time in Session (minutes)
0 NaN 6:47 AM 6:51 AM 4
1 AJ NaN 5:30 AM 5:56 AM 26
2 AJ NaN 5:56 AM 6:32 AM 36
3 AJ NaN 6:40 AM 6:57 AM 16
4 Abhiram abhiramreddy31@gmail.com 5:29 AM 7:06 AM 96
ATTENDEES_COUNT = len(ui_data['Name'].value_counts())
ATTENDEES_COUNT
39

Observation

Number of attendees without duplicates: 39

len(ui_data.groupby(by=ui_data.Name, axis=1).sum())
52
ui_data.groupby(['Name', 'Time in Session (minutes)']).sum().iloc[:,:0]
Name Time in Session (minutes)
4
AJ 16
26
36
Abhiram 96
Aditya 61
Aishwarya 1
41
Akash M 47
62
Akash S 3
Akshay 2
Alok Kumar 95
Anhushree M 104
Avinash 65
Deepshikha 33
Dewashish Kumar 96
Eniya M 28
Gunda Sushath 1
HAMID HUSSAIN 105
Hansini P 2
30
Harish Seeni 2
10
Hemanth V 49
Jayadeep K 0
Krishnendu Banerjee 0
MALLIDI VEERESH 41
Naidu Tk 82
Rohit 49
Rushikesh B. 35
Sagar 7
Salman Sheikh 14
Sushma Ephrin 98
Tarun_Bapanapalli 0
5
28
Teja 0
Teja Kummarikuntla 110
User 19
Varun Siotia 1
Ved Pandya 0
12
23
43
You Know Who I am 68
Zubair 20
harshareddy794 6
jyotishman 30
srikanth 6
8
17
(ui_data['Time in Session (minutes)'] == ui_data['Time in Session (minutes)'].iloc[0]).all()
False
def time_agg(group_series):
    if (group_series==group_series.iloc[0]).all():
        return group_series.iloc[0]
    else:
        return group_series.sum()
ui_data.groupby('Name', as_index=False).agg(time_agg)[['Name', 'Join Time', 'Leave Time', 'Time in Session (minutes)']]
Name Join Time Leave Time Time in Session (minutes)
0 6:47 AM 6:51 AM 4
1 AJ 5:30 AM5:56 AM6:40 AM 5:56 AM6:32 AM6:57 AM 78
2 Abhiram 5:29 AM 7:06 AM 96
3 Aditya 5:48 AM 6:50 AM 61
4 Aishwarya 6:30 AM6:10 AM 7:12 AM6:11 AM 42
5 Akash M 6:24 AM5:21 AM 7:12 AM6:24 AM 109
6 Akash S 6:37 AM 6:41 AM 3
7 Akshay 5:42 AM 5:44 AM 2
8 Alok Kumar 5:36 AM 7:12 AM 95
9 Anhushree M 5:27 AM 7:12 AM 104
10 Avinash 5:22 AM 6:27 AM 65
11 Deepshikha 5:38 AM 6:11 AM 33
12 Dewashish Kumar 5:35 AM 7:12 AM 96
13 Eniya M 5:32 AM 6:00 AM 28
14 Gunda Sushath 5:46 AM 5:48 AM 1
15 HAMID HUSSAIN 5:27 AM 7:12 AM 105
16 Hansini P 5:28 AM5:31 AM 5:31 AM6:02 AM 32
17 Harish Seeni 5:47 AM5:41 AM 5:57 AM5:43 AM 12
18 Hemanth V 5:32 AM 6:21 AM 49
19 Jayadeep K 5:26 AM 5:26 AM 0
20 Krishnendu Banerjee 5:42 AM 5:43 AM 0
21 MALLIDI VEERESH 5:31 AM 6:13 AM 41
22 Naidu Tk 5:28 AM 6:50 AM 82
23 Rohit 5:49 AM 6:39 AM 49
24 Rushikesh B. 5:26 AM 6:02 AM 35
25 Sagar 6:53 AM 7:01 AM 7
26 Salman Sheikh 5:53 AM 6:07 AM 14
27 Sushma Ephrin 5:33 AM 7:12 AM 98
28 Tarun_Bapanapalli 5:32 AM6:18 AM7:02 AM 6:01 AM6:23 AM7:02 AM 33
29 Teja 6:24 AM 6:24 AM 0
30 Teja Kummarikuntla 5:21 AM 7:12 AM 110
31 User 5:37 AM 5:56 AM 19
32 Varun Siotia 6:53 AM 6:54 AM 1
33 Ved Pandya 5:31 AM6:18 AM7:09 AM6:00 AM 5:55 AM7:01 AM7:10 AM6:12 AM 78
34 You Know Who I am 6:04 AM 7:12 AM 68
35 Zubair 5:53 AM 6:13 AM 20
36 harshareddy794 5:32 AM 5:38 AM 6
37 jyotishman 5:41 AM 6:12 AM 30
38 srikanth 6:13 AM7:05 AM5:45 AM 6:22 AM7:12 AM6:03 AM 31
atten_group_df = ui_data[['Name', 'Time in Session (minutes)', 'Email Address']].groupby('Name', as_index=False).agg(time_agg)
atten_group_df.sort_values(by=['Time in Session (minutes)'],ascending=False, inplace=True)
sns.factorplot(x="Name", y="Time in Session (minutes)", 
               data=atten_group_df, kind="bar", 
               size = 15, aspect=2,
               palette = "muted")

for value in plot:
    height = value.get_height()
    plt.text(value.get_x() + value.get_width()/2.,
             1.002*height,'%d' % int(height), ha='center', va='bottom')

plt.xticks(rotation=45);

Individual time spent analysis of attendes

sns.factorplot(x="Name", y="Time in Session (minutes)", 
               data=atten_group_df[atten_group_df["Time in Session (minutes)"] >= SESSION_DURATION//2], 
               kind="bar", 
               size = 4, aspect=2,
               palette = "muted")

plt.xticks(rotation=45);
atten_group_df[atten_group_df["Time in Session (minutes)"] >= SESSION_DURATION//2][['Name', 'Time in Session (minutes)']].set_index('Name')
Time in Session (minutes)
Name
Teja Kummarikuntla 110
Akash M 109
HAMID HUSSAIN 105
Anhushree M 104
Sushma Ephrin 98
Dewashish Kumar 96
Abhiram 96
Alok Kumar 95
Naidu Tk 82
Ved Pandya 78
AJ 78
You Know Who I am 68
Avinash 65
Aditya 61
len(atten_group_df[atten_group_df["Time in Session (minutes)"] >= SESSION_DURATION//2].set_index('Name')['Time in Session (minutes)'])
14
len(atten_group_df[atten_group_df['Email Address'] == 0])
19

Number of attendes joined with out Email Address: 19

len(atten_group_df['Email Address']) - len(atten_group_df[atten_group_df['Email Address'] == 0])
20

Number of attendes joined with Email Address: 20

registerd_attendes_ratio = (ATTENDEES_COUNT/REG_COUNT) * 100
print("Percentage of Students registered and attended the session {}".format(registerd_attendes_ratio))
Percentage of Students registered and attended the session 39.39393939393939

Summary

Registration Data Analysis

  • Name of the Event: Developer 101 | Session on UI Design
  • No of registrations: 99
  • Registration Count with Batch filter
    • 2021 : 83
    • 2022 : 9
    • 2023 : 7

Webinar Attendes Data Analysis

  • No of Attendees: 39
  • No of students spent more than half in the session: 14
  • Number of attendes joined with out Email Address: 19
  • Number of attendes joined with Email Address: 20
  • Percentage of Students registered and attended the session 39.39393939393939
  • Students spent more than 55 minutes in the session
      - Teja Kummarikuntla
      - Akash M   
      - HAMID HUSSAIN 
      - Sushma Ephrin 
      - Dewashish Kumar   
      - Abhiram   
      - Alok Kumar    
      - Naidu Tk  
      - Ved Pandya    
      - AJ    
      - You Know Who I am 
      - Avinash
      - Aditya