{"id":3274,"date":"2016-05-23T17:48:27","date_gmt":"2016-05-23T15:48:27","guid":{"rendered":"https:\/\/geekosas.com\/?p=3274"},"modified":"2026-05-23T17:49:05","modified_gmt":"2026-05-23T15:49:05","slug":"segment-customers-step-by-step","status":"publish","type":"post","link":"https:\/\/geekosas.com\/index.php\/2016\/05\/23\/segment-customers-step-by-step\/","title":{"rendered":"Segment customers step by step"},"content":{"rendered":"<p>Previously I wrote about <a href=\"https:\/\/geekosas.com\/2016\/03\/27\/que-son-las-redes-neuronales\/\">neural networks (click here to see it)<\/a>. Neural networks and all other &quot;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Supervised_learning\">supervised methods<\/a>&quot; are used when you have a sample of values to predict. But when you know what you want to achieve but do not have a sample of the value to predict, the so\u2011called &quot;unsupervised methods&quot; are used.<\/p>\n<p>A classic problem where this kind of method is applied is <a href=\"https:\/\/en.wikipedia.org\/wiki\/Market_segmentation\">customer segmentation<\/a>, where the segments\/groups are not known in advance. Among the methods, one of the most famous is K\u2011Means.<\/p>\n<p>K\u2011Means is an algorithm used to find groups of individuals with similar characteristics. Similarity or difference is calculated based on the Euclidean distance of their numerical attributes.<\/p>\n<p>Below we will follow a step\u2011by\u2011step example of how to segment customers in a simplified case.<\/p>\n<p><!--more--><\/p>\n<p>To make this example, we will generate a random sample of data in two dimensions per case: data traffic (megabytes) and voice traffic (minutes). Each case has been simulated so that it follows a behavior pattern similar to a group.<\/p>\n<p>With K\u2011Means we will try to find these four groups, which do exist but are unknown to us.<\/p>\n<p>Below is a plot of the four groups:<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"976\" data-permalink=\"https:\/\/geekosas.com\/index.php\/es\/2016\/05\/08\/k-means\/attachment\/01\/\" data-orig-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/014.png?fit=620%2C539&amp;ssl=1\" data-orig-size=\"620,539\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"01\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/014.png?fit=620%2C539&amp;ssl=1\" class=\"alignnone wp-image-976\" src=\"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2016\/05\/014-300x261.png?resize=730%2C635\" alt=\"\" width=\"730\" height=\"635\" srcset=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/014.png?resize=300%2C261&amp;ssl=1 300w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/014.png?w=620&amp;ssl=1 620w\" sizes=\"auto, (max-width: 730px) 100vw, 730px\" \/><\/p>\n<p><strong>Real Problem:<\/strong><\/p>\n<p>We are the Data Scientist of a prestigious mobile phone company (personal experience of the writer) and we are tasked with segmenting\/classifying customers (again, nothing far from the writer\u2019s reality). When reviewing the database, we realize that we only have the monthly data and voice consumption of each customer (there could be many more: top\u2011ups, text messages, calls to customer service, etc.).<\/p>\n<p>Since the scales of data consumption (MB) and voice consumption (minutes) are very different, and K\u2011Means measures similarity by Euclidean distance between cases, we will scale the values between 0 and 1, obtaining the following data:<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1066\" data-permalink=\"https:\/\/geekosas.com\/index.php\/es\/2016\/05\/08\/k-means\/02-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/023.png?fit=620%2C539&amp;ssl=1\" data-orig-size=\"620,539\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"02\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/023.png?fit=620%2C539&amp;ssl=1\" class=\"alignnone wp-image-1066\" src=\"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2016\/05\/023-300x261.png?resize=932%2C811&#038;ssl=1\" alt=\"\" width=\"932\" height=\"811\" srcset=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/023.png?resize=300%2C261&amp;ssl=1 300w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/023.png?w=620&amp;ssl=1 620w\" sizes=\"auto, (max-width: 932px) 100vw, 932px\" \/><\/p>\n<p>Now we are ready to begin. Since K\u2011Means does not determine the number of groups, it is run for different numbers and the results of each case are compared. The choice of the number of groups lies somewhere between mathematics and judgment.<\/p>\n<p>We will run K\u2011Means from 1 to 6 groups and use both the mathematical method and the &quot;judgment&quot; method to determine the number of groups.<\/p>\n<p>The first thing to observe is the level of fit for each case. This is the percentage of variance explained by each segmentation, calculated as between_SS \/ total_SS (I won\u2019t go into detail). When segmentation no longer improves significantly as the number of groups increases, it means the new group is similar to an existing one, so they should be the same.<\/p>\n<p>Below is the fit plot for each case:<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1001\" data-permalink=\"https:\/\/geekosas.com\/index.php\/es\/2016\/05\/08\/k-means\/attachment\/03\/\" data-orig-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/03.png?fit=620%2C539&amp;ssl=1\" data-orig-size=\"620,539\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"03\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/03.png?fit=620%2C539&amp;ssl=1\" class=\"alignnone wp-image-1001\" src=\"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2016\/05\/03-300x261.png?resize=791%2C688&#038;ssl=1\" alt=\"\" width=\"791\" height=\"688\" srcset=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/03.png?resize=300%2C261&amp;ssl=1 300w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/03.png?w=620&amp;ssl=1 620w\" sizes=\"auto, (max-width: 791px) 100vw, 791px\" \/><\/p>\n<p>It seems that more than 4 groups does not make sense. Now let\u2019s compare the aggregated values of each group: we will look at their average values and the number of elements in each group.<\/p>\n<p>Now we will proceed with the non\u2011numerical analysis, which consists of naming the groups. When two groups cannot be differentiated, it means there is no point in separating them (just out of curiosity, we will compare them with the &quot;real&quot; groups).<\/p>\n<p><strong>1 Group<\/strong><\/p>\n<p><!-- Sun May 08 18:26:55 2016 --><br \/>\n<img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1017\" data-permalink=\"https:\/\/geekosas.com\/index.php\/es\/2016\/05\/08\/k-means\/kmeans1\/\" data-orig-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans1.png?fit=620%2C539&amp;ssl=1\" data-orig-size=\"620,539\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"kmeans1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans1.png?fit=620%2C539&amp;ssl=1\" class=\"alignnone wp-image-1017\" src=\"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans1-300x261.png?resize=823%2C716&#038;ssl=1\" alt=\"\" width=\"823\" height=\"716\" srcset=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans1.png?resize=300%2C261&amp;ssl=1 300w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans1.png?w=620&amp;ssl=1 620w\" sizes=\"auto, (max-width: 823px) 100vw, 823px\" \/><\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<th>group_number<\/th>\n<th>min<\/th>\n<th>mb<\/th>\n<th>number<\/th>\n<\/tr>\n<tr>\n<td align=\"right\">1) Average of all<\/td>\n<td align=\"right\">71<\/td>\n<td align=\"right\">447<\/td>\n<td align=\"right\">120<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>2 Groups<\/strong><\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1018\" data-permalink=\"https:\/\/geekosas.com\/index.php\/es\/2016\/05\/08\/k-means\/kmeans2\/\" data-orig-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans2.png?fit=620%2C539&amp;ssl=1\" data-orig-size=\"620,539\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"kmeans2\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans2.png?fit=620%2C539&amp;ssl=1\" class=\"alignnone wp-image-1018\" src=\"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans2-300x261.png?resize=803%2C699&#038;ssl=1\" alt=\"\" width=\"803\" height=\"699\" srcset=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans2.png?resize=300%2C261&amp;ssl=1 300w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans2.png?w=620&amp;ssl=1 620w\" sizes=\"auto, (max-width: 803px) 100vw, 803px\" \/><br \/>\n<!-- Sun May 08 18:26:55 2016 --><\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<th>group_number<\/th>\n<th>min<\/th>\n<th>mb<\/th>\n<th>number<\/th>\n<\/tr>\n<tr>\n<td align=\"right\">1) Few Minutes<\/td>\n<td align=\"right\">9<\/td>\n<td align=\"right\">538<\/td>\n<td align=\"right\">60<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">2) Many Minutes<\/td>\n<td align=\"right\">134<\/td>\n<td align=\"right\">356<\/td>\n<td align=\"right\">60<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>3 Groups<\/strong><\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1019\" data-permalink=\"https:\/\/geekosas.com\/index.php\/es\/2016\/05\/08\/k-means\/kmeans3\/\" data-orig-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans3.png?fit=620%2C539&amp;ssl=1\" data-orig-size=\"620,539\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"kmeans3\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans3.png?fit=620%2C539&amp;ssl=1\" class=\"alignnone wp-image-1019\" src=\"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans3-300x261.png?resize=851%2C740&#038;ssl=1\" alt=\"\" width=\"851\" height=\"740\" srcset=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans3.png?resize=300%2C261&amp;ssl=1 300w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans3.png?w=620&amp;ssl=1 620w\" sizes=\"auto, (max-width: 851px) 100vw, 851px\" \/><br \/>\n<!-- Sun May 08 18:26:55 2016 --><\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<th>group_number<\/th>\n<th>min<\/th>\n<th>mb<\/th>\n<th>number<\/th>\n<\/tr>\n<tr>\n<td align=\"right\">1) Low Traffic<\/td>\n<td align=\"right\">13<\/td>\n<td align=\"right\">111<\/td>\n<td align=\"right\">31<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">2) Many Minutes<\/td>\n<td align=\"right\">134<\/td>\n<td align=\"right\">356<\/td>\n<td align=\"right\">60<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">3) Many MBs and few Minutes<\/td>\n<td align=\"right\">5<\/td>\n<td align=\"right\">994<\/td>\n<td align=\"right\">29<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>4 Groups<\/strong><\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1011\" data-permalink=\"https:\/\/geekosas.com\/index.php\/es\/2016\/05\/08\/k-means\/kmeans4\/\" data-orig-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans4.png?fit=620%2C539&amp;ssl=1\" data-orig-size=\"620,539\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"kmeans4\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans4.png?fit=620%2C539&amp;ssl=1\" class=\"alignnone wp-image-1011\" src=\"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans4-300x261.png?resize=884%2C769&#038;ssl=1\" alt=\"\" width=\"884\" height=\"769\" srcset=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans4.png?resize=300%2C261&amp;ssl=1 300w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans4.png?w=620&amp;ssl=1 620w\" sizes=\"auto, (max-width: 884px) 100vw, 884px\" \/><br \/>\n<!-- Sun May 08 18:26:55 2016 --><\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<th>group_number<\/th>\n<th>min<\/th>\n<th>mb<\/th>\n<th>number<\/th>\n<\/tr>\n<tr>\n<td align=\"right\">1) Many MBs<\/td>\n<td align=\"right\">5<\/td>\n<td align=\"right\">994<\/td>\n<td align=\"right\">29<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">2) Many Minutes<\/td>\n<td align=\"right\">148<\/td>\n<td align=\"right\">23<\/td>\n<td align=\"right\">30<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">3) Low Traffic<\/td>\n<td align=\"right\">13<\/td>\n<td align=\"right\">111<\/td>\n<td align=\"right\">31<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">4) High Traffic<\/td>\n<td align=\"right\">120<\/td>\n<td align=\"right\">690<\/td>\n<td align=\"right\">30<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>5 Groups<\/strong><\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1020\" data-permalink=\"https:\/\/geekosas.com\/index.php\/es\/2016\/05\/08\/k-means\/kmenas5\/\" data-orig-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmenas5.png?fit=620%2C539&amp;ssl=1\" data-orig-size=\"620,539\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"kmenas5\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmenas5.png?fit=620%2C539&amp;ssl=1\" class=\"alignnone wp-image-1020\" src=\"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2016\/05\/kmenas5-300x261.png?resize=945%2C822&#038;ssl=1\" alt=\"\" width=\"945\" height=\"822\" srcset=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmenas5.png?resize=300%2C261&amp;ssl=1 300w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmenas5.png?w=620&amp;ssl=1 620w\" sizes=\"auto, (max-width: 945px) 100vw, 945px\" \/><br \/>\n<!-- Sun May 08 18:26:55 2016 --><\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<th>group_number<\/th>\n<th>min<\/th>\n<th>mb<\/th>\n<th>number<\/th>\n<\/tr>\n<tr>\n<td align=\"right\">1) High Traffic<\/td>\n<td align=\"right\">111<\/td>\n<td align=\"right\">699<\/td>\n<td align=\"right\">22<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">2) High Traffic, especially minutes*<\/td>\n<td align=\"right\">143<\/td>\n<td align=\"right\">666<\/td>\n<td align=\"right\">8<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">3) Many MBs<\/td>\n<td align=\"right\">5<\/td>\n<td align=\"right\">994<\/td>\n<td align=\"right\">29<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">4) Many Minutes<\/td>\n<td align=\"right\">148<\/td>\n<td align=\"right\">23<\/td>\n<td align=\"right\">30<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">5) Low Traffic<\/td>\n<td align=\"right\">13<\/td>\n<td align=\"right\">111<\/td>\n<td align=\"right\">31<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li>Groups 1 and 2 are very similar and group 2 has very few customers; it makes no sense to separate them.<\/li>\n<\/ul>\n<p><strong>6 Groups<\/strong><\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1021\" data-permalink=\"https:\/\/geekosas.com\/index.php\/es\/2016\/05\/08\/k-means\/kmenas6\/\" data-orig-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmenas6.png?fit=620%2C539&amp;ssl=1\" data-orig-size=\"620,539\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"kmenas6\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmenas6.png?fit=620%2C539&amp;ssl=1\" class=\"alignnone wp-image-1021\" src=\"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2016\/05\/kmenas6-300x261.png?resize=868%2C755&#038;ssl=1\" alt=\"\" width=\"868\" height=\"755\" srcset=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmenas6.png?resize=300%2C261&amp;ssl=1 300w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmenas6.png?w=620&amp;ssl=1 620w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><br \/>\n<!-- Sun May 08 18:26:55 2016 --><\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<th>group_number<\/th>\n<th>min<\/th>\n<th>mb<\/th>\n<th>number<\/th>\n<\/tr>\n<tr>\n<td align=\"right\">1) High Minutes Consumption<\/td>\n<td align=\"right\">148<\/td>\n<td align=\"right\">23<\/td>\n<td align=\"right\">30<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">2) Very High MB Consumption<\/td>\n<td align=\"right\">3<\/td>\n<td align=\"right\">1172<\/td>\n<td align=\"right\">10<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">3) Low Consumption, a bit more MBs<\/td>\n<td align=\"right\">9<\/td>\n<td align=\"right\">288<\/td>\n<td align=\"right\">10<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">4) High MB Consumption<\/td>\n<td align=\"right\">6<\/td>\n<td align=\"right\">917<\/td>\n<td align=\"right\">18<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">5) Low Consumption<\/td>\n<td align=\"right\">13<\/td>\n<td align=\"right\">51<\/td>\n<td align=\"right\">22<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">6) High Consumption<\/td>\n<td align=\"right\">120<\/td>\n<td align=\"right\">690<\/td>\n<td align=\"right\">30<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li>Groups 1, 2 and 4 are very similar, basically characterized by customers who use MBs but very few minutes.<\/li>\n<\/ul>\n<p>Therefore, there are 4 groups, which we will name:<\/p>\n<table border=\"0\">\n<tbody>\n<tr>\n<th>group_number<\/th>\n<th>min<\/th>\n<th>mb<\/th>\n<th>number<\/th>\n<\/tr>\n<tr>\n<td align=\"right\">MB User<\/td>\n<td align=\"right\">5<\/td>\n<td align=\"right\">994<\/td>\n<td align=\"right\">29<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">Minutes User<\/td>\n<td align=\"right\">148<\/td>\n<td align=\"right\">23<\/td>\n<td align=\"right\">30<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">Low Consumption<\/td>\n<td align=\"right\">13<\/td>\n<td align=\"right\">111<\/td>\n<td align=\"right\">31<\/td>\n<\/tr>\n<tr>\n<td align=\"right\">High Consumption<\/td>\n<td align=\"right\">120<\/td>\n<td align=\"right\">690<\/td>\n<td align=\"right\">30<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Now that we have the segmentation, let\u2019s compare the initial data with the obtained one. In the following plot, the color represents the group found by K\u2011Means and the shape of the point represents the original group to which the customer belonged (according to the generated data):<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"1011\" data-permalink=\"https:\/\/geekosas.com\/index.php\/es\/2016\/05\/08\/k-means\/kmeans4\/\" data-orig-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans4.png?fit=620%2C539&amp;ssl=1\" data-orig-size=\"620,539\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"kmeans4\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans4.png?fit=620%2C539&amp;ssl=1\" class=\"alignnone wp-image-1011\" src=\"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans4-300x261.png?resize=1026%2C893&#038;ssl=1\" alt=\"\" width=\"1026\" height=\"893\" srcset=\"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans4.png?resize=300%2C261&amp;ssl=1 300w, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmeans4.png?w=620&amp;ssl=1 620w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Indeed, K\u2011Means detected almost all the initially generated groups.<\/p>\n<p>A corollary: this is how a mobile operator redefined its products. We realized that the competition had products aimed at high\u2011consumption and low\u2011consumption segments, while we noticed that we had customers who mainly used data or voice. So we decided to focus on this segment that had no competition.<\/p>\n<p>If you liked this article, I invite you to read about:<\/p>\n<ul>\n<li><a href=\"https:\/\/geekosas.com\/2016\/03\/27\/que-son-las-redes-neuronales\/\">What are neural networks?<\/a><\/li>\n<li><a href=\"https:\/\/geekosas.com\/2016\/04\/18\/jugando-con-redes-neuronales\/\">Playing with Neural Networks<\/a><\/li>\n<\/ul>\n<p>Greetings!<\/p>\n<p>If you liked it, follow us on any of our channels; all posts will appear there.<\/p>\n<ul>\n<li><a href=\"https:\/\/twitter.com\/geekosas_com\">Twitter @geekosas_com<\/a><\/li>\n<li><a href=\"https:\/\/www.facebook.com\/geekosas\/\">Facebook @geekosas<\/a><\/li>\n<li><a href=\"https:\/\/cl.linkedin.com\/in\/danielfischerm\">LinkedIn with my personal account.<\/a><\/li>\n<\/ul>\n<p>And don&#8217;t forget to share on your social media; your visits are my motivation.<\/p>\n<p><strong>Appendix: The R code used for the analysis:<\/strong><\/p>\n<pre><code class=\"language-r\">set.seed(1984)\nlibrary(ggplot2)\nlibrary(plyr)\nlibrary(xtable)\n\n# Generate sample\nmuestra = rbind(\n  data.frame(min = rnorm(30,10,10), mb = rnorm(30,100,100), grupo = &quot;bajo&quot;), # Customers with average consumption\n  data.frame(min = rnorm(30,120,20), mb = rnorm(30,700,100), grupo = &quot;alto&quot;), # Customers with average consumption\n  data.frame(min = rnorm(30,3,10), mb = rnorm(30,1000,200), grupo = &quot;datos&quot;), # Customers with high data consumption\n  data.frame(min = rnorm(30,150,20), mb = rnorm(30,15,60), grupo = &quot;voz&quot;) # Customers with high voice consumption\n)\nmuestra[,1:2] = apply(muestra[,1:2],2,function(x) ifelse(x&lt;0,0,x))\nqplot(min,mb,data=muestra,xlab = &quot;Monthly Minutes&quot;, ylab = &quot;Monthly MB&quot;, color = grupo)\n\n# Normalization of data\nmuestra = transform(muestra, n_min = min\/max(min), n_mb = mb\/max(mb))\nqplot(n_min,n_mb,data=muestra,xlab = &quot;Normalized Monthly Minutes&quot;, ylab = &quot;Normalized Monthly MB&quot;)\n\n# Run the model for 6 cases\ncodo = data.frame()\nset.seed(2016)\nfor(grupos in 1:6){\n  modelo = kmeans(muestra[,4:5],grupos, iter.max = 100)\n  codo = rbind(codo,\n               data.frame(grupos = grupos,\n                          between_SS = modelo$betweenss,\n                          total_ss = modelo$totss,\n                          tot.withinss = modelo$tot.withinss,\n                          value =  modelo$betweenss\/modelo$totss)\n               )\n  muestra[,paste0(&quot;kmeans_&quot;,grupos)] = as.character(modelo$cluster)\n}\n\n# Plot of the fit level\nqplot(x = grupos, y = value, data = codo, geom=&quot;line&quot;, ylab = &quot;Percentage of Fit&quot;, xlab = &quot;Number of groups&quot;)\n\n# Summary for each model\nresumen = data.frame()\nfor(n in 1:6){\n  tabla = ddply(muestra, paste0(&quot;kmeans_&quot;,n), function(x) data.frame(min = mean(x$min), mb = mean(x$mb), numero = nrow(x)) )\n  colnames(tabla)[1] = &quot;grupo_numero&quot;\n  resumen = rbind(resumen,\n                  data.frame(numero_de_grupos = n, tabla)\n                  )\n  print(xtable(tabla,digits = 0), type=&quot;HTML&quot;, include.rownames=FALSE)\n}\nprint(xtable(resumen,digits = 0), type=&quot;HTML&quot;, include.rownames=FALSE)\n\n# Plot of each group\nqplot(min,mb,data=muestra,xlab = &quot;Monthly Minutes&quot;, ylab = &quot;Monthly MB&quot;, color = kmeans_6, shape = grupo)<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>Previously I wrote about neural networks (click here to see it). Neural networks and all other &quot;supervised methods&quot; are used when you have a sample <a class=\"mh-excerpt-more\" href=\"https:\/\/geekosas.com\/index.php\/2016\/05\/23\/segment-customers-step-by-step\/\" title=\"Segment customers step by step\">[&#8230;]<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":1021,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-3274","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sin-categoria"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/05\/kmenas6.png?fit=620%2C539&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8vjqF-QO","jetpack-related-posts":[{"id":3323,"url":"https:\/\/geekosas.com\/index.php\/2018\/05\/23\/what-does-machine-learning-see\/","url_meta":{"origin":3274,"position":0},"title":"What does Machine Learning see?","author":"Daniel Fischer","date":"2018-05-23","format":false,"excerpt":"Machine learning algorithms can understand problems with hundreds or sometimes thousands of dimensions, thus seeing things that the human eye could not otherwise see. But how do these methods compare when the human eye can actually see? That is why we generated a series of experiments in 2 dimensions and\u2026","rel":"","context":"In &quot;Sin categor\u00eda&quot;","block_context":{"text":"Sin categor\u00eda","link":"https:\/\/geekosas.com\/index.php\/category\/sin-categoria\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2018\/08\/1_2UjSSQwW0bns1lPIuRxccQ.png?fit=1200%2C629&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2018\/08\/1_2UjSSQwW0bns1lPIuRxccQ.png?fit=1200%2C629&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2018\/08\/1_2UjSSQwW0bns1lPIuRxccQ.png?fit=1200%2C629&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2018\/08\/1_2UjSSQwW0bns1lPIuRxccQ.png?fit=1200%2C629&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2018\/08\/1_2UjSSQwW0bns1lPIuRxccQ.png?fit=1200%2C629&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":3257,"url":"https:\/\/geekosas.com\/index.php\/2016\/05\/23\/what-are-neural-networks\/","url_meta":{"origin":3274,"position":1},"title":"What are neural networks?","author":"Daniel Fischer","date":"2016-05-23","format":false,"excerpt":"Many have heard at some point about neural networks or \"artificial intelligence,\" and we have to be honest: when someone uses those words, it sounds like a total computing Einstein straight out of Terminator 2. Basically, neural networks are applied when the developer has absolutely no idea how to approach\u2026","rel":"","context":"In &quot;Sin categor\u00eda&quot;","block_context":{"text":"Sin categor\u00eda","link":"https:\/\/geekosas.com\/index.php\/category\/sin-categoria\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/03\/ai.jpg?fit=608%2C211&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/03\/ai.jpg?fit=608%2C211&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/03\/ai.jpg?fit=608%2C211&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":3269,"url":"https:\/\/geekosas.com\/index.php\/2016\/05\/23\/playing-with-neural-networks\/","url_meta":{"origin":3274,"position":2},"title":"Playing with Neural Networks","author":"Daniel Fischer","date":"2016-05-23","format":false,"excerpt":"A few days ago I wrote about neural networks, trying to explain in a simple way how they work and why this type of technology is called \"artificial intelligence.\" The important thing about this technique and what makes it so revolutionary is the concept of training, but it is often\u2026","rel":"","context":"In &quot;Sin categor\u00eda&quot;","block_context":{"text":"Sin categor\u00eda","link":"https:\/\/geekosas.com\/index.php\/category\/sin-categoria\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/04\/tensorflow.png?fit=1200%2C715&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/04\/tensorflow.png?fit=1200%2C715&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/04\/tensorflow.png?fit=1200%2C715&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/04\/tensorflow.png?fit=1200%2C715&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2016\/04\/tensorflow.png?fit=1200%2C715&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":3300,"url":"https:\/\/geekosas.com\/index.php\/2017\/05\/23\/data-science-course-in-r\/","url_meta":{"origin":3274,"position":3},"title":"Data Science course in R","author":"Daniel Fischer","date":"2017-05-23","format":false,"excerpt":"On October 20, I will teach a Data Science course using R. The topics covered will be: Data Cleaning Supervised classification models: Logistic regression. Naive Bayes. Trees and Random Forest. Neural Networks. Grid Search (hyperparameter tuning). Evaluation of classification models. Unsupervised models: Dimensionality Reduction (PCA) -> Applied example of replicating\u2026","rel":"","context":"In &quot;Sin categor\u00eda&quot;","block_context":{"text":"Sin categor\u00eda","link":"https:\/\/geekosas.com\/index.php\/category\/sin-categoria\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/09\/Rprogramming.jpg?fit=1176%2C664&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/09\/Rprogramming.jpg?fit=1176%2C664&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/09\/Rprogramming.jpg?fit=1176%2C664&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/09\/Rprogramming.jpg?fit=1176%2C664&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/09\/Rprogramming.jpg?fit=1176%2C664&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":3288,"url":"https:\/\/geekosas.com\/index.php\/2017\/05\/23\/parking-law\/","url_meta":{"origin":3274,"position":4},"title":"Parking Law","author":"Daniel Fischer","date":"2017-05-23","format":false,"excerpt":"In Chile, on February 15 (correct me if I'm wrong), the parking law was enacted, which among other things requires parking companies to: Compensate customers who are victims of theft. Prohibit fines for lost tickets. Choose one of the following two pricing methods: Charge per minute actually used. Charge per\u2026","rel":"","context":"In &quot;Sin categor\u00eda&quot;","block_context":{"text":"Sin categor\u00eda","link":"https:\/\/geekosas.com\/index.php\/category\/sin-categoria\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/02\/1487175020-auno760729.jpg?fit=799%2C533&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/02\/1487175020-auno760729.jpg?fit=799%2C533&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/02\/1487175020-auno760729.jpg?fit=799%2C533&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/geekosas.com\/wp-content\/uploads\/2017\/02\/1487175020-auno760729.jpg?fit=799%2C533&ssl=1&resize=700%2C400 2x"},"classes":[]},{"id":3260,"url":"https:\/\/geekosas.com\/index.php\/2016\/05\/23\/strava-the-cyclists-facebook\/","url_meta":{"origin":3274,"position":5},"title":"Strava &#8211; The Cyclist&#8217;s Facebook","author":"Daniel Fischer","date":"2016-05-23","format":false,"excerpt":"Strava is the Facebook of cyclists. At first it's hard to understand this app, but once you get it, it becomes a healthy addiction. Before I begin, I want to say that this is not Sponsored Content; I haven't reached that level of development in this blog yet. On Facebook\u2026","rel":"","context":"In &quot;Sin categor\u00eda&quot;","block_context":{"text":"Sin categor\u00eda","link":"https:\/\/geekosas.com\/index.php\/category\/sin-categoria\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2016\/03\/capture-300x234.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2016\/03\/capture-300x234.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.geekosas.com\/wp-content\/uploads\/2016\/03\/capture-300x234.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]}],"_links":{"self":[{"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/posts\/3274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/comments?post=3274"}],"version-history":[{"count":1,"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/posts\/3274\/revisions"}],"predecessor-version":[{"id":3275,"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/posts\/3274\/revisions\/3275"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/media\/1021"}],"wp:attachment":[{"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/media?parent=3274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/categories?post=3274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/geekosas.com\/index.php\/wp-json\/wp\/v2\/tags?post=3274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}