Cómo se expande la mala reputación de Bancolombia por Twitter?

En mi post anterior empecé a documentar el abuso de Bancolombia de tener productos cuya fecha de caducidad es automática y desconocida por sus clientes, como ocurre con la Sucursal Virtual de Empresas y di una serie de consejos para quejarse efectivamente en Internet, articulando la presencia en blogs con la de las redes sociales, en particular twitter. Di un esquema general de esta serie de escritos y dije que la segunda línea de acción sería tazar el costo de estas prácticas por parte de la entidad bancaria, no sólo para mi, sino para personas que también fuesen víctimas de ellas. Este segundo post va en esa línea y empezará intentando hacer una métrica, cada vez más precisa, de cómo se expande la mala fama de Bancolombia en Twitter. Otras métricas venideras permitirán medir las pérdicas económicas que dichas prácticas causan a las personas, para finalmente entrar en la de denuncias ante entidades de control, con aquello de lo que se ha hecho recuento acá como elementos que pueden ser llevados antes dichas entidades. Es decir, empezaremos tazando el impacto negativo para Bancolombia de sus prácticas, luego para los clientes de tal entidad y finalmente usaremos la información recopilada en todos estos post para construir un caso en su contra en entidades de control.

Como en el texto anterior, este no tiene un caracter púramente de denuncia, sino tambien tutorial, pues enseñaré cómo calcular dichos perjuicios de reputación institucional y dinero personal y empresarial y cómo tener mejores estrategias de denuncia. Sin embargo, en este caso el tutorial tendrá un caracter más teórico, pues se usarán ciertas técnicas de teoría de grafos y data scraping para hacer visible y auditable la mala fama que circula sobre Bancolombia, pero que luego puede ser aplicable a otras entidades que cometen abusos similares a los denunciados. Esto además lo usaremos como tutorial en otros cursos de programación para novatos, usando este caso real y eventualmente habrá una traducción de este texto, para ver cómo las denuncias se propagan en otro idioma.

Favor RT o lo que pueden hacer unos pocos reenvíos de mensajes

Una de las cosas que más me sorprendió de mis quejas contra Bancolombia era cómo se expandían en la red a través de Twitter. A los pocos minutos tenía ya un par de retuits:

Como dije en el escrito anterior, hay que enviar el mensaje en diferentes días, debido a los distintos ritmos de las redes sociales. Acá está el resultado los retuits de otro mensaje donde se compartía el mismo enlace:



Hay también otros mensajes que no se originan como retuits, sino como tuits en sí mismos. Acá los resultados de esta búsqueda:

Ahora bien, les sorprendería saber que con pocos retuits basta para llegar a varias decena de miles de personas en la red, como se calculará en un momento. Si consideremos que, al día de hoy Bancolombia tiene cerca de 111.000 seguidores en Twitter y que ha invertido centenas de millones en construir su presencia y reputación en línea, no deja de ser interesante lo que un caso bien documentado, algunos retuits y la geometría de los 6 grados de separación de las redes sociales, puede hacer para llegar a una cantidad considerable de personas con pocos saltos de mensajes y buenas conexiones entre ellas. Procesamos a los cálculos.

¿A cuántas personas llegamos?

El cálculo se empezará grueso, y se irá afinando. Empezaré mirándo cuántos seguidores tienen todas las personas que han compartido el enlace. Los sumaré de una manera sencilla y luego descontaré los seguidores compartidos entre ellos, de forma que sólo miremos qué información llega a seguidores únicos.

Para lo anterior definiremos un diccionario que contiene los avatares de quienes retuitearon y sus seguidores.

In [62]:
nuestrosSeguidores = {
            "andresfcalderon": 563 ,
            "xtingray": 154, 
            "ijpulidos": 39, 
            "hpsaturn":1400, 
            "irenarco": 853, 
            "kmilo": 1583,
            "edusan": 194,
            "Orinaldeiglesia": 58,
            "zilegman":459,
            "jorgitomacumba": 12800,
            "donIngeniero": 992,
            "kerobero": 57,
            "isadiceque": 197,
            "taufpate": 406,
            "Menticolcito": 316,
            "La_eche": 7582,
            "DivisionDeAriza": 1697,
            "carobotero": 5573,
            "athpernath": 41,
            "no_HAY_palabras": 86,
            "wikiperiodismo": 18300,
            "offrayLC": 465
            }

Ahora sumemos todos los seguidores de las personas que hicieron un retuit y compartieron este mensaje.

In [63]:
sum(nuestrosSeguidores.values())
Out[63]:
53815

Nada mal! Entre todos y todas estamos llegando casi a la mitad de los seguidores de Bancolombia, a grosso modo, sin invertir millones y sin necesidad de ser un banco. Ahora bien, como dije esta es sólo una primera aproximación. Necesitamos quitar los seguidores compartidos, lo cual reduce el número, pero sigue produciendo resultados interesantes.

Hagamos una gráfica de lo anterior para apreciarlo mejor (esta gráfica también se irá afinando). Hay muchas posibilidades para hacer los gráficos, pero como acá queremos representar cómo las conexiones entre las personas ayudan a difundir la información de maneras que desafían a las instituciones con mucho más dinero, usaremos una biblioteca para representar grafos en python llamada NetworkX, que es más adecuada para este tipo de temáticas.

In [41]:
# Importamos las bibliotecas y las variables de entorno que usaremos en el
# notebook
%matplotlib inline

# Biblioteca para trabajar con Grafos
import networkx as nx

# Biblioteca para trabajar con imágenes
import matplotlib.pyplot as plt

# Soporte de d3 (gráficas en la web) para matplotlib
from mpld3 import enable_notebook
enable_notebook()
In [50]:
# Una variable que almacena el grafo de difusión de mensajes entre
# los seguidores de Bancolombia y nosotros
difusion = nx.Graph()

# Adicionamos nodos
difusion.add_node("bancolombia")
difusion.add_node("nosotros")
In [74]:
# Parámetros de la gráfica
plt.rc('figure', figsize=(9, 7))

# Dibujamos el grafo con el tamaño de los nodos igual al número de seguidores
nx.draw_circular(difusion, node_size=[111000, sum(nuestrosSeguidores.values())])

Como los nodos aportaron información diferente, disgreguemos la información, de nosotros, de la de Bancolombia.

In [ ]:
nosotros = nx.Graph()
bancolombia = nx.Graph()

Agradecimientos y referencias

Este trabajo no podría ser posible sin la ineptitud y malas prácticas de Bancolombia, que al tener productos con caducidad automática desconocida, seguramente está incurriendo en algo que mínimamente es indignante y muy seguramente ilegal y castigable y ese es un mensaje digno de exparcirse por las redes (en contraste los mensajes positivos también lo son, pero ellos son un ejemplo de lo opuesto). Para ellos no va mi agradecimiento, sino mi denuncia documentada y mis cobros por el tiempo que me han hecho perder, pero es justo que se les de el crédito adecuado.

Los que verdaderamente han contribuido a que esto sea posible con cada una de las personas que difunden la información. Ninguna contribución es pequeña! Muchas gracias!

Ahora si lo que está es interesado en difusión de información y su graficación en contexto sociales le recomiendo:

Lo que falta

En esta misma página documentaré cómo afinar los cálculos o enlazaré a otras versiones en caso de que el procedimiento se ponga muy extenso. Permanezcan sintonizados!

Comentarios

Comments powered by Disqus