SlideShare une entreprise Scribd logo
1  sur  48
Télécharger pour lire hors ligne
Genn.ai (源内)
Attached realtime marketing platform
1
http://genn.ai/
Who am I?
Takeshi NAKANO
Senior Researcher / Architect.
Co-authered Getting started with Solr in Japanese.
Co-authered Hadoop Hacks in Japanese.
2
Writing Getting started with Kafka in Japanese.
http://genn.ai/
3
Company Name Recruit Holdings Co., Ltd
Founded March 31, 1960 (incorporated: August 26, 1963)
※governance changed from Recruit Co., Ltd since October 1st, 2012
Headquarters Tokyo, Japan
Number of Group Employees 22,368
(as of the end of March,2012)
Number of Group Companies 102
(Consolidated Subsidiaries/as of the end of June,2012)
Capital 3,002.64 million yen
(since March 1st, 1995)
Consolidated Sales 806,661 million yen
(from April 1st 2011 to March 31st 2012)
Consolidated Ordinary
Income
117,617 million yen
( from April 1st 2011 to March 31st 2012)
http://genn.ai/
4
Recruit
Holdings
Headquarters
Function
Global Business
Business R&D
Recruit Career Co., Ltd
Recruit Jobs Co., Ltd
Recruit Sumai Company Ltd
Recruit Marketing Partners Co., Ltd
Recruit Lifestyle Co., Ltd
Recruit Administration Co., Ltd
Recruit Technologies Co., Ltd
Recruit Communications Co., Ltd
Operating Companies Domain
Recruit Staffing Co., Ltd
STAFF SERVICE HOLDINGS CO., LTD
http://genn.ai/
What is our challenge?
Clients can get the information about their customers
checking their items on our web sites.
Providing a printed report monthly.
    ▽
Send them more detailed report in real time.
In real time fashion, the value of the information will be
dramatically increased!
5
http://genn.ai/
Agenda
 What is genn.ai?
 Overview
 How to gather clicks
 0) Injecting our javascripts
6
 Genn.ai core details
 Structure
 1) Setting up filters
 2) Filtering customers
 3) Visualizing them
 Future
 Dealing with historical streams
 Genn.ai wants friends.
http://genn.ai/
Overview of using Genn.ai
7
Customer
A
Customer
B
Customer
C
Realtime Analysis
Platform
Genn.ai
じゃらん
Web Sites
Client
(Hotels)
Marketer
Analyst
http://genn.ai/
Demo videos!
•They are based on a hotel reservation site like
Expedia.com.
•An animation and a screencapture what the
marketting staff see using Genn.ai.
At this moment ..
•What prefectures are all my users searching for? (0:26)
•Comparing the number of searches in today s and
yesterday s regarding places. (2:50)
8
http://genn.ai/
Overview of using Genn.ai
9
Customer
A
Customer
B
Customer
C
Realtime Analysis
Platform
Genn.ai
じゃらん
Web Sites
Client
(Hotels)
Marketer
Analyst
http://genn.ai/
Overview of using Genn.ai
10
Customer
A
Customer
B
Customer
C
じゃらん
Web Sites
Realtime Analysis
Platform
Genn.ai
Client
(Hotels)
Marketer
Analyst
http://genn.ai/
How to gain access to Genn.ai
11
Customer
A
Customer
B
Customer
C
App
(ex.Tomcat)
Apache
Genn.ai will be able to be attached!
http://genn.ai/
How to gain access to Genn.ai
A custom apache module for embeding our
code on returning html sources from App.
12
Customer
B
Apache
Genn.ai will be able to be attached!
mod
Genn.ai
App
(ex.Tomcat)
http://genn.ai/
How to gain access to Genn.ai
13
The embedded values and js on a html.
http://genn.ai/
Structure
14
http://genn.ai/
Steps for getting results
There are 3 steps! (after getting clicks)
15
1 2 3
Pouring clicks
into Kafka
Recording them
as behaviors
Visualizing them
0
gather clicks
Backend for Genn.ai
http://genn.ai/
Structure (Pouring into Kafka)
16
Storm
Topology
(Filter)
Kafka
kakan.puTomcat
iPad
(APP)
MongoDB
321
Genn.ai Front
(Based on Finagle)
Query
genn.ai/web)Click Streams
Frontend for Genn.ai
Visualizer for Genn.ai
Zoomdata
Backend for Genn.ai
http://genn.ai/
Structure (Recording as behaviors)
17
Storm
Topology
(Filter)
Kafka
kakan.puTomcat
iPad
(APP)
MongoDB
Genn.ai Front
(Based on Finagle)
Query
genn.ai/web)Click Streams
321
Visualizer for Genn.ai
Frontend for Genn.ai
Zoomdata
Backend for Genn.ai
Visualizer for Genn.ai
http://genn.ai/
Structure (Visualizing customers)
18
Storm
Topology
(Filter)
Kafka
kakan.puTomcat
iPad
(APP)
MongoDB
Genn.ai Front
(Based on Finagle)
Query
genn.ai/web)Click Streams
321
Frontend for Genn.ai
Zoomdata
http://genn.ai/
How is Genn.ai composed?
Genn.ai Frontend! : Gathering clicks.
Genn.ai Backend! : Recording behaviors.
Genn.ai Visualizer! : Visualizing customers’ attrs.
↑
Kafka : Used for message bus
MongoDB : Storing Additional tables
Storm : Processing click streams
19
http://genn.ai/
Details of recording behaviors.
20
Backend for Genn.ai
http://genn.ai/
Structure (Recording behaviors)
21
Storm
Topology
(Filter)
Kafka
kakan.puTomcat
iPad
(APP)
MongoDB
Genn.ai Front
(Based on Finagle)
Query
genn.ai/web)Click Streams
321
Visualizer for Genn.ai
Zoomdata
Frontend for Genn.ai
http://genn.ai/
Calculated values
Recording behaviors
Useful values for each sites
 Ex.)Hotel reservation site,
22
{
"_id": 154,
"largeAreaCntAcl": {
"Tokyo": 3,
"Berlin": 1
},
"largeAreaCntPre": {
"Tokyo": 4,
"Berlin": 3
},
"rateAvgAcl": 4200,
"rateAvgPre": 6200,
"rateCntAcl": [
4, 1, 0, 0, 0
],
"rateCntPre": [
4, 1, 2, 0, 0
],
"lastUpdate": "2013-04-16T04:04:37.432Z"
}
http://genn.ai/
Calculated values
Recording behaviors
Useful values for each sites
 Ex.)Hotel reservation site,
 Where is the favorite place?
23
{
"_id": 154,
"largeAreaCntAcl": {
"Tokyo": 3,
"Berlin": 1
},
"largeAreaCntPre": {
"Tokyo": 4,
"Berlin": 3
},
"rateAvgAcl": 4200,
"rateAvgPre": 6200,
"rateCntAcl": [
4, 1, 0, 0, 0
],
"rateCntPre": [
4, 1, 2, 0, 0
],
"lastUpdate": "2013-04-16T04:04:37.432Z"
}
http://genn.ai/
Calculated values
Recording behaviors
Useful values for each sites
 Ex.)Hotel reservation site,
 Where is the favorite place?
 Where is the this searching place?
24
{
"_id": 154,
"largeAreaCntAcl": {
"Tokyo": 3,
"Berlin": 1
},
"largeAreaCntPre": {
"Tokyo": 4,
"Berlin": 3
},
"rateAvgAcl": 4200,
"rateAvgPre": 6200,
"rateCntAcl": [
4, 1, 0, 0, 0
],
"rateCntPre": [
4, 1, 2, 0, 0
],
"lastUpdate": "2013-04-16T04:04:37.432Z"
}
http://genn.ai/
Calculated values
Recording behaviors
Useful values for each sites
 Ex.)Hotel reservation site,
 Where is the favorite place?
 Where is the this searching place?
 What price range has he booked?
25
{
"_id": 154,
"largeAreaCntAcl": {
"Tokyo": 3,
"Berlin": 1
},
"largeAreaCntPre": {
"Tokyo": 4,
"Berlin": 3
},
"rateAvgAcl": 4200,
"rateAvgPre": 6200,
"rateCntAcl": [
4, 1, 0, 0, 0
],
"rateCntPre": [
4, 1, 2, 0, 0
],
"lastUpdate": "2013-04-16T04:04:37.432Z"
}
 etc..
http://genn.ai/
Functions for recording behaviors
Time shift function
Time sensitive counter (old item will be expired and deleted)
Facet ( like Solr )
Categorized counter
Range Facet ( like Solr )
Dynamic categorized counter
26
321
http://genn.ai/
Functions for recording behaviors
Time shift function
Time sensitive counter (old item will be expired and deleted)
Facet ( like Solr )
Categorized counter
Range Facet ( like Solr )
Dynamic categorized counter
27
321
http://genn.ai/
Time Shift function?
We make 3 min time window and now start.
( no clicks here )
28
t
Now
http://genn.ai/
Time Shift function?
In our 3 min time window, 1.5 min are captured.
2 clicks have been recorded.
29
1.5 mins
Now
Time window
▲
Click
▲
Click
2 clicks are captured.
t
http://genn.ai/
Time Shift function?
There are 3 clicks in the past.
The length of the capturing window becomes
max.
30
3 mins
Now
Time window
▲
Click
▲
Click
▲
Click
t
http://genn.ai/
Time Shift function?
There are 4 clicks in the past.
Ignore the first 2 clicks
31
▲
Click
▲
Click
Now
Time window
▲
Click
▲
Click
1.5 min 3 mins
t
http://genn.ai/
Time Shift function?
There are 4 clicks in the past.
Ignore the first 3 clicks
32
▲
Click
▲
Click
Now
Time window
▲
Click
▲
Click
3 mins3 mins
t
http://genn.ai/
Functions for recording behaviors
Time shift function
Time sensitive counter (old item will be expired and deleted)
Facet ( like Solr )
Categorized counter
Range Facet ( like Solr )
Dynamic categorized counter
33
321
http://genn.ai/
Functions for recording behaviors
Time shift function
Time sensitive counter (old item will be expired and deleted)
Facet ( like Solr )
Categorized counter
Range Facet ( like Solr )
Dynamic categorized counter
34
321
http://genn.ai/
Counting the frequency
This function is under the effect of the Time
shift function.
35
{
"_id": 154,
"largeAreaCntAcl": {
"Tokyo": 3,
"Berlin": 1
},
"largeAreaCntPre": {
"Tokyo": 4,
"Berlin": 3
},
"rateAvgAcl": 4200,
"rateAvgPre": 6200,
"rateCntAcl": [
4, 1, 0, 0, 0
],
"rateCntPre": [
4, 1, 2, 0, 0
],
"lastUpdate": "2013-04-16T04:04:37.432Z"
}
http://genn.ai/
Counting the frequency
This function is under the effect of the Time
shift function.
You have booked 1 stay in Berlin and 3 stays
in Tokyo in this 3 weeks.
36
▲
L.A.
▲
S.F.
t
Now
Time window
▲
Berlin
▲
Tokyo
1.5 week 3 weeks
▲
Tokyo
"largeAreaCntAcl": {
"Tokyo": 3,
"Berlin": 1
}
▲
Tokyo
http://genn.ai/
Details of visualization.
37
Backend for Genn.ai
http://genn.ai/
Visualizing the customers
38
Storm
Topology
(Filter)
Kafka
kakan.puTomcat
iPad
(APP)
MongoDB
Genn.ai Front
(Based on Finagle)
Query
genn.ai/web)Click Streams
321
Visualizer for Genn.ai
Backend for Genn.ai
http://genn.ai/
Visualizing the customers
39
Storm
Topology
(Filter)
Kafka
kakan.puTomcat
iPad
(APP)
MongoDB
Genn.ai Front
(Based on Finagle)
Query
genn.ai/web)Click Streams
321
Visualizer for Genn.ai
http://genn.ai/
Kafka consumer
Kakan.pu
The program for relaying clicks from Kafka to the
other systems.
The enriching function (joining the MongoDB data)
The converting function (for following systems)
40
Backend for Genn.ai
http://genn.ai/
Visualizing the customers
41
Storm
Topology
(Filter)
Kafka
kakan.puTomcat
iPad
(APP)
MongoDB
Genn.ai Front
(Based on Finagle)
Query
genn.ai/web)Click Streams
321
Visualizer for Genn.ai
Zoomdata
http://genn.ai/
Visualizing tool
Zoomdata
A product containing a set of server app and ipad
app for visualizing event data.
42
321
http://genn.ai/
Zoomdata
Zoomdata has the functions like..
WebAPI for streaming data.
Own event processor for vizualizing.
43
321
The bar and bubble graph on default setting.
Customizable visualizing templates.
http://genn.ai/
Feature plan.
44
http://genn.ai/
Genn.ai Evolution
Adding functions on Genn.ai core.
Genn.ai should have filtering / aggrigation functions
for federating with other systems.
Historical rewinding function will be implemented with
the Hadoop cluster.
45
http://genn.ai/
Future plan
Genn.ai wants friends!
 We are looking for co-challenging partners for tuning
and improving Genn.ai.
 You can use Genn.ai on your web sites for totally free
(infrastructure etc..) if we could share the dream.
 Genn.ai codes will be opensourced in the future.
Please feel free to contact us!
 http://genn.ai/
46
http://genn.ai/
Thanks!
47
48

Contenu connexe

Similaire à Genn.ai introduction for Buzzwords

Minimum viable product_to_deliver_business_value_v0.4
Minimum viable product_to_deliver_business_value_v0.4Minimum viable product_to_deliver_business_value_v0.4
Minimum viable product_to_deliver_business_value_v0.4
Archana Joshi
 
Appboy analytics - NYC MUG 11/19/13
Appboy analytics - NYC MUG 11/19/13Appboy analytics - NYC MUG 11/19/13
Appboy analytics - NYC MUG 11/19/13
MongoDB
 
Making the Most of Customer Data
Making the Most of Customer DataMaking the Most of Customer Data
Making the Most of Customer Data
WSO2
 

Similaire à Genn.ai introduction for Buzzwords (20)

Minimum viable product_to_deliver_business_value_v0.4
Minimum viable product_to_deliver_business_value_v0.4Minimum viable product_to_deliver_business_value_v0.4
Minimum viable product_to_deliver_business_value_v0.4
 
Appboy analytics - NYC MUG 11/19/13
Appboy analytics - NYC MUG 11/19/13Appboy analytics - NYC MUG 11/19/13
Appboy analytics - NYC MUG 11/19/13
 
Using Visualizations to Monitor Changes and Harvest Insights from a Global-sc...
Using Visualizations to Monitor Changes and Harvest Insights from a Global-sc...Using Visualizations to Monitor Changes and Harvest Insights from a Global-sc...
Using Visualizations to Monitor Changes and Harvest Insights from a Global-sc...
 
Elasticsearch Performance Testing and Scaling @ Signal
Elasticsearch Performance Testing and Scaling @ SignalElasticsearch Performance Testing and Scaling @ Signal
Elasticsearch Performance Testing and Scaling @ Signal
 
Alexandr Vronskiy "Evolution of Ecommerce Application"
Alexandr Vronskiy "Evolution of Ecommerce Application"Alexandr Vronskiy "Evolution of Ecommerce Application"
Alexandr Vronskiy "Evolution of Ecommerce Application"
 
Moving away from legacy code with BDD
Moving away from legacy code with BDDMoving away from legacy code with BDD
Moving away from legacy code with BDD
 
Real-Time Personalized Customer Experiences at Bonobos (RET203) - AWS re:Inve...
Real-Time Personalized Customer Experiences at Bonobos (RET203) - AWS re:Inve...Real-Time Personalized Customer Experiences at Bonobos (RET203) - AWS re:Inve...
Real-Time Personalized Customer Experiences at Bonobos (RET203) - AWS re:Inve...
 
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
The Fine Art of Time Travelling - Implementing Event Sourcing - Andrea Saltar...
 
FOSDEM 2019: M3, Prometheus and Graphite with metrics and monitoring in an in...
FOSDEM 2019: M3, Prometheus and Graphite with metrics and monitoring in an in...FOSDEM 2019: M3, Prometheus and Graphite with metrics and monitoring in an in...
FOSDEM 2019: M3, Prometheus and Graphite with metrics and monitoring in an in...
 
Norikra: SQL Stream Processing In Ruby
Norikra: SQL Stream Processing In RubyNorikra: SQL Stream Processing In Ruby
Norikra: SQL Stream Processing In Ruby
 
From 6 hours to 1 minute... in 2 days! How we managed to stream our (long) Ha...
From 6 hours to 1 minute... in 2 days! How we managed to stream our (long) Ha...From 6 hours to 1 minute... in 2 days! How we managed to stream our (long) Ha...
From 6 hours to 1 minute... in 2 days! How we managed to stream our (long) Ha...
 
Big Data Berlin - Criteo
Big Data Berlin - CriteoBig Data Berlin - Criteo
Big Data Berlin - Criteo
 
Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.
Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.
Vitaliy Makogon: Migration to ivy. Angular component libraries with IVY support.
 
MongoDB.local Austin 2018: Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch A...
MongoDB.local Austin 2018:  Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch A...MongoDB.local Austin 2018:  Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch A...
MongoDB.local Austin 2018: Ch-Ch-Ch-Ch-Changes: Taking Your MongoDB Stitch A...
 
Data Platform at Twitter: Enabling Real-time & Batch Analytics at Scale
Data Platform at Twitter: Enabling Real-time & Batch Analytics at ScaleData Platform at Twitter: Enabling Real-time & Batch Analytics at Scale
Data Platform at Twitter: Enabling Real-time & Batch Analytics at Scale
 
Cost-Effective Personalisation Platform for 30M Users of Ringier Axel Springe...
Cost-Effective Personalisation Platform for 30M Users of Ringier Axel Springe...Cost-Effective Personalisation Platform for 30M Users of Ringier Axel Springe...
Cost-Effective Personalisation Platform for 30M Users of Ringier Axel Springe...
 
Building a Data Warehouse for Business Analytics using Spark SQL-(Blagoy Kalo...
Building a Data Warehouse for Business Analytics using Spark SQL-(Blagoy Kalo...Building a Data Warehouse for Business Analytics using Spark SQL-(Blagoy Kalo...
Building a Data Warehouse for Business Analytics using Spark SQL-(Blagoy Kalo...
 
Making the Most of Customer Data
Making the Most of Customer DataMaking the Most of Customer Data
Making the Most of Customer Data
 
best Digital Marketing ppt for all......
best Digital Marketing ppt for all......best Digital Marketing ppt for all......
best Digital Marketing ppt for all......
 
Tcm step 3 venture assessment
Tcm step 3 venture assessmentTcm step 3 venture assessment
Tcm step 3 venture assessment
 

Dernier

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 

Dernier (20)

TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The InsideCollecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
Collecting & Temporal Analysis of Behavioral Web Data - Tales From The Inside
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 

Genn.ai introduction for Buzzwords

  • 1. Genn.ai (源内) Attached realtime marketing platform 1
  • 2. http://genn.ai/ Who am I? Takeshi NAKANO Senior Researcher / Architect. Co-authered Getting started with Solr in Japanese. Co-authered Hadoop Hacks in Japanese. 2 Writing Getting started with Kafka in Japanese.
  • 3. http://genn.ai/ 3 Company Name Recruit Holdings Co., Ltd Founded March 31, 1960 (incorporated: August 26, 1963) ※governance changed from Recruit Co., Ltd since October 1st, 2012 Headquarters Tokyo, Japan Number of Group Employees 22,368 (as of the end of March,2012) Number of Group Companies 102 (Consolidated Subsidiaries/as of the end of June,2012) Capital 3,002.64 million yen (since March 1st, 1995) Consolidated Sales 806,661 million yen (from April 1st 2011 to March 31st 2012) Consolidated Ordinary Income 117,617 million yen ( from April 1st 2011 to March 31st 2012)
  • 4. http://genn.ai/ 4 Recruit Holdings Headquarters Function Global Business Business R&D Recruit Career Co., Ltd Recruit Jobs Co., Ltd Recruit Sumai Company Ltd Recruit Marketing Partners Co., Ltd Recruit Lifestyle Co., Ltd Recruit Administration Co., Ltd Recruit Technologies Co., Ltd Recruit Communications Co., Ltd Operating Companies Domain Recruit Staffing Co., Ltd STAFF SERVICE HOLDINGS CO., LTD
  • 5. http://genn.ai/ What is our challenge? Clients can get the information about their customers checking their items on our web sites. Providing a printed report monthly.     ▽ Send them more detailed report in real time. In real time fashion, the value of the information will be dramatically increased! 5
  • 6. http://genn.ai/ Agenda  What is genn.ai?  Overview  How to gather clicks  0) Injecting our javascripts 6  Genn.ai core details  Structure  1) Setting up filters  2) Filtering customers  3) Visualizing them  Future  Dealing with historical streams  Genn.ai wants friends.
  • 7. http://genn.ai/ Overview of using Genn.ai 7 Customer A Customer B Customer C Realtime Analysis Platform Genn.ai じゃらん Web Sites Client (Hotels) Marketer Analyst
  • 8. http://genn.ai/ Demo videos! •They are based on a hotel reservation site like Expedia.com. •An animation and a screencapture what the marketting staff see using Genn.ai. At this moment .. •What prefectures are all my users searching for? (0:26) •Comparing the number of searches in today s and yesterday s regarding places. (2:50) 8
  • 9. http://genn.ai/ Overview of using Genn.ai 9 Customer A Customer B Customer C Realtime Analysis Platform Genn.ai じゃらん Web Sites Client (Hotels) Marketer Analyst
  • 10. http://genn.ai/ Overview of using Genn.ai 10 Customer A Customer B Customer C じゃらん Web Sites Realtime Analysis Platform Genn.ai Client (Hotels) Marketer Analyst
  • 11. http://genn.ai/ How to gain access to Genn.ai 11 Customer A Customer B Customer C App (ex.Tomcat) Apache Genn.ai will be able to be attached!
  • 12. http://genn.ai/ How to gain access to Genn.ai A custom apache module for embeding our code on returning html sources from App. 12 Customer B Apache Genn.ai will be able to be attached! mod Genn.ai App (ex.Tomcat)
  • 13. http://genn.ai/ How to gain access to Genn.ai 13 The embedded values and js on a html.
  • 15. http://genn.ai/ Steps for getting results There are 3 steps! (after getting clicks) 15 1 2 3 Pouring clicks into Kafka Recording them as behaviors Visualizing them 0 gather clicks
  • 16. Backend for Genn.ai http://genn.ai/ Structure (Pouring into Kafka) 16 Storm Topology (Filter) Kafka kakan.puTomcat iPad (APP) MongoDB 321 Genn.ai Front (Based on Finagle) Query genn.ai/web)Click Streams Frontend for Genn.ai Visualizer for Genn.ai Zoomdata
  • 17. Backend for Genn.ai http://genn.ai/ Structure (Recording as behaviors) 17 Storm Topology (Filter) Kafka kakan.puTomcat iPad (APP) MongoDB Genn.ai Front (Based on Finagle) Query genn.ai/web)Click Streams 321 Visualizer for Genn.ai Frontend for Genn.ai Zoomdata
  • 18. Backend for Genn.ai Visualizer for Genn.ai http://genn.ai/ Structure (Visualizing customers) 18 Storm Topology (Filter) Kafka kakan.puTomcat iPad (APP) MongoDB Genn.ai Front (Based on Finagle) Query genn.ai/web)Click Streams 321 Frontend for Genn.ai Zoomdata
  • 19. http://genn.ai/ How is Genn.ai composed? Genn.ai Frontend! : Gathering clicks. Genn.ai Backend! : Recording behaviors. Genn.ai Visualizer! : Visualizing customers’ attrs. ↑ Kafka : Used for message bus MongoDB : Storing Additional tables Storm : Processing click streams 19
  • 21. Backend for Genn.ai http://genn.ai/ Structure (Recording behaviors) 21 Storm Topology (Filter) Kafka kakan.puTomcat iPad (APP) MongoDB Genn.ai Front (Based on Finagle) Query genn.ai/web)Click Streams 321 Visualizer for Genn.ai Zoomdata Frontend for Genn.ai
  • 22. http://genn.ai/ Calculated values Recording behaviors Useful values for each sites  Ex.)Hotel reservation site, 22 { "_id": 154, "largeAreaCntAcl": { "Tokyo": 3, "Berlin": 1 }, "largeAreaCntPre": { "Tokyo": 4, "Berlin": 3 }, "rateAvgAcl": 4200, "rateAvgPre": 6200, "rateCntAcl": [ 4, 1, 0, 0, 0 ], "rateCntPre": [ 4, 1, 2, 0, 0 ], "lastUpdate": "2013-04-16T04:04:37.432Z" }
  • 23. http://genn.ai/ Calculated values Recording behaviors Useful values for each sites  Ex.)Hotel reservation site,  Where is the favorite place? 23 { "_id": 154, "largeAreaCntAcl": { "Tokyo": 3, "Berlin": 1 }, "largeAreaCntPre": { "Tokyo": 4, "Berlin": 3 }, "rateAvgAcl": 4200, "rateAvgPre": 6200, "rateCntAcl": [ 4, 1, 0, 0, 0 ], "rateCntPre": [ 4, 1, 2, 0, 0 ], "lastUpdate": "2013-04-16T04:04:37.432Z" }
  • 24. http://genn.ai/ Calculated values Recording behaviors Useful values for each sites  Ex.)Hotel reservation site,  Where is the favorite place?  Where is the this searching place? 24 { "_id": 154, "largeAreaCntAcl": { "Tokyo": 3, "Berlin": 1 }, "largeAreaCntPre": { "Tokyo": 4, "Berlin": 3 }, "rateAvgAcl": 4200, "rateAvgPre": 6200, "rateCntAcl": [ 4, 1, 0, 0, 0 ], "rateCntPre": [ 4, 1, 2, 0, 0 ], "lastUpdate": "2013-04-16T04:04:37.432Z" }
  • 25. http://genn.ai/ Calculated values Recording behaviors Useful values for each sites  Ex.)Hotel reservation site,  Where is the favorite place?  Where is the this searching place?  What price range has he booked? 25 { "_id": 154, "largeAreaCntAcl": { "Tokyo": 3, "Berlin": 1 }, "largeAreaCntPre": { "Tokyo": 4, "Berlin": 3 }, "rateAvgAcl": 4200, "rateAvgPre": 6200, "rateCntAcl": [ 4, 1, 0, 0, 0 ], "rateCntPre": [ 4, 1, 2, 0, 0 ], "lastUpdate": "2013-04-16T04:04:37.432Z" }  etc..
  • 26. http://genn.ai/ Functions for recording behaviors Time shift function Time sensitive counter (old item will be expired and deleted) Facet ( like Solr ) Categorized counter Range Facet ( like Solr ) Dynamic categorized counter 26 321
  • 27. http://genn.ai/ Functions for recording behaviors Time shift function Time sensitive counter (old item will be expired and deleted) Facet ( like Solr ) Categorized counter Range Facet ( like Solr ) Dynamic categorized counter 27 321
  • 28. http://genn.ai/ Time Shift function? We make 3 min time window and now start. ( no clicks here ) 28 t Now
  • 29. http://genn.ai/ Time Shift function? In our 3 min time window, 1.5 min are captured. 2 clicks have been recorded. 29 1.5 mins Now Time window ▲ Click ▲ Click 2 clicks are captured. t
  • 30. http://genn.ai/ Time Shift function? There are 3 clicks in the past. The length of the capturing window becomes max. 30 3 mins Now Time window ▲ Click ▲ Click ▲ Click t
  • 31. http://genn.ai/ Time Shift function? There are 4 clicks in the past. Ignore the first 2 clicks 31 ▲ Click ▲ Click Now Time window ▲ Click ▲ Click 1.5 min 3 mins t
  • 32. http://genn.ai/ Time Shift function? There are 4 clicks in the past. Ignore the first 3 clicks 32 ▲ Click ▲ Click Now Time window ▲ Click ▲ Click 3 mins3 mins t
  • 33. http://genn.ai/ Functions for recording behaviors Time shift function Time sensitive counter (old item will be expired and deleted) Facet ( like Solr ) Categorized counter Range Facet ( like Solr ) Dynamic categorized counter 33 321
  • 34. http://genn.ai/ Functions for recording behaviors Time shift function Time sensitive counter (old item will be expired and deleted) Facet ( like Solr ) Categorized counter Range Facet ( like Solr ) Dynamic categorized counter 34 321
  • 35. http://genn.ai/ Counting the frequency This function is under the effect of the Time shift function. 35 { "_id": 154, "largeAreaCntAcl": { "Tokyo": 3, "Berlin": 1 }, "largeAreaCntPre": { "Tokyo": 4, "Berlin": 3 }, "rateAvgAcl": 4200, "rateAvgPre": 6200, "rateCntAcl": [ 4, 1, 0, 0, 0 ], "rateCntPre": [ 4, 1, 2, 0, 0 ], "lastUpdate": "2013-04-16T04:04:37.432Z" }
  • 36. http://genn.ai/ Counting the frequency This function is under the effect of the Time shift function. You have booked 1 stay in Berlin and 3 stays in Tokyo in this 3 weeks. 36 ▲ L.A. ▲ S.F. t Now Time window ▲ Berlin ▲ Tokyo 1.5 week 3 weeks ▲ Tokyo "largeAreaCntAcl": { "Tokyo": 3, "Berlin": 1 } ▲ Tokyo
  • 38. Backend for Genn.ai http://genn.ai/ Visualizing the customers 38 Storm Topology (Filter) Kafka kakan.puTomcat iPad (APP) MongoDB Genn.ai Front (Based on Finagle) Query genn.ai/web)Click Streams 321 Visualizer for Genn.ai
  • 39. Backend for Genn.ai http://genn.ai/ Visualizing the customers 39 Storm Topology (Filter) Kafka kakan.puTomcat iPad (APP) MongoDB Genn.ai Front (Based on Finagle) Query genn.ai/web)Click Streams 321 Visualizer for Genn.ai
  • 40. http://genn.ai/ Kafka consumer Kakan.pu The program for relaying clicks from Kafka to the other systems. The enriching function (joining the MongoDB data) The converting function (for following systems) 40
  • 41. Backend for Genn.ai http://genn.ai/ Visualizing the customers 41 Storm Topology (Filter) Kafka kakan.puTomcat iPad (APP) MongoDB Genn.ai Front (Based on Finagle) Query genn.ai/web)Click Streams 321 Visualizer for Genn.ai Zoomdata
  • 42. http://genn.ai/ Visualizing tool Zoomdata A product containing a set of server app and ipad app for visualizing event data. 42 321
  • 43. http://genn.ai/ Zoomdata Zoomdata has the functions like.. WebAPI for streaming data. Own event processor for vizualizing. 43 321 The bar and bubble graph on default setting. Customizable visualizing templates.
  • 45. http://genn.ai/ Genn.ai Evolution Adding functions on Genn.ai core. Genn.ai should have filtering / aggrigation functions for federating with other systems. Historical rewinding function will be implemented with the Hadoop cluster. 45
  • 46. http://genn.ai/ Future plan Genn.ai wants friends!  We are looking for co-challenging partners for tuning and improving Genn.ai.  You can use Genn.ai on your web sites for totally free (infrastructure etc..) if we could share the dream.  Genn.ai codes will be opensourced in the future. Please feel free to contact us!  http://genn.ai/ 46
  • 48. 48