Instantly share code, notes, and snippets.

@rooneyroy

rooneyroy / gist:f34276fa3049a598d2401ef64189133b

  • Download ZIP
  • Star ( 0 ) 0 You must be signed in to star a gist
  • Fork ( 0 ) 0 You must be signed in to fork a gist
  • Embed Embed this gist in your website.
  • Share Copy sharable link for this gist.
  • Clone via HTTPS Clone using the web URL.
  • Learn more about clone URLs
  • Save rooneyroy/f34276fa3049a598d2401ef64189133b to your computer and use it in GitHub Desktop.
# Set Working Directory
setwd("F:/IIITB - Upgrad/Course 3 - Predictive Analysis/Case Study")
# Install and Load the required packages
install.packages("MASS")
install.packages("car")
install.packages("e1071")
install.packages("ROCR")
install.packages("caret")
install.packages("Hmisc")
install.packages("plyr")
install.packages("ggplot2")
install.packages("moments")
install.packages("arules")
install.packages("ROCR")
install.packages("class")
library(ROCR)
library(arules)
library(MASS)
library(car)
library(caret)
library(ROCR)
library(e1071)
library(Hmisc)
library(plyr)
library(ggplot2)
library(arules)
library(class)
#Checkpoint 1
# Load the given files.
churn_data <- read.csv("churn_data.csv", stringsAsFactors = FALSE)
customer_data <-
read.csv("customer_data.csv", stringsAsFactors = FALSE)
internet_data <-
read.csv("internet_data.csv", stringsAsFactors = FALSE)
str(churn_data)
str(customer_data)
str(internet_data)
# Collate the 3 files in a single file.
merge1 <- merge(churn_data, customer_data, by = 'customerID')
churn <- merge(merge1, internet_data, by = 'customerID')
# Understand the structure of the collated file.
str(churn)
#Checkpoint 2 - EDA
# Make bar charts to find interesting relationships between variables.
#Distribution of monthly charges along with churn
ggplot(churn, aes(x = churn$MonthlyCharges)) + geom_histogram() + aes(fill = churn$Churn)
#Distribution of tenure along with churn
ggplot(churn, aes(x = churn$tenure)) + geom_histogram() + aes(fill = churn$Churn)
#Gender wise churn
ggplot(churn, aes(x = churn$Churn, fill = churn$gender)) + geom_bar()
#internet service wise churn
ggplot(churn, aes(x = churn$InternetService, fill = churn$Churn)) + geom_bar()
#payment method wise churn
ggplot(churn, aes(x = churn$PaymentMethod, fill = churn$Churn)) + geom_bar()
#Techsupport wise churn
ggplot(churn, aes(x = churn$TechSupport, fill = churn$Churn)) + geom_bar()
#Checkpoint 3 - Data Preparation
# Make Box plots for numeric variables to look for outliers.
boxplot(churn$tenure)
boxplot.stats(churn$tenure) #No Outlier
boxplot(churn$MonthlyCharges)
boxplot.stats(churn$MonthlyCharges) #No Outlier
boxplot(churn$TotalCharges)
boxplot.stats(churn$TotalCharges) #No Outlier
# Perform De-Duplication if required
which(duplicated(churn) == 'TRUE') #No Duplicates
# Impute the missing values, and perform the outlier treatment.
sapply(churn, function(x)
sum(is.na(x)))
churn$TotalCharges[which(is.na(churn$TotalCharges) == 'TRUE')] <-
mean(churn$TotalCharges, na.rm = TRUE)
#CHECKPOINT 4: Modeling
#Model 1: Logistics Regression
#Creating object for modeling
churn_df = cbind.data.frame(churn$tenure, churn$MonthlyCharges, churn$TotalCharges)
names(churn_df)[names(churn_df) == 'churn$tenure'] <- 'tenure'
names(churn_df)[names(churn_df) == 'churn$MonthlyCharges'] <-
'MonthlyCharges'
names(churn_df)[names(churn_df) == 'churn$TotalCharges'] <-
'TotalCharges'
# Bring the variables in the correct format
dummy_PhoneService = as.data.frame(model.matrix( ~ PhoneService - 1, data = churn))
churn_df = cbind(churn_df, dummy_PhoneService[, -1])
names(churn_df)[names(churn_df) == 'dummy_PhoneService[, -1]'] <-
'dummy_PhoneService'
dummy_PaperlessBilling = as.data.frame(model.matrix( ~ PaperlessBilling -
1, data = churn))
churn_df = cbind(churn_df, dummy_PaperlessBilling[, -1])
names(churn_df)[names(churn_df) == 'dummy_PaperlessBilling[, -1]'] <-
'dummy_PaperlessBilling'
dummy_Churn = as.data.frame(model.matrix( ~ Churn - 1, data = churn))
churn_df = cbind(churn_df, dummy_Churn[, -1])
names(churn_df)[names(churn_df) == 'dummy_Churn[, -1]'] <-
'dummy_Churn'
dummy_gender = as.data.frame(model.matrix( ~ gender - 1, data = churn))
churn_df = cbind(churn_df, dummy_gender[, -1])
names(churn_df)[names(churn_df) == 'dummy_gender[, -1]'] <-
'dummy_gender'
#Senior Citizen data is already in 0-1 format, changing it to numeric
churn_df = cbind(churn_df, as.numeric(churn$SeniorCitizen))
names(churn_df)[names(churn_df) == 'as.numeric(churn$SeniorCitizen)'] <-
'dummy_SeniorCitizen'
dummy_Partner = as.data.frame(model.matrix( ~ Partner - 1, data = churn))
churn_df = cbind(churn_df, dummy_Partner[, -1])
names(churn_df)[names(churn_df) == 'dummy_Partner[, -1]'] <-
'dummy_Partner'
dummy_Dependents = as.data.frame(model.matrix( ~ Dependents - 1, data = churn))
churn_df = cbind(churn_df, dummy_Dependents[, -1])
names(churn_df)[names(churn_df) == 'dummy_Dependents[, -1]'] <-
'dummy_Dependents'
dummy_contract = as.data.frame(model.matrix( ~ Contract - 1, data = churn))
churn_df = cbind(churn_df, dummy_contract[, -3])
dummy_PaymentMethod = as.data.frame(model.matrix( ~ PaymentMethod - 1, data = churn))
churn_df = cbind(churn_df, dummy_PaymentMethod[, -4])
dummy_InternetService = as.data.frame(model.matrix( ~ InternetService -
1, data = churn))
churn_df = cbind(churn_df, dummy_InternetService[, -3])
dummy_OnlineSecurity = as.data.frame(model.matrix( ~ OnlineSecurity - 1, data = churn))
churn_df = cbind(churn_df, dummy_OnlineSecurity[, -3])
dummy_OnlineBackup = as.data.frame(model.matrix( ~ OnlineBackup - 1, data = churn))
churn_df = cbind(churn_df, dummy_OnlineBackup[, -3])
dummy_multiplelines = as.data.frame(model.matrix( ~ MultipleLines - 1, data = churn))
churn_df = cbind(churn_df, dummy_multiplelines[, -3])
dummy_DeviceProtection = as.data.frame(model.matrix( ~ DeviceProtection -
1, data = churn))
churn_df = cbind(churn_df, dummy_DeviceProtection[, -3])
dummy_TechSupport = as.data.frame(model.matrix( ~ TechSupport - 1, data = churn))
churn_df = cbind(churn_df, dummy_TechSupport[, -3])
dummy_StreamingTV = as.data.frame(model.matrix( ~ StreamingTV - 1, data = churn))
churn_df = cbind(churn_df, dummy_StreamingTV[, -3])
dummy_StreamingMovies = as.data.frame(model.matrix( ~ StreamingMovies -
1, data = churn))
churn_df = cbind(churn_df, dummy_StreamingMovies[, -3])
str(churn_df)
#Split data set
set.seed(100)
train.indices = sample(1:nrow(churn_df), 0.7 * nrow(churn_df))
train.data = churn_df[train.indices,]
test.data = churn_df[-train.indices,]
# Initial Model with all variables
initial_model = glm(dummy_Churn ~ ., data = train.data, family = "binomial")
summary(initial_model)
# Stepwise selection
step_model = step(initial_model, direction = "both")
summary(step_model)
vif(step_model)
dummy_Churn ~ tenure + MonthlyCharges + TotalCharges + dummy_PhoneService +
dummy_PaperlessBilling + dummy_SeniorCitizen + `ContractMonth-to-month` + `ContractOne year` +
`PaymentMethodElectronic check` + InternetServiceDSL + OnlineSecurityNo +
OnlineBackupNo + TechSupportNo
#Remove Tenure (High VIF)
model1 = glm(
dummy_Churn ~ MonthlyCharges + TotalCharges + dummy_PhoneService +
dummy_PaperlessBilling + dummy_SeniorCitizen + `ContractMonth-to-month` + `ContractOne year` +
`PaymentMethodElectronic check` + InternetServiceDSL + OnlineSecurityNo +
OnlineBackupNo + TechSupportNo,
data = train.data,
family = "binomial"
)
summary(model1)
vif(model1)
#Remove ContractMonth-to-month (High VIF)
model2 = glm(
dummy_Churn ~ MonthlyCharges + TotalCharges + dummy_PhoneService +
dummy_PaperlessBilling + dummy_SeniorCitizen + `ContractOne year` +
`PaymentMethodElectronic check` + InternetServiceDSL + OnlineSecurityNo +
OnlineBackupNo + TechSupportNo,
data = train.data,
family = "binomial"
)
summary(model2)
vif(model2)
#Remove OnlineBackupNo (Insignificant)
model3 = glm(
dummy_Churn ~ MonthlyCharges + TotalCharges + dummy_PhoneService +
dummy_PaperlessBilling + dummy_SeniorCitizen + `ContractOne year` +
`PaymentMethodElectronic check` + InternetServiceDSL + OnlineSecurityNo +
TechSupportNo,
data = train.data,
family = "binomial"
)
summary(model3)
vif(model3)
#Checking correlation between MonthlyCharges & TotalCharges
cor(train.data$MonthlyCharges, train.data$TotalCharges)
#Since strong correlation, removing MonthlyCharges
model4 = glm(
dummy_Churn ~ TotalCharges + dummy_PhoneService +
dummy_PaperlessBilling + dummy_SeniorCitizen + `ContractOne year` +
`PaymentMethodElectronic check` + InternetServiceDSL + OnlineSecurityNo +
TechSupportNo,
data = train.data,
family = "binomial"
)
summary(model4)
vif(model4)
#Removing dummy_PhoneService (low significance)
model5 = glm(
dummy_Churn ~ TotalCharges + dummy_PaperlessBilling + dummy_SeniorCitizen + `ContractOne year` +
`PaymentMethodElectronic check` + InternetServiceDSL + OnlineSecurityNo +
TechSupportNo,
data = train.data,
family = "binomial"
)
summary(model5)
vif(model5)
#Removing dummy_SeniorCitizen (low significance)
model6 = glm(
dummy_Churn ~ TotalCharges + dummy_PaperlessBilling + `ContractOne year` +
`PaymentMethodElectronic check` + InternetServiceDSL + OnlineSecurityNo +
TechSupportNo,
data = train.data,
family = "binomial"
)
summary(model6)
vif(model6)
best_model_log = model6
summary(best_model_log)
## C-statistic
train.data$predicted_prob = predict(best_model_log, type = "response")
rcorr.cens(train.data$predicted_prob, train.data$dummy_Churn)
test.data$predicted_prob = predict(best_model_log, newdata = test.data, type = "response")
rcorr.cens(test.data$predicted_prob, test.data$dummy_Churn)
#KS-statistic
#Train Data
model_score <-
prediction(train.data$predicted_prob, train.data$dummy_Churn)
model_perf <- performance(model_score, "tpr", "fpr")
ks_table <-
attr(model_perf, "y.values")[[1]] - (attr(model_perf, "x.values")[[1]])
ks = max(ks_table)
ks
which(ks_table == ks)
#Test Data
model_score_test <-
prediction(test.data$predicted_prob, test.data$dummy_Churn)
model_perf_test <- performance(model_score_test, "tpr", "fpr")
ks_table_test <-
attr(model_perf_test, "y.values")[[1]] - (attr(model_perf_test, "x.values")[[1]])
ks_test = max(ks_table_test)
ks_test
which(ks_table_test == ks_test)
# Selecting threshold value
# ROC curve
plot(model_perf, col = "red", lab = c(10, 10, 10))
plot(model_perf_test, col = "red", lab = c(10, 10, 10))
#confusion matrix 1 (Threshold Value = 0.5)
confusionMatrix(as.numeric(train.data$predicted_prob > 0.5),
train.data$dummy_Churn,
positive = "1")
confusionMatrix(as.numeric(test.data$predicted_prob > 0.5),
test.data$dummy_Churn,
positive = "1")
#confusion matrix 2 (Threshold Value = 0.3)
confusionMatrix(as.numeric(train.data$predicted_prob > 0.3),
train.data$dummy_Churn,
positive = "1")
confusionMatrix(as.numeric(test.data$predicted_prob > 0.3),
test.data$dummy_Churn,
positive = "1")
#confusion matrix 3 (Threshold Value = 0.7)
confusionMatrix(as.numeric(train.data$predicted_prob > 0.7),
train.data$dummy_Churn,
positive = "1")
confusionMatrix(as.numeric(test.data$predicted_prob > 0.7),
test.data$dummy_Churn,
positive = "1")
# Model2
# K-NN Model:
#Creating "churn_knn" dataframe from "churn_df" and bringing original churn data
churn_knn = churn_df[, -6]
churn_knn = cbind(churn_knn, as.factor(churn$Churn))
names(churn_knn)[names(churn_knn) == 'as.factor(churn$Churn)'] <-
'Churn'
# Bring the data in the correct format to implement K-NN model.
churn_knn$MonthlyCharges <- scale(churn_knn$MonthlyCharges)
churn_knn$TotalCharges <- scale(churn_knn$TotalCharges)
# Implement the K-NN model for optimal K.
set.seed(2)
s1 = sample(1:nrow(churn_knn), 0.7 * nrow(churn_knn))
churn_knn_train = churn_knn[s1, ]
churn_knn_test = churn_knn[-s1, ]
cl <- churn_knn_train[, 31]
#Removing Class label "dummy_churn" from the train and test data set
churn_knn_train1 <- churn_knn_train[, -31]
churn_knn_test1 <- churn_knn_test[, -31]
#Using the train() command to find the best K.
model <- train(
Churn ~ .,
data = churn_knn_train,
method = 'knn',
tuneGrid = expand.grid(.k = 1:50),
metric = 'Accuracy',
trControl = trainControl(
method = 'repeatedcv',
number = 10,
repeats = 10
)
)
#Generating the plot of the model
model
plot(model) # Looking at graph we can see that optimum K = 19 (Post which not much difference in accuracy)
#Creating the model with optimum cost
impknn2 <-
knn(churn_knn_train1,
churn_knn_test1,
cl,
k = 19,
prob = TRUE)
table(impknn2, churn_knn_test[, 31])
confusionMatrix(impknn2, churn_knn_test[, 31], positive = "Yes")
#KNN Model Solution
# Accuracy = 79.32%
# Sensitivity = 50.98%
# Specificity = 89.51%
##########################################################################
# Model 3
# Naive Bayes Model:
#Using the original data set
str(churn)
# Bring the data in the correct format to implement Naive Bayes algorithm.
churn$customerID <- factor(churn$customerID)
churn$PhoneService <- factor(churn$PhoneService)
churn$Contract <- factor(churn$Contract)
churn$PaperlessBilling <- factor(churn$PaperlessBilling)
churn$PaymentMethod <- factor(churn$PaymentMethod)
churn$Churn <- factor(churn$Churn)
churn$gender <- factor(churn$gender)
churn$Partner <- factor(churn$Partner)
churn$Dependents <- factor(churn$Dependents)
churn$MultipleLines <- factor(churn$MultipleLines)
churn$InternetService <- factor(churn$InternetService)
churn$OnlineSecurity <- factor(churn$OnlineSecurity)
churn$OnlineBackup <- factor(churn$DeviceProtection)
churn$TechSupport <- factor(churn$TechSupport)
churn$StreamingTV <- factor(churn$StreamingTV)
churn$StreamingMovies <- factor(churn$StreamingMovies)
churn$DeviceProtection <- factor(churn$DeviceProtection)
set.seed(2)
s = sample(1:nrow(churn), 0.7 * nrow(churn))
churn_NB_train = churn[s, ]
churn_NB_test = churn[-s, ]
churn_NB_test1 <- churn_NB_test[, -9]
# Implement the Naive Bayes algorithm.
model <- naiveBayes(churn_NB_train$Churn ~ . , data = churn_NB_train)
pred <- predict(model, churn_NB_test1)
table(pred, churn_NB_test$Churn)
confusionMatrix(pred, churn_NB_test$Churn)
#Naive Bayes Solution
#??? Accuracy=71.46%
#??? Sensitivity = 68.79%
#??? Specificit y=78.89%
#??? ROC Curve
###############################################################################
# Model 4
# SVM:
# Bring the data in the correct format to implement the SVM algorithm.
# Taking data frame from Logistic Regression model
churn_svm = churn_df[, -6]
churn_svm = cbind(churn_svm, as.factor(churn$Churn))
names(churn_svm)[names(churn_svm) == 'as.factor(churn$Churn)'] <-
'Churn'
# Also taking the train and test data from Logistic regression model (minus predicted probibility)
set.seed(2)
svm.set = sample(1:nrow(churn_svm), 0.7 * nrow(churn_svm))
churn_svm_train = churn_knn[svm.set, ]
churn_svm_test = churn_knn[-svm.set, ]
# Implement the SVM algorithm using the optimal cost.
# model 0 with cost = 0.1
#model.svm.0 = svm(churn_svm_train$Churn~., data = churn_svm_train, kernel = "linear", cost = 0.1, scale = F)
#plot(model.svm.0,churn_svm_train)
#summary(model.svm.0)
# finding the optimal value of cost using cross-validation using the tune function
tune.svm = tune(
svm,
Churn ~ .,
data = churn_svm_train,
kernel = "linear",
ranges = list(cost = c(0.001, 0.01, 0.1, 1, 10, 100))
)
summary(tune.svm)
bestmodel_svm <- tune.svm$best.model
bestmodel_svm #Best Performance is for Cost = 0.01
summary(bestmodel_svm)
# predicting test classes using the best model and analyzing the table
svm.predict = predict(bestmodel_svm, churn_svm_test)
table(svm.predict, churn_svm_test$Churn)
confusionMatrix(svm.predict, churn_svm_test$Churn)
# Accuracy: 78.99
# Sensitivity: 88.22
# Specificity: 53.31
# Plotting the SVM
plot(svm.predict, churn_svm_test$Churn)

Smitan Pradhan

Smitan Pradhan

Data Science Portfolio

  • Melbourne, Australia
  • Custom Social Profile Link

Predicting churn in Telecom Industry - Advanced ML

less than 1 minute read

In the telecom industry, customers are able to choose from multiple service providers and actively switch from one operator to another. In this highly competitive market, the telecommunications industry experiences an average of 15-25% annual churn rate. Given the fact that it costs 5-10 times more to acquire a new customer than to retain an existing one, customer retention has now become even more important than customer acquisition.

For many incumbent operators, retaining high profitable customers is the number one business goal.

Background: To reduce customer churn, telecom companies need to predict which customers are at high risk of churn. We have been hired by a telecom industry giant to look at customer level data and identify customers at high risk of churn and identify the main indicators of churn.

Problem Statement: We need to build a predictive model using advanced Machine Learning algorithms in order to predict the customers at high risk of churn along with the key indicators of churn.

Link to the project code

This case study has been completed with the help of my team mate Koushal Deshpande. Thanks Koushal for your help and your key insights!

You may also enjoy

Forec app - a local solution to a global pandemic.

1 minute read

How can we as Data Scientists help our community during this pandemic?

White box vs Black Box models: Importance of interpretable model in today’s world

6 minute read

In today’s world, more and more focus is on ensuring how black box models can be interpreted and if they are really required

Sedans and Colours - Are certain colours more prevalent in sedans?

3 minute read

Which colour sedans people prefer buying and is there a difference in the trend between different segments of the cars?

Tweet Sentiment Analysis - Naive Bayes Classifier

To classify the sentiments behind a large corpus of tweets

DB-City

  • Bahasa Indonesia
  • Eastern Europe
  • Moscow Oblast

Elektrostal

Elektrostal Localisation : Country Russia , Oblast Moscow Oblast . Available Information : Geographical coordinates , Population, Area, Altitude, Weather and Hotel . Nearby cities and villages : Noginsk , Pavlovsky Posad and Staraya Kupavna .

Information

Find all the information of Elektrostal or click on the section of your choice in the left menu.

  • Update data
Country
Oblast

Elektrostal Demography

Information on the people and the population of Elektrostal.

Elektrostal Population157,409 inhabitants
Elektrostal Population Density3,179.3 /km² (8,234.4 /sq mi)

Elektrostal Geography

Geographic Information regarding City of Elektrostal .

Elektrostal Geographical coordinatesLatitude: , Longitude:
55° 48′ 0″ North, 38° 27′ 0″ East
Elektrostal Area4,951 hectares
49.51 km² (19.12 sq mi)
Elektrostal Altitude164 m (538 ft)
Elektrostal ClimateHumid continental climate (Köppen climate classification: Dfb)

Elektrostal Distance

Distance (in kilometers) between Elektrostal and the biggest cities of Russia.

Elektrostal Map

Locate simply the city of Elektrostal through the card, map and satellite image of the city.

Elektrostal Nearby cities and villages

Elektrostal Weather

Weather forecast for the next coming days and current time of Elektrostal.

Elektrostal Sunrise and sunset

Find below the times of sunrise and sunset calculated 7 days to Elektrostal.

DaySunrise and sunsetTwilightNautical twilightAstronomical twilight
8 July02:53 - 11:31 - 20:0801:56 - 21:0601:00 - 01:00 01:00 - 01:00
9 July02:55 - 11:31 - 20:0801:57 - 21:0501:00 - 01:00 01:00 - 01:00
10 July02:56 - 11:31 - 20:0701:59 - 21:0423:45 - 23:17 01:00 - 01:00
11 July02:57 - 11:31 - 20:0502:01 - 21:0223:57 - 23:06 01:00 - 01:00
12 July02:59 - 11:31 - 20:0402:02 - 21:0100:05 - 22:58 01:00 - 01:00
13 July03:00 - 11:32 - 20:0302:04 - 20:5900:12 - 22:51 01:00 - 01:00
14 July03:01 - 11:32 - 20:0202:06 - 20:5700:18 - 22:45 01:00 - 01:00

Elektrostal Hotel

Our team has selected for you a list of hotel in Elektrostal classified by value for money. Book your hotel room at the best price.



Located next to Noginskoye Highway in Electrostal, Apelsin Hotel offers comfortable rooms with free Wi-Fi. Free parking is available. The elegant rooms are air conditioned and feature a flat-screen satellite TV and fridge...
from


Located in the green area Yamskiye Woods, 5 km from Elektrostal city centre, this hotel features a sauna and a restaurant. It offers rooms with a kitchen...
from


Ekotel Bogorodsk Hotel is located in a picturesque park near Chernogolovsky Pond. It features an indoor swimming pool and a wellness centre. Free Wi-Fi and private parking are provided...
from


Surrounded by 420,000 m² of parkland and overlooking Kovershi Lake, this hotel outside Moscow offers spa and fitness facilities, and a private beach area with volleyball court and loungers...
from


Surrounded by green parklands, this hotel in the Moscow region features 2 restaurants, a bowling alley with bar, and several spa and fitness facilities. Moscow Ring Road is 17 km away...
from

Elektrostal Nearby

Below is a list of activities and point of interest in Elektrostal and its surroundings.

Elektrostal Page

Direct link
DB-City.comElektrostal /5 (2021-10-07 13:22:50)

Russia Flag

  • Information /Russian-Federation--Moscow-Oblast--Elektrostal#info
  • Demography /Russian-Federation--Moscow-Oblast--Elektrostal#demo
  • Geography /Russian-Federation--Moscow-Oblast--Elektrostal#geo
  • Distance /Russian-Federation--Moscow-Oblast--Elektrostal#dist1
  • Map /Russian-Federation--Moscow-Oblast--Elektrostal#map
  • Nearby cities and villages /Russian-Federation--Moscow-Oblast--Elektrostal#dist2
  • Weather /Russian-Federation--Moscow-Oblast--Elektrostal#weather
  • Sunrise and sunset /Russian-Federation--Moscow-Oblast--Elektrostal#sun
  • Hotel /Russian-Federation--Moscow-Oblast--Elektrostal#hotel
  • Nearby /Russian-Federation--Moscow-Oblast--Elektrostal#around
  • Page /Russian-Federation--Moscow-Oblast--Elektrostal#page
  • Terms of Use
  • Copyright © 2024 DB-City - All rights reserved
  • Change Ad Consent Do not sell my data
  • About company
  • GENERAL CONTRACTOR

en

+7 (495) 526-30-40 +7 (49657) 0-30-99

THE HISTORY OF THE COMPANY CREATION

1993 how the construction company remstroy was created   the year 1993 was a period when a lot of construction companies, which had been working successfully during the soviet times and had rich staff capacity, were forced to cease their activity for various reasons. a lot of capable specialists either had to look for another job or change their field. but there were also those who were willing to realise their potential in the field of construction in accordance with the received degree and the experience they had accumulated. thus, in 1993 in elektrostal (moscow oblast) a group of specialists and people sharing each other’s ideas, who had enormous educational background and the highest degree in architecture, organized and registered ooo firm erg which began its rapid development and successful work, offering its service both on the construction market and other areas. 2000 industrial construction is the main area   seven years of successful work have shown that combining different types of activities in the same company is not always convenient. and in the year 2000 the founders of ooo firm erg decided to create and register a monoprofile construction company ooo remstroy construction company. industrial construction was chosen as the priority area. it was in this area that the directors of ooo sk remstroy began their working life and grew as specialists. in order to achieve the set goal, they selected a mobile team of professionals in the field of industrial construction, which allows us to cope with the tasks assigned to ooo sk remstroy throughout russia and the near abroad. 2010 manufacturing of metal structures   we possess modern equipment that allows us to carry out the entire cycle of works on the manufacture of metal structures of any complexity without assistance. designing – production – installation of metal structures. a staff of professionals and well-coordinated interaction of the departments let us carry out the work as soon as possible and in accordance with all customer’s requirements.” extract from the list of members of self-regulatory organizations, construction.

telecom churn group case study github

LICENSE OF MINISTRY OF EMERGENCY SITUATIONS

Certificates, system of managing quality.

telecom churn group case study github

SYSTEM OF ECOLOGIAL MANAGEMENT

telecom churn group case study github

SYSTEM OF OCCUPATIONAL SAFETY AND HEALTH MANAGEMENT

telecom churn group case study github

LETTERS OF RECOMMENDATION

telecom churn group case study github

THE GEOGRAPHY OF CONSTRUCTION SITES

YOU CAN FIND MORE INFORMATION ON THE CONSTRUCTION SITES OF OOO REMSTROY ON THE PAGE OF THE SITE

OUR CLIENTS

telecom churn group case study github

http://remstroi.pro/yandex-promyshlennoe-stroitelstvo

telecom churn group case study github

Geographic coordinates of Elektrostal, Moscow Oblast, Russia

Coordinates of elektrostal in decimal degrees, coordinates of elektrostal in degrees and decimal minutes, utm coordinates of elektrostal, geographic coordinate systems.

WGS 84 coordinate reference system is the latest revision of the World Geodetic System, which is used in mapping and navigation, including GPS satellite navigation system (the Global Positioning System).

Geographic coordinates (latitude and longitude) define a position on the Earth’s surface. Coordinates are angular units. The canonical form of latitude and longitude representation uses degrees (°), minutes (′), and seconds (″). GPS systems widely use coordinates in degrees and decimal minutes, or in decimal degrees.

Latitude varies from −90° to 90°. The latitude of the Equator is 0°; the latitude of the South Pole is −90°; the latitude of the North Pole is 90°. Positive latitude values correspond to the geographic locations north of the Equator (abbrev. N). Negative latitude values correspond to the geographic locations south of the Equator (abbrev. S).

Longitude is counted from the prime meridian ( IERS Reference Meridian for WGS 84) and varies from −180° to 180°. Positive longitude values correspond to the geographic locations east of the prime meridian (abbrev. E). Negative longitude values correspond to the geographic locations west of the prime meridian (abbrev. W).

UTM or Universal Transverse Mercator coordinate system divides the Earth’s surface into 60 longitudinal zones. The coordinates of a location within each zone are defined as a planar coordinate pair related to the intersection of the equator and the zone’s central meridian, and measured in meters.

Elevation above sea level is a measure of a geographic location’s height. We are using the global digital elevation model GTOPO30 .

Elektrostal , Moscow Oblast, Russia

Zhukovsky International Airport

Zhukovsky International Airport, formerly known as Ramenskoye Airport or Zhukovsky Airfield - international airport, located in Moscow Oblast, Russia 36 km southeast of central Moscow, in the town of Zhukovsky, a few kilometers southeast of the old Bykovo Airport. After its reconstruction in 2014–2016, Zhukovsky International Airport was officially opened on 30 May 2016. The declared capacity of the new airport was 4 million passengers per year.

telecom churn group case study github

Sygic Travel - A Travel Guide in Your Pocket

Get it on Google Play

More interesting places

  • Privacy Policy
  • STOCK 360° TRAVEL VIDEOS

IMAGES

  1. GitHub

    telecom churn group case study github

  2. GitHub

    telecom churn group case study github

  3. GitHub

    telecom churn group case study github

  4. GitHub

    telecom churn group case study github

  5. GitHub

    telecom churn group case study github

  6. GitHub

    telecom churn group case study github

VIDEO

  1. ChatGPT and its Academic Use Cases

  2. Portfolio Project 3

  3. Employee Churn Prediction

  4. Buổi 8: Case Study Churn Prediciton

  5. Buổi 6: Case Study Churn Prediction + GridSearchCV

  6. How to Decrease Churn in Your Skool Group (Online Community)

COMMENTS

  1. GitHub

    Telecom churn case study where, Based on customer behavior (such as the monthly bill, internet usage, etc.) to predict whether a particular customer will switch to another telecom provider or not (i.e. churn or not). Visualised data and provided some insights on the same. The case study has the following files:

  2. GitHub

    In the telecom industry, customers are able to choose from multiple service providers and actively switch from one operator to another. In this highly competitive market, the telecommunications industry experiences an average of 15-25% annual churn rate.

  3. Telecom Churn Prediction Group Case Study

    To reduce customer churn, telecom companies need to predict which customers are at high risk of churn. In this project, you will analyze customer-level data of a leading telecom firm, build predictive models to identify customers at high risk of churn. In this competition, your goal is to build a machine learning model that is able to predict ...

  4. Telecom Churn Case Study · GitHub

    Telecom Churn Case Study. # Load the given files. # Collate the 3 files in a single file. # Understand the structure of the collated file. # Make bar charts to find interesting relationships between variables. # Make Box plots for numeric variables to look for outliers. # Impute the missing values, and perform the outlier treatment.

  5. Case Study: Predict Customer Churn Using Machine Learning

    We're told by our colleagues at the hypothetical company that customer churn is at 50% within 3 months. That means that within 3 months of a set of customers that sign up for the paid product, by the end of 3 months half of them will have cancelled. This is an urgent problem we need to help fix with machine learning!

  6. Predicting churn in Telecom Industry

    In this highly competitive market, the telecommunications industry experiences an average of 15-25% annual churn rate. Given the fact that it costs 5-10 times more to acquire a new customer than to retain an existing one, customer retention has now become even more important than customer acquisition. For many incumbent operators, retaining ...

  7. PDF Telecom Customer Churn Analysis

    churn currently ranges from 5% to 32% per year[11]. Usually if a customer leaves the company, he or she will not come back within one year. Thus an over 20% of the churn rate would be a heavy loss for the company. However, with telecom companies become more digitized, more insights have been generated.

  8. Telecom Churn Case Study

    If the issue persists, it's likely a problem on our side. Unexpected token < in JSON at position 4. keyboard_arrow_up. content_copy. SyntaxError: Unexpected token < in JSON at position 4. Refresh. Identify customers at high risk of churn and the main indicators of churn.

  9. GitHub

    To reduce customer churn, telecom companies need to predict which customers are at high risk of churn. In this project, we analysed customer-level data of a leading telecom firm, build predictive models to identify customers at high risk of churn and identify the main indicators of churn. You can also access the Live web-app here.

  10. Elektrostal, Moscow Oblast, Russia

    Elektrostal Geography. Geographic Information regarding City of Elektrostal. Elektrostal Geographical coordinates. Latitude: 55.8, Longitude: 38.45. 55° 48′ 0″ North, 38° 27′ 0″ East. Elektrostal Area. 4,951 hectares. 49.51 km² (19.12 sq mi) Elektrostal Altitude.

  11. OOO Remstroy Construction Company

    2000. Seven years of successful work have shown that combining different types of activities in the same company is not always convenient. And in the year 2000 the founders of OOO Firm ERG decided to create and register a monoprofile construction company OOO Remstroy Construction Company. Industrial construction was chosen as the priority area.

  12. GitHub

    Contribute to ashishc3090/Telecom-Churn-Group-Case-Study development by creating an account on GitHub.

  13. Geographic coordinates of Elektrostal, Moscow Oblast, Russia

    Geographic coordinates of Elektrostal, Moscow Oblast, Russia in WGS 84 coordinate system which is a standard in cartography, geodesy, and navigation, including Global Positioning System (GPS). Latitude of Elektrostal, longitude of Elektrostal, elevation above sea level of Elektrostal.

  14. Case Study: Churn Prediction

    Case Study: Churn Prediction 4 minute read Business Problem Overview. In the telecom industry, customers are able to choose from multiple service providers and actively switch from one operator to another. In this highly competitive market, the telecommunications industry experiences an average of 15-25% annual churn rate.

  15. PDF Telecom-Churn-Case-Study/Upgrad+hackathon.pdf at main

    Contribute to rmythili2/Telecom-Churn-Case-Study development by creating an account on GitHub.

  16. Zhukovsky International Airport

    Zhukovsky International Airport, formerly known as Ramenskoye Airport or Zhukovsky Airfield - international airport, located in Moscow Oblast, Russia 36 km southeast of central Moscow, in the town of Zhukovsky, a few kilometers southeast of the old Bykovo Airport. After its reconstruction in 2014-2016, Zhukovsky International Airport was officially opened on 30 May 2016.

  17. GitHub

    Contribute to Vishal9628712304/Telecom-Churn-Group-Case-Study development by creating an account on GitHub.

  18. GitHub

    Telecom Churn Case Study Problem Statement Business Problem Overview. In the telecom industry, customers are able to choose from multiple service providers and actively switch from one operator to another. In this highly competitive market, the telecommunications industry experiences an average of 15-25% annual churn rate.

  19. Telecome-Churn/Telecom_Churn_Case_Study.ipynb at main

    Contribute to indu1911/Telecome-Churn development by creating an account on GitHub.

  20. Telecom Churn

    We read every piece of feedback, and take your input very seriously.

  21. telecom_churn_model_prediction/telecom-churn-case-study.ipynb ...

    Find and fix vulnerabilities Codespaces. Instant dev environments

  22. Releases · Sid205/telecom-churn-case-study · GitHub

    Contribute to Sid205/telecom-churn-case-study development by creating an account on GitHub.

  23. Pull requests · Sid205/telecom-churn-case-study · GitHub

    Contribute to Sid205/telecom-churn-case-study development by creating an account on GitHub.