Nouvelle formes de Marketing

17039872067_cf7f22e4a8_kCe cours est donné dans le cadre de la Licence 3 à l’UFR SEGMI à Paris Nanterre . Partant des nouveautés dans les modes de consommation largement induites par les technologies de l’information mais s’intéressant aussi à la fragmentation des marchés et de leur identités culturelles et morales, ce cours vise à explorer la réponse marketing des entreprises dans le monde digital et leurs innovations au travers d’études de cas.

Thématique

Le thème général pour la session 2016 portera sur le marketing des plateformes,  et plus particulièrement sur l’emploi des données et des algorithmes dans les stratégies marketing. L’étude des plateformes est privilégié. Il s’appuie en partie sur le livre « Plateformes : Sites collaboratifs, marketplaces, réseaux sociaux… Comment ils influencent nos choix« . Il s’agira pour les étudiants de choisir un cas de plateformes (Airbnb, Blablacar, Etsy, Zillow, Taskrabbit, etc… ) et de s’attacher à un problème de marketing qu’elles rencontrent et qu’elle résolve par l’utilisation des données et d’algorithmes spécifiques. : fixer un prix pour Uber, définir une politique de modération pour Twitter, un mécanisme de résolution des litiges pour Airbnb, une indication de prix pour Blablacar, un système de recommandation pour Netflix ou la gestion des commentaires par Booking.

Evaluation :

Les étudiants auront à écrire un essai après avoir choisi un cas et s’être inscrit ici .

Il se présentera sous la forme d’un document de 8000 signes, organisé autour d’une problématique précise; 5 à 8 liens significatifs devront être mentionnés dans le texte, deux ou trois références bibliographiques devront enrichir la bibliographie ( livres et/ou articles de revues dites scientifiques). Une illustration photographique sera proposée. L’ensemble doit prendre la forme d’un article long de blog ( le style de Medium est recommandé).

La version word et pdf doit être versés dans le dossier Google Drive NFM17. Cela doit être déposé pour le 26 décembre 2018 à minuit.

Le travail est individuel.

Syllabus

Le découpage du cours suit les grandes problématiques marketing

1- introduction : tendances de la consommation et modèle de plateforme

2 – Segmentation et versants de marché

  • Segmentation par avantages recherchés ( à partir de l’étude UM Wave)
  • Marchés multi-versants et marchés d’appariement – gestion des sites de rencontre.

3 – La relation à la marque et son positionnement dans l’espace digital

  • Analyse de la réputation et du sentiment
  • Points de contact et interaction multicanal
  • Réclamation et gestion des litiges ( cas Airbnb)

4 – Les systèmes d’influence et de discipline des consommateurs

  • CGU, modération, trolling et sanctions – twitter et presse
  • Les systèmes de notation et d’avis – trip advisor
  • Nudge et gamification ( fomo sur booking), système de jetons

5 – La gestion d’une production et d’une distribution à la demande. Simplicité.

  • Echelles et densité : la gestion du crowdsourcing – plateformes d’innovation
  • Systèmes de recommandation – le cas de netflix, amazon, spotify
  • le rôle du machine learning (La valorisation des photo de Flickr)

6 – Les mécanismes de pricing

  • Le surge pricing de Uber
  • Les modèles d’enchères – ebay
  • Les modèles conventionnels – blablacar ( prix recommandé)
  • Problèmes de discrimination. ( airbnb)

7 – Le programmatique

  • CRM et DMP
  • modèle de ciblage et reciblages

Présentation d’introduction :

 

 

Le piège à miel des données ne fait pas saliver

Longtemps que je n’avais pas fait de billet d’humeur.

Est-ce de préparer la conférence MyData qui aura lieu la semaine prochaine entre Talinn et Helsinki ( gardons l’esprit en vacances), mais par une opération rare de sérendipité, voila que je vois surgir de mon fil twitter, cette page de publicité, dans le plus pur style viral qu’il soit. Rarement d’ailleurs le mot viral est aussi adéquat. Vous cliquerez l’image suite, et vous verrez que vous avez été averti.

De quoi s’agit-il? D’une offre de parrainage classique. Si vous retweetez cette offre en taguant l’image avec deux de vos amis, vous avez droit gratuitement au kit de séquençage génétique et de craquer votre code génétique.

Et bien sur que j’ai voulu gagner, et suis sur que vous avez faire comme moi. Alors j’ai cliqué et j’ai découvert le moyen de savoir quelle part de Néandertalien  il y a en moi, à quel point suis-je primitif. C’est parfaitement clair et n’a pas besoin de commentaire.

J’ai été grand lecteur de pif gadget, franchement ça n’a plus rien à voir et c’est pareil. On est passé des expériences avec des piles, celles qu’on testait en posant le bout de la langue sur la lamelle de cuivre par un picotement désagréable et métalique, à cracher dans un sac en plastique et à l’envoyer là bas où ils font de la haute-technologie, pour recevoir en retour un certificat attestant les traits néandertaliens qui subsistent dans notre ADN. Il est bien dit sur la pochette, que c’est à but ludique et non thérapeutique, et même que la génétique palélithique n’en était qu’à ses débuts. On joue.

A la première analyse, cette offre – qui est tarifée normalement – à 80 $ pour le Kit Helix DNA, et 24 $ pour le test Neanderthal, est proposé par Isitome et le kit ADN par une autre entreprise évidemment dénommée Helix.

On devine immédiatement le modèle. Des millions de gens envoient leurs salives, ils peuvent rester propriétaires de leurs données, eux-même n’en feront rien.  Helix séquence décode, conserve le code. D’autres entreprises se concentre sur l’identification fonctionnelle des gènes. Lesquels appartiennent à nos très lointains ancêtre ? lesquels predisposent nos futurs enfants à des maladies mortelles, lesquelles affectent nos allergies alimentaires et non alimentaires. C’est un modèles de plateformes, les entreprises qui vont se focaliser sur telle ou telle portion de gènes, développent simplement des applis, une nouvelle génération d’applis. Les médecins, les hôpitaux, seront nécessairement obligés de passer par leurs API pour tester leurs hypothèses et leurs diagnostics. On espère que les services secrets n’y auront pas d’accès, mais il y a de quoi douter.

Néanderthal est un formidable produit d’appel pour constituer ce qui potentiellement est un des futurs Google des données génétiques. Des millions de gens et sans doute très bientôt des milliards d’humains auront craché pour qu’on leur vende leur propre histoire : si l’on reprend textuellement la promesse d’Isitome.

C’est merveilleux, nous sommes uniques, un livre unique qu’on ne peut cependant pas lire soi-même, mais qu’on peut faire lire par la plateforme, et dont on va acheter les pages et les lectures par morceau. 20 dollars pour connaitre nos ancêtres, 200 pour nos allergies, au moins 400 pour savoir quelle saloperie on peut léguer à nos enfants, 50 plus tard aux première alerte cardiaque pour que le chirurgien aie une meilleure connaissance de nos prédispositions. Quoiqu’à vrai dire dans ce cas, c’est l’assurance santé qui paye et on lui fera payer un tout autre prix. Un seul décodage, le plus tôt possible est finalement souhaitable, et ce sera une customerlife time value aussi longue que notre vide d’humain. Le pactole.

Mais il faut faire vite. Comme pour les plateformes traditionnelles ( et oui c’est un coup de vieux pour les Ubers et autres Blablacar) c’est celui qui accumule le plus de données, qui détiendra le stock de gène séquencé le plus élevé, qui remporte le marché. A lui de créer un écosystème et une myriades de start-up spécialisée dans les tests, de développer les Apis qui permettent aux tiers, les médecins – et oui, le médecin devient un tiers, un acteur périphérique dans ce modèle- , d’accéder aux données.

La nouveauté dans le cas c’est d’introduire les techniques les plus agressives du marketing, la culture du sweepstake et du cadeau promotionnel. Et d’accrocher sur le plus périphérique, le plus ludique et le plus sensible : notre identité. Les marabouts et les voyantes, ce sont leurs techniques marketing, ne sont désormais plus que poussière. C’est bien plus fort de lire dans la salive que dans le marc de café.

Cela donne le vertige et une toute autre perspective à la question de la protection des données. Jusqu’à aujourd’hui les données étaient des représentations, des traces. Ce qui reste dans la matière après un événement. L’empreinte d’un pied de dinosaure ou un selfie. L’une et l’autre s’effacent rapidement. Rares sont les empreintes de dinosaure et pourtant ils ont beaucoup marché. Avec les selfies, et bien d’autre chose, la question qui se pose depuis longtemps, c’est que reproductibles, ces traces ne s’effacent pas et s’accumulent. Comme si les cheveux que l’on perd, les rognures d’ongles, nos squames,  ne disparaissaient pas dans le néant, mais s’accumulaient autour de nous. On traite ce nouveau problème en nettoyant, en sécurisant, en recherchant une solution qui soit une sorte d’urnes dans laquelle on conserverait nos traces. Est-ce la solution du cloud ou son alternative du cloud personnel et d’un retour au p2p véritable ? On ne sait pas encore.

Mais avec l’ADN, qu’on peut attraper avec un cheveu ou une goutte de salive, il ne s’agit plus de trace, il s’agit de notre propre code. Ce ne sont plus des données personnelle, c’est la personne même !

Sans craindre qu’il soit modifié ( c’est un autre souci), on doit craindre dès aujourd’hui d’être amené à payer un loyer à vie pour qu’on puisse nous lire notre propre code, et bénéficier des avancées de la médecine. Je reste optimiste en croyant qu’avec ces techniques on pourra mieux traiter les maux qui se précipitent avec l’âge. Le vertige est que cela semble inexorable.

 Crédit photo : Thierry Ehrmann , et lire le texte – en 2008 le kit était à près de 1000 $, aujourd’hui à 100.

Réseaux sociaux : qu’y fait-on? Pourquoi on les fréquente?

Que fait-on sur les réseaux sociaux? Quels bénéfices y trouve-on? Quelles gratifications y obtient-on? Les fréquente-t-on parce qu’ils  nous donnent des opportunités ou parce qu’ils noient l’ennui? Y va-t-on parce qu’on est malheureux ou parce qu’on est heureux ?

A vrai dire on en sait assez peu. L’étude Wave est sans doute la plus étendue par le nombre des nations qu’elle étudie, mais peut être pas totalement convaincante sur sa méthodologie. L’univers académique néglige cette question pratique préférant des thèses plus audacieuses, ou l’étude de comportements déviants ou périphérique. Et d’ailleurs ce serait bien de l’analyser systématiquement nous savoir quelles dispositions elle met en évidence.

Un jeu de données produit par une des mes étudiantes de master va nous permettre d’aborder la question au moins sur le plan de la méthode. Son jeu de donnée (260 individus) est représentatif du cercle social d’une étudiante franco- russe qui aura recueilli dans une population majoritairement jeune et étudiante les réponses à trois questions :

  1. Quels sont les réseaux que les gens utilisent  et avec quelle fréquence ?
  2. Quelles y sont leurs activités et les gratifications qu’ils en retirent : une batterie de 36 items est exploitée à cette fin
  3. Etes-vous heureux dans la vie ? C’est une approche du concept de Customer Well Being qui semble recueillir un intérêt de plus en plus grand dans la littérature académique.

L’approche ici reste descriptive. Le plus c’est de segmenter sur une base très traditionnelle, mais fondamentale, quels sont les avanatges que recherche les utilisateurs de réseaux sociaux dans l’usage de ces réseaux? La question subsidiaire c’est de comprendre comment ces usages sont liés à leur qualité de vie.

Commençons par le début et par l’analyse des réseaux qu’ils emploient. deux critères sont mis en avant, le sexe et la nationalité. L’un reflète un ordre social qui se perpetue dans la construction du genre, l’autre au moins une différence culturelle façonné par l’histoire, les conditions économiques et sociales. En deux graphiques on y observe qu’il y a peu de différence de genre, mais des spécificités nationales importantes. Si Facebook est dominant en france, c’est vcontack qui semble exploiter la même niche en russie.

Une analyse complémentaire

 

Atelier doctoral : r pour la recherche en sciences sociales

L’objectif de l’atelier, organisé dans le cadre des enseignement de l’ED EOS,  est la prise en main de r au travers de l’interface graphique Rcmdr et de Rstudio et de découvrir la communauté r et ses ressources en 4 séances de 3 heures et quatre cas : décrire, expliquer, modéliser, traiter du texte.

Public visé et pré requis : Doctorants et autres chercheurs. Connaissance des tests statistiques et autres statistiques élémentaires. Une habitude de SAS ou SPSS fera du bien. Les participants doivent installer Rstudio au préalable. Rcommander servira d’interface pour démarrer et doit être le premier package (Rcmdr) à installer au préalable.

Calendrier de la formation (période de l’année): 11 et 12 septembre 2017 (9h30-12h30 : 13h30-16h30)

Lieu : UPOND (bât .A 3ème étage 304)

Inscription : envoyer un CV à christophe.benavent@parisnanterre.fr avant le 5 septembre 2017. – nombre maxi d’inscrits : 15.

Programme et durée

  • 1 : l’environnement r: communauté, packages, langage et prise en main  avec Rcmdr. Comparaison de moyennes, corrélation, classification automatique. Le cas de la segmentation par avantage du textile est employé. (Description)
  • 2 : régression avec r: des MCOs au modèle linéaire généralisé (Logit, Poisson, etc. Un peu de série chronologique avec le cas des retards de TGV sur la base des données open data de la Sncf. (timeseries)
  • 3 : analyses factorielles, échelles et équations structurelles avec Psych et Lavaan : le cas de l’analyse des effets du privacy concern sur le projet selfdata de la fing. (psychometrie)
  • 4 :analyse lexicale avec R.Temis , tm et éléments de text mining. Le cas de l’analyse de topic d’un flux de tweets. (lexicométrie)

ECTS : la participation au séminaire donne droit à 1.5 ECTS

Ressources :

  •  r blogger : un meta blog centré sur r , très riche en exemple et application.
  •  StackOverflow : plateforme de Q&A pour les développeurs, r y est fréquemment mis en question
  • PS : un cours similaire est donné dans le cadre du Master Management de l’innovation GDO/MOPP.
  • La doc de ggplot2, le package des graphiques élégants.

Crédit Photo : comme souvent l’excellent Jeff Safi

#IA à la moulinette du #ML

Printable up to 18″x18″

Ces dernières années les progrès du text mining renouvellent largement l’étude des contenus textuels.

Un saut a été franchi depuis les techniques classiques d’analyse factorielles des correspondances. Les outils récents inspirés du ML peuvent remplacer ou au moins compléter les bonnes vieilles techniques de l’analyse lexicale.

Alors plutôt que de faire des Sudoku pendant les vacances, autant se balader dans les packages de r et d’appliquer ces techniques à un cas pratique. Pourquoi ne pas explorer justement ce que l’on dit de ces techniques sur les réseaux sociaux. Que dit-on de l’intelligence artificielle et du machine learning ? Quels en sont les sujets de conversation?

Commençons par le début. Il nous faut un corpus. Autant le prendre là où il est facile à capturer, c’est à dire dans Twitter.

La première étape consiste à créer un compte sur l’API (REST), pour pouvoir extraire ce que l’on souhaite ( avec des limites imposées par twitter). Et lLa seconde étape consiste simplement à se connecter à l’API, via r, et à lancer une requête. Ce qui se fait de manière simple avec le code suivant :


 #accès  à l api de twitter
 consumerKey<-"Xq..."
 consumerSecret<-"30l..."
 access_token<-"27A..."
 access_secret<-"zA7..."
 setup_twitter_oauth(consumerKey, consumerSecret, access_token,access_secret)

Pour rechercher les tweets, on échantillonne sur plusieurs variantes de hashtag, en préférant la méthode des twits les plus récents (une alternative proposée par Twitter est de choisir les plus populaires, une troisième méthode mixant les deux approches). Il suffit ensuite de fusionner les fichiers, puis de dédupliquer les enregistrements identiques.


 #recherche des twits avec plusieur requetes 
tweets1 <- searchTwitter("#IA", n = 2000, lang = "fr", resultType = "recent", since = "2017-08-01") 
tweets2 <- searchTwitter("#ML", n = 2000, lang = "fr", resultType = "mixed", since = "2017-08-01") 
tweets3 <- searchTwitter("#AI", n = 2000, lang = "fr", resultType = "recent", since = "2017-08-01") 
tweets4 <- searchTwitter("#MachineLearning", n = 2000, lang = "fr", resultType = "recent", since = "2017-08-01") 
tweets5 <- searchTwitter("#Deeplearning", n = 2000, lang = "fr", resultType = "recent", since = "2017-08-01") 
#transformer en data frame 
tweets_df1 <- twListToDF(tweets1) 
tweets_df2 <- twListToDF(tweets2) 
tweets_df3 <- twListToDF(tweets3) 
tweets_df4 <- twListToDF(tweets4) 
tweets_df5 <- twListToDF(tweets5) 
tweets_df <- rbind(tweets_df1,tweets_df2,tweets_df3,tweets_df4,tweets_df5)

Le décompte se faisant tout les quarts d’heure, on peut répéter l’opération pour récupérer quelques dizaines de milliers de tweets en quelques heures. Et si l’on a un peu de budget on changera d’Api pour streamer en temps réel ce que l’on souhaite.

On dispose donc d’un corpus d’environ 6000 tweets, dont il va falloir nettoyer le contenu. C’est l’opération la plus difficile, elle demande de l’astuce et une bonne compréhension des contenus. Dans notre cas, différentes opérations vont être menées et elles constituent l’étape essentielle où l’astuce de l’analyste est la clé de l’analyse.

  • Il faut aussi éliminer les liens URL, mais aussi les mentions
  • De même les nombres, la ponctuation, mettre en minuscule
  • Certains termes risque de n’apporter aucune information, les mots de liaisons, les articles,  et naturellement les termes qui ont permis la sélection ( #IA par exemple)
  • et enfin réduire les termes à leurs racines pour éviter une trop grande fréquences de termes équivalents mais distincts ( poisson, poissonier) c’est l’opération de stemming qui identifie la racine du lexique constitué.
 
#recherche des twits avec plusieur requetes 
# creation du corpus et nettoyage du texte

tweets_corpus <- Corpus(VectorSource(tweets_text))

removeURL <- function(x) gsub("http[[:alnum:][:punct:]]*", "", x) #enlever les liens
tweets_corpus <- tm_map(tweets_corpus, content_transformer(removeURL)) #enlever les liens
removeACC <- function(x) gsub("@\\w+", "", tweets_corpus) #enlever les comptes
tweets_corpus <- tm_map(tweets_corpus, content_transformer(removeACC)) #enlever les comptes
tweets_corpus <- tm_map(tweets_corpus, removeNumbers) #enlever les nombre
tweets_corpus <- tm_map(tweets_corpus, removePunctuation) # ici cela va supprimer automatiquement tous les caractères de ponctuation
tweets_corpus <- tm_map(tweets_corpus, content_transformer(tolower)) #mettre en minuscule
tweets_corpus <- tm_map(tweets_corpus, removeWords, stopwords("french")) #supprimer automatiquement une bonne partie des mots français "basiques"
tweets_corpus <- tm_map(tweets_corpus, stripWhitespace) # ici cela va supprimer automatiquement tous les espaces vides
tweets_corpus <- tm_map(tweets_corpus, stemDocument, language = "french") #on cherche les radicaux des termes
tweets_corpus <- tm_map(tweets_corpus, removeWords,c("ai", "machinelearning","ia","ml", "deeplearning","rt")) #enlever le terme commun
tdm <- TermDocumentMatrix(tweets_corpus, control=list(wordLengths=c(5, 30))) #creation de la matrice termsXdocuments

On conduit cette opération avec les ressources du package tm qui est le véritable moteur du text mining. C’est une opération très empirique, la procédure se construit de manière itérative, en prenant soin de bien séquencer les différentes actions. Et il sera particulièrement utile de regarder ce que font les autres data-scientists, leurs astuces et les élégances de langage qu’ils emploient. C’est l’étape la plus difficile, d’un point de vue technique  mais aussi pragmatique.

La première commande transforme le fichier de données dans un format particulier qui est celui qui décrit le corpus. Chaque enregistrement est codé sous la forme d’un triplet : le terme ( un mot racine), le document ( un tweet) et la fréquence d’apparition du terme dans le document. Pour l’utilisateur d’un logiciel statistique classique, SPSS, c’est l’élément le plus troublant, r ne fonctionne pas simplement avec des tableaux individusXvariables, ses objets sont beaucoup plus subtils, complexes mais pratiques. Les commandes précedentes effectuent les transformations requises du corpus. La dernière crée la matrice termes document que nous voulons étudier.

Comme à l’ordinaire, débutons par le plus simple : quels sont les termes les plus fréquents? A cette fin, deux technique peuvent être employées. La première est simplement la représentation ordonnée par la fréquence des termes, la seconde, très visuelle est de produire une représentation très populaire, celle des nuages de mots. En fonction de ces résultats on pourra réitérer les opérations précédentes et ajuster le jeu de données et sélectionner les termes que l’on veut analyser. En voici le code et les résultats.


dim(tdm)
nTerms(tdm)
m <- as.matrix(tdm)
v <- sort(rowSums(m), decreasing = TRUE)
d <- data.frame(word = names(v),freq = v)

head(d, 350)
barplot(d[1:70,]$freq, las = 2, names.arg = d[1:70,]$word,
col ="lightblue", main ="Mots les plus fréquents dans les tweets #IA",
ylab = "Fréquences", horiz=TRUE, cex.names = .7)
x11() #pour ne pas ecraser le chart precedent
set.seed(123456)
wordcloud(tweets_corpus, max.words = 100, colors = brewer.pal(8, "Dark2"))

Les choses sérieuses viennent maintenant avec l’utilisation d’une méthode de modélisation des topics. On emploie ici le package ModelTopics et la méthode LDA ( Latent Dirichlet Allocation) , qui cherche à calculer la probabilités qu’un terme appartienne à un Topic, et qu’un topic appartiennent à un document, en ne connaissant que l’appartenance des termes aux document. L’idée est de prendre en compte que chaque document est un mélange de topic, et que chaque topic est un mélange de mots. On en trouvera une excellente présentation ici dont nous avons repris des éléments de code, pour une présentation plus technique la page Wikipedia est un bon début.


#topic modeling

r.dtm <- DocumentTermMatrix(tweets_corpus, control = list(minWordLength =0))
lda <- LDA(r.dtm,k =16, control = list(alpha = 0.01))
(term <- terms(lda, 16)) # first 6 terms of every topic

ap_topics <- tidy(lda, matrix = "beta")
ap_topics

ap_top_terms <- ap_topics %>%
group_by(topic) %>%
top_n(20, beta) %>%
ungroup() %>%
arrange(topic, -beta)

ap_top_terms %>%
mutate(term = reorder(term, beta)) %>%
ggplot(aes(term, beta, fill = factor(topic))) +
geom_col(show.legend = FALSE) +
facet_wrap(~ topic, scales = "free") +
coord_flip()

#library(LDAvis)

Le résultat principal est constitué par le diagramme suivant qui représente pour chaque topic ( on a choisit d’en identifier 9 de manière avouons le arbitraire – la question de la détermination du nombre optimum n’est pas encore résolue). Les valeurs sont les probabilités ( beta) que les termes soient associés aux topics. C’est une sorte de spectre lexical. Le topic 5, par exemple semble être relatifs aux chatbots, à l’IoT et à ses applications en marketing et dans les fintech.

Avouons- le l’interprétation n’est pas évidente. Nous avons besoin d’un nettoyage plus poussé et sans doute de jouer encore plus sur les paramètres du modèle qui consistent d’abord dans le nombre de sujets (topics) qui mérite sans doute d’être plus élevés, et dans un paramètre Alpha qui ajuste le nombre de mots associés aux sujets. Encore mieux, il serait bon d’implémenter le package Ldavis qui produit une visualisation remarquable.

On pourrait aller encore plus loin en considérant ce premier modèle comme un modèle d’entrainement, puis en l’utilisant pour classifier de nouveaux documents. Ainsi, imaginons d’extraire chaque jour un nouveau jeu de données, on peut imaginer construire un outils qui donne l’évolution des thématiques dans la conversation des réseaux-sociaux.  Il nous suffira de la commande suivante :

test.topics <- posterior(train.lda,test)

Une autre approche est celle de la méthode Tsne, fournit par le package Rtsne. C’est finalement une sorte d’analyse des similarités, à la manière du MDS ( Multi Dimensionnal Scaling) mais qui mets en jeu des calculs de distances très particulier, dont la vertu principal est de rendre compte de niveaux d’échelles différents. Ce qui est très proche sera plus ou moins éloignés, ce qui est loin est plus ou moins rapprochés. On échappe au phénomène de dégénérescence du vieux MDS, et à une meilleure représentation quand les objets sont éloignés. On contrôle ceci par un paramètre de perplexité, qui reflète sommes toute le nombre de voisins pris en compte dans les calculs. On lira ceci pour mieux en comprendre les effets.


#tsne
library(Rtsne)
tdmdata<- as.matrix(tdm)
# run Rtsne with default parameters
tsne_out <- Rtsne(tdmdata, dims=2, initial_dims = 80, check_duplicates = FALSE, verbose=TRUE, perplexity = 20, theta=0.8,  max_iter = 1000)
plot(tsne_out$Y, t='n')
text(tsne_out$Y, labels=rownames(tdmdata),cex = 0.7)

En voici les résultats pour plusieurs degrés de perplexité. La représentation est illisible ( il y a environ 4000 termes) mais des groupes de mots bien distincts apparaissent. Elle va nous servir de base pour une meilleure visualisation de cet espace.

Un modèle avec une perplexité de 20 et à 2 dimensions est choisi comme base d’une meilleure visualisation. On va se concentrer sur les termes les plus fréquents et l’on applique une méthode de classification (méthode de ward) dans l’espace définit par tsne, et avec un peu de code supplémentaire, on produit un dendogramme radial produit par le package Ape, dans lequel la taille relative des termes est proportionnelle à leur fréquence et les couleurs correspondent à un découpage en 7 classes.


X1<-tsne_out$Y[,1]
X2<-tsne_out$Y[,2]
Fq<-rowSums (tdmdata, na.rm = FALSE, dims = 1)
Rtsne<-data.frame(Fq,X1, X2)
Rtsne2 <- subset(Rtsne, subset=Fq>30, select=c(X1,X2))

#clustering
m2 <- as.matrix(Rtsne2)
distMatrix <- dist(scale(m2))
fit <- hclust(distMatrix, method = "ward.D2")
p<-plot(fit)
rect.hclust(fit, k = 7) # cut tree into 7 clusters

library(ape)
plot(as.phylo(fit), type = "unrooted")
plot(as.phylo(fit), type = "fan")

# vector of colors
mypal = c("#556270", "#4ECDC4", "#1B676B", "#FF6B6B", "#C44D58")
# cutting dendrogram in 7 clusters
clus = cutree(fit, 7)
# plot
op = par(bg = "#E8DDCB")
# Size reflects frequency
plot(as.phylo(fit), type = "fan", tip.color = mypal[clus], label.offset = 1, cex = log(Rtsne$Fq, 10), col = "red")

Voici le trail! On y lit plus clairement les sujet : on peut commençant en descendant à droite par un premier thème sur les chatbots et de Facebook naturellement qui se poursuit sur une thématique marketing et bancaire, les applications. Le troisième thème, en rouge est plus centré sur l’entreprise et l’organisation, l’impact sur les conseillers. Les thèmes du fantasme et du changement nécessaire s’enchaîne assez logiquement, un sixième thème se centre sur la résolution de problème, le dernier est relatif aux questions entrepreuneuriales et aux start-up.
On aura condensé ainsi un contenu brut de 7000 tweets et 4000 mots en une image.

Crédit Photo : Eugenia Loli – immaculate

Prêt pour la finale : jeu de position et dynamique des segments électoraux

carteslateLa dramaturgie présidentielle est pour cette première semaine de campagne particulièrement inquiète.

Le risque que le Front National parvienne à la tête de l’état, les rancoeurs ou le calcul au Parti de Gauche, les coups de com et la fébrilité médiatique ajoutent à l’anxiété. La nouveauté de la configuration incite à la plus grande prudence mais puisque certains diffusent l’angoisse sourde d’une France rancie en brandissant le risque de l’abstention, autant revenir au calcul. Les sondages ne sont pas si mauvais et d’une bonne aide. Le premier tout l’a prouvé.

Pour évaluer le résultat, on peut le faire directement, les sondages annoncent Macron avec de 58 à 62%, on peut aussi faire un calcul de prise de parts de marché qui consiste simplement à multiplier le vecteur de la répartition des votes ( et nous y incluons les abstentionnistes du premier tour) par une  matrice de transition dont les sondages nous donnent une idée de la valeur de ses éléments et qu’on peut alimenter par différentes hypothèses en alternant ses valeur en faveur de l’un ou l’autre des candidats. Compte-tenu de la nature de l’élection on considère ici l’abstention comme une option de choix pertinente. Pour le lecteur qui veut jouer les éléments sont accessibles sur cette feuille (il suffit de modifier les valeurs dans la zone grisée).

Le résultat est clair : en prenant des hypothèses pessimistes pour Emmanuel Macron, on arrive à une victoire avec 57%. Si en revanche si ceux qui ont voté Mélenchon, au lieu de voter Macron pour 40% d’entre d’eux  étaient 65% ( ils seraient alors 20% à s’abstenir au lieu des 45% qui en ont exprimés l’intention ces jours ci), le score monte à 59%. Comme on essaiera d’affiner en fonction des informations nouvelles on indiquera ici, les corrections successives du modèle.

  • le 1er mai à 13:50 : Evolution des reports de voix de Dupont-Aignan depuis Vendredi #OpinionWay Macron 44% (+13) Le Pen : 31% (-6) Abstention : 25% (-7) -> donc 58,5% pour Macron et 41,5 pour LePen (le même sondage donne 61% en question directe)

On rejoint les sondages plus directs. Ici le calcul est minimal, on devrait aller un peu plus loin et prendre ces éléments comme l’a priori d’une approche plus bayésienne que nous avons esquissée dans le post précédent en simulant des centaines de scénarios (modèle de dirichlet).

Mais restons en au problème de segmentation. On a beaucoup commenté une France coupée en deux socialement et géographiquement, en prêtant à ces catégories beaucoup d’affect. Une enquête dIpsos-Steria donne des éléments intéressants. Nous avons sélectionné deux critères qui semblent les plus discriminants au regard d’un indicateur très simple : le rapport de la fréquence maximale sur la fréquence minimale. Il s’agit de l’âge et du niveau de formation. Tous les autres critères socio-démographiques ont des valeurs inférieures.

L’age distingue l’électorat de Fillon dont le score est inférieur à 15% chez les moins de 65 ans et bondit à 45 chez les plus de 70 ans. Une population dans laquelle d’ailleurs Macron réussit bien. Les anciens rejettent les extrémismes mêmes s’ils restent majoritairement conservateurs. Le ratio est ici de 5,6 : les plus de 70 ans sont 5,6 fois plus nombreux que les plus jeunes (45% pour 8%). On notera aussi que Mélenchon a remporté la bataille de la jeunesse, c’est finalement rassurant, une jeunesse qui ne se révolte pas ce n’est pas bon pour un pays.

L’autre critère, est le même depuis longtemps, les politiques n’en tiennent pas assez compte, c’est celui de l’éducation  que se traduit par le niveau de diplôme. Ce critère distingue fortement l’électorat nationaliste. Il y a une relation décroissante entre le taux de vote FN et le niveau de diplôme et un ratio de 3,3 quand il n’y a pas de différence substantielle pour les autres candidats. Ils sont tous un peu plus représentés chez les plus diplômés. Voilà qui signifie l’idée que c’est l’espérance de progression sociale qui fait en grande partie l’élection, et que celle-ci se construit socialement dans la ressource que représentent les diplômes et les qualifications. Le critère de revenus est moins discriminant, ce qui compte est moins le revenu actuel que celui qu’on espère. Le vote du Front National n’est pas vraiment celui du vote ouvrier, il est celui des non-diplômés. C’est aussi la faiblesse de l’extrême droite : les moins diplômés sont aussi les moins participants au vote.

Avec ces quelques éléments on peut conclure sur deux points. Le premier est un conseil à Macron, s’il veut une belle victoire qu’il fasse un geste aux insoumis, ils ne sont pas sans ressources et sans espoir, ils sont inquiet d’un monde dur où la compétition et l’intolérance se dispute la société. Le second est un second conseil à Emmanuel Macron, Président – comme c’est prévisible sous réserve de rebondissement ce dont les temps actuel semblent généreux, et à son futur gouvernement. Ce n’est pas la rhétorique qui fera refluer le nationaliste et le populisme, ni le fact-checking en dépit du flot d’intox et de mensonge de ce mouvement. Il faudra se décider, s’il l’on est progressiste, à faire que le progrès soit partagé, en particulier en ciblant la jeunesse sans diplôme dont le taux de chômage est de près de 50%. Il n’y a pas une jeunesse il y en a deux, et la figure produite par l’observatoire des inégalités est éloquente.

 

 

#Sondages : En attendant l’élu

macron04Chaque jour amène son lot de sondages suscitant plus d’interrogations que de conclusions.

Pour le spécialiste des données c’est un merveilleux bac à sable, surtout quand la foule s’attache à en maintenir l’inventaire comme le fait Wikipédia.

Ce sont les données avec lesquelles nous allons nous amuser après avoir fait un peu de nettoyage et de mise en forme. Quelques jeux avec ces packages rares et précieux qui font de r une planète à explorer, une caverne d’Alibaba, un supermarché magique du nombre.

En voici une visualisation pour les 6 principaux adversaires en termes d’intention de vote. Les données sont représentée séquentiellement en fonction du temps. Les aspérités correspondent aux jours où plusieurs sondages ont été publié le même jour. On a lissé les données sur une fenêtre de 3 jours de manière exponentielle (lambda=0,5).

évolution sondage pdt2017

Macron et Le Pen sont aux coudes à coudes, Fillon est largué et semble à peine retrouver de l’air pour respirer, Hamon s’effondre avec une belle détermination, Mélanchon surgit et s’accroche à la roue de vélo de Fillon – allez encore un coup de mollet, l’autre est cuit- , Dupont Aignan s’accroche, avec un peu d’effort il sera peut être remboursé – il pique des coups de bec dans la carcasse c’est de Fillon.

Un premier jeu est naturellement celui du pronostic. Depuis les travaux de 538 les méthodes d’analyses évoluent et se sont ouvertes aux méthodes bayésiennes. Voici en quelques lignes une méthode pour établir un pronostic. Du moins une esquisse de ce qu’on pense être ce qui est utilisé par les spécialistes qui ne donnent pas toujours beaucoup de détails sauf @freakonometrics que signale @bayesreality. Les valeurs initiales sont les moyennes des trois derniers sondages publiés au 11/04/2017.

L’idée principale est que les sondages nous donne moins un résultat qu’une information a priori, lecture est insuffisante pour établir le pronostic. Celui-ci doit prendre en compte la variabilité inhérente aux sondages et fournir une idée plus précise des distributions associées. L’utilisation d’un modèle de distribution de probabilités est indispensable, il servira à générer un grand nombre de variantes possibles à partir de  cette première donnée. On simulera 100 000 échantillons pour saisir les configurations les plus inattendues.

Dans le cas d’un premier tour d’élection le bon modèle est celui de Dirichlet. Les résultats du sondage servent de probabilité a priori dans une perspective bayésienne. Pour estimer plus précisément le modèle, on peut  inclure aussi compte le nombre de répondant qui détermine la dispersion des probabilités de choix. Dans notre cas nous choissisons un paramètre de 250, pour tenir compte qu’empiriquement les échantillons utilisés sont deux fois moins précis que ce que la théorie pronostique. Avec r ceci se traduit par peu de lignes.

set.seed(789)
N <- 100000
probs <- c(.233 , .238, .187, .181, .092, .037 )    # define (extremal) class probabilities#alpha0 = 250  -> pour tenir compte de l’erreur réelle, on divise par 4 l’échantillon moyen utilisé car on l’stime au double des valeurs théorique.
alpha0 <- 250
alpha <- alpha0*probs
alpha <- matrix( alpha , nrow=N , ncol=length(alpha) , byrow=TRUE  )
alpha
x <- dirichlet.simul( alpha )

Les résultats sont donnés dans les deux diagrammes suivants. Le premier donne la distribution des probabilités de choix pour chacun des candidats, le second la distribution de probabilité d’arrivée en tête. Seul deux candidats ont une chance, sur la base des trois derniers sondages, Marine Le Pen a une toute petite avance sur Macron.

Naturellement ce qui interroge d’abord c’est la dynamique des hésitations et le jeu des reports. Qui prend à qui? L’analyse des corrélations peut nous donner une première idée. On y notera la nette corrélation négative entre les intentions de vote pour Hamon et Mélanchon – la piscine se vide- , tout autant qu’un lien positif entre celle pour Mélanchon et de manière surprenante pour Dupont-Aignan? Est-ce l’axe souverainiste? Pour Macron le point intéressant est qu’il est peu lié aux autres, il n’attire pas de camp particulier – sauf celui des modernes de tout les camps! à l’exception de Hamon – la piscine se déverse dans un second bassin. Fillon et Le Pen se déchirent ce qui reste de l’électorat de droite.

L’analyse de ces corrélations doit être prudente car elle suppose qu’elles restent stables dans le temps.

L’étude de cette dynamique va nous fournir un troisième jeu. A cette fin on utilise le package Roll de r et sa fonction roll_corr. Il s’agit de calculer une corrélation glissante en fonction du temps, selon une fenêtre d’observations ( ici 16 j) et une pondération exponentielle (0,9). 8 des 15 couples figurent dans la diapo 3.

Ces corrélations sont intéressantes, mais se lisent difficilement. Un premier résultat est la forte fluctuation des corrélation qui passent du positif au négatif, seraient-elles ératiques?  Le cas Hamon Melanchon est le plus clair, la corrélation devient de plus en plus négative, indiquant le sens de la conversion : Mélanchon monte de plus en plus parce que Hamon lui fournit ses bataillons. DAns tout les cas il n’y a pas de stabilité dans le temps, les rapports de forces varient, passe d’un pivot à l’autre.

Puisqu’il s’agit d’une matrice de corrélation on peut l’analyser avec une  ACP toute aussi glissante que nos corrélations, c’est une ACP dynamique. Le même Package Roll nous fournit la solution avec une fonction très simple Rool_eigen

—–
Corollb<-roll_eigen(Coroll, 20, min_obs = 1)
—–

On produit ainsi une série d’Acp pour chaque élément de la séquence des sondages. En voici ci dessous des exemples à t=20,40, 50,70. On peut y lire les moment de la campagne. Pour son moment le plus récent on voit clairement l’attraction de Mélanchon s’exercer sur toute les factions. Le début de campagne était plus classique dans une opposition des forces de droite et de gauche.

Il y a encore beaucoup de jeux possibles. Et nos codes sont faits à l’arrache. Une chose est sure, la statistique gagne avec ces élections, jamais on a autant calculé, et jamais on a été autant surpris. C’est que les structures de vote deviennent plus subtiles, et demandent des méthodes plus fines, plus riches, plus interprétative.

Nous n’avons pas été au bout de l’excercice, nous n’avons pas combiné les deux tours. Nous n’avons pas exploré toutes les régularisations possibles de nos modèles. Nous voulions juste inviter le lecteur à explorer les nouvelles ressources des DataSciences pour comprendre plus que pour prévoir les ressorts d’une élection à la présidence.

PS: et si quelqu’un a envie de faire du code propre, le mien est crasseux. Le tableau de donnée et le script r sont à disposition. Just mail me.

 

 

 

 

Série Xerfi – Fnege : datas, plateformes et algorithmes.

AAEAAQAAAAAAAAl8AAAAJDg4M2M0NzFiLTRlYjUtNDU3Mi1hMWI3LWFjNzNiZDk2Yjg2YQUne des vidéos date un peu, les deux autres sont toutes fraîches, elles sont complémentaires car elles traitent sous trois angles, les données, les algorithmes et les plateformes, cette réalité de nouvelles formes d’organisations fondées sur un traitement massif de l’information.

Ces vidéos ont été tournées dans le cadre du partenariat de Xerfi canal et de la FNEGE. On en retrouvera des dizaines d’autres sur tous les sujets de la gestion, des marchés et des organisations. Un belle série.

Modèle de plateformes

Algorithmes

Les modèles du bigdata

Uber, un cas de métayage digital ?

3655236598_2236b3238f_zC’est au hasard de lecture que je tombe sur cette référence.

l’abstract éveille une réaction immédiate ( je n’ai pas encore lu l’article complet faute d’y avoir accédé). Il y aurait donc une autre manière de penser la dualité contrat de travail vs contrat de service dans les plateformes de travail. Le métayage,  cette forme désuète de contrat agricole serait donc une solution ancienne reprise aujourd’hui.

Faute de lire le texte je m’empresse de chercher d’autres sources et notamment celle évoquées dans le texte. Le contrat de metayage est cet arrangement où le propriétaire d’un terrain le donne à exploiter à un agriculteur avec qui il partage une partie du produit (en général la moitié). Cette forme de contrat peut paraître féodale, et il semble qu’elle ai largement disparue sauf dans quelques régions pauvres du monde où semble-t-il elle n’est pas forcément moins performante qu’un modèle de fermage qui s’apparente à une simple location. C’est le résultat amené par celui qui semble être l’inspirateur du papier, Cheung qui en 1969 a publié un papier essentiel.  Jean-Philippe Colin en 1995 a publié une synthèse précieuse sur la question, passant en revue les théories du métayage.

Précisons en quoi c’est une manière pertinente d’analyser le mode de fonctionnement de Uber et d’élargir le débat sur la nature des contrats : il ne s’agit peut-être pas ni de contrat de service, ni de contrat de travail, mais d’une troisième modalité celle du métayage.

Uber considère que ses clients ne sont pas tant les passagers que les conducteurs auxquels il fournit un service d’apport d’affaires et se rémunère en conservant 20% des recettes, c’est à dire bien moins que les 50% du monde agricole (et c’est un point qui méritera plus d’analyse). Ce point de vue est notamment combattu par des juges qui considèrent ce point de vue comme une fiction. Ils privilégient une analyse en terme de pouvoir et de degré de subordination. Ce point de vue est limité d’une part par la liberté d’entrée et de sortie ( la connection à la plateforme), et d’autre part par l’apport en capital (l’ouvrier amènent ses outils). En adoptant le point de vue de Uber il faut s’intéresser au statut des passagers qui seraient finalement l’analogue de la terre. Une ressource qu’il faut entretenir pour en en tirer les fruits et qu’on peut proposer à l’exploitation contre une part de son fruit.

Une grande partie de l’investissement d’Uber consiste à équiper les smartphones avec l’application, d’en initier et en maintenir l’usage dans la population la plus vaste. L’usage de l’appli est gratuit pour les passagers. Ce qui importe c’est qu’il appuie sur le bouton. Et on imagine que les consommateurs des mégapoles sont prêt à avoir dans leur portfeuilleue d’appli celle qui leur rend un service au poindre effort. Si l’appli Uber remplie une fonction universelle, les utilisateurs de l’appli deviennent une terre édenique. Il ne reste qu’à exploiter. C’est une terre super-enrichie dont l’exploitation  peut être conduite de trois manières : le salaire, le marché et le métayage.

  • La première est d’embaucher les exploitants de la terre. Des ouvriers agricoles payés en salaires pour des contrats plus ou moins longs. Ce modèle est peu flexible pour s’adapter au variations de la demande, et du climat, et il est probable que les taux d’utilisation soient faibles et réclame un degré de contrôle élevé de la part du propriétaire. Il lui permet la plus valeur extraction de valeur quand les salaires sont bas. Sa version radicale consiste à ne donner aucun salaire, juste la subsistance, et c’est l’esclavage. C’est un régime fondé sur un abandon de liberté, de décision. Sa vertu est la régularité.
  • Le second, c’est la location, le fermage. Les conducteur loue l’usage de l’appli. C’est une situation intéressante pour eux car s’ils peuvent exploiter au maximum l’outil et avoir un rendement plus que proportionnel au coût du loyer, ils sont largement gagnant. Le pari du fermier est de produire plus que son prédécesseur, ils peut s’en distinguer par les méthodes de cultures. Pour le propriétaire du domaine s’est l’assurance d’obtenir un rendement élevé avec un faible coût de surveillance.
  • La troisième est celle du métayage. Elle donne la possibilité à ceux qui n’ont que leur bras et quelques outils d’exploiter une ressources dont ils sont exclus. Elle permet au propriétaire d’espérer un rendement de terres qui sont des landes et ne produisent rien. Le caractère historique des métayages est sans doute lié à cette contingence qui fait que certains possèdent toutes les terres, et d’autres n’en possèdent aucune. Aujourd’hui, le bien agraires c’est l’inventaire et la rareté de son accès. Ce que fait Uber au fond c’est de découvrir des champs digitaux. Ce contrat est celui que l’on trouve dans les pêcheries quand l’armateur paye le bateau et le gazoil et partage une fois le gazoil défalqué, la moitié du montant de la pêche. Trois parts au capitaine, deux au mécanicien, une pour chaque marin.

Avec un peu d’ironie, peut-être faudra-t-il analyser l’économie collaborative comme une économie agraire. On peut faire pousser de l’herbe, on peut aussi faire pousser de la consommation. Les plateformes construisent les infrastructures du désir. Un Uber Universel, accessible non seulement par l’appli mais aussi par les boutons insérés ailleurs, comme dans google maps s’approprie les plaines du midwest appelant à les cultiver.

Avec moins d’ironie, plus de gravité, c’est une invitation à penser que l’espace digital est autant de greenfield. Ceux qui les créent mérite autant d’être récompensés que ceux qui les réalisent. Le commun profite au bénéfice de chacun. On peut imaginer aussi qu’à l’ère du métayage succède celui du fermage. On imagine que la propriété foncière sera amenée à être restitués. On trouvera dans l’histoire des économies agricoles milles raisons, idées, pour penser les rapports de la propriété et du travail dans les plateformes digitales.

Parle à ma machine

13641048214_e55529f9db_zJuste un court billet pour cette idée simple : la relation client n’est plus simplement une question de confiance, car l’appareil de la consommation, la galaxies des objets connectés qui accompagnent le consommateur, en deviennent de plus en plus un composant essentiel. Des notifications, des mises à jours des agendas, le règlement automatique des contrats,  la commande de l’environnement, la surveillance de nos biens, le pilotage de nos équipements, font travailler nos machines, et c’est à ces machines que les marques vont devoir parler, d’autant plus que nous souhaitons être tranquilles, déchargés des corvées.

C’est l’idée que l’agence Marquetis à parfaitement saisie en 1mn30 dans cette réinterprétation de « Plateformes », la même qu’on a confiée, sur un autre ton et de manière plus développée au Cercle du Marketing Client ».

Film Futur_datas by Marquetis from Christophe Benavent on Vimeo.