GUIA ANÁLISIS ABC_XYZ
Pueden utilizar cualquier tipo de editor para que realicen este análisis, hay varios como: Visual Studio Code, Júpiter,
Pycharm, Google Colab, etc. Sigan los siguientes pasos:
1. El primer paso para los que están iniciando en el mundo de Python, es llevar su archivo o carpeta al ambiente de
su editor. Para esto crean una nueva venta y arrastran la carpeta que crearon con el archivo que quieren analizar.
2. Una vez realizada esa acción le asignan un nombre a su script, en mi caso le puse Analisis_ABC.ipynb (“la
terminación ipynb es porque lo estoy trabajando en el ambiente de Júpiter”) y las librerías que pueden ver ahí son
las que normalmente uso para realizar mis análisis. Para este caso sólo necesitarán panda.
3. Al trabajar con bases de datos te puedes encontrar con diferentes situaciones, que te llevan a realizar una
limpieza de la data para que puedas realizar un correcto análisis.
✓ srt.title(): En este caso podemos tener bases de datos por ejemplo de un cliente o categoría con la siguiente
terminación: HIPERMERCADO cerámicos, pero con la función srt.title() lo va a convertir en Hipermercado
Cerámico.
✓ str.upper(): te ayuda que transformar tu contenido de texto a mayúsculas, en el caso de Python puedes
tener la misma palabra en mayúscula y minúscula, pero para él es un texto distinto, es decir: LUIS, Luis,
luis, son totalmente distintos. Por lo tanto, si empleas la función srt.upper() transformara luis en LUIS.
✓ drop(): Esta función te permite eliminar filas y columnas, en este caso estoy eliminando dentro de toda
columna Product_Line la categoría Herramientas y Utencillos.
4. Al ejecutar la limpieza de datos logramos tener la siguiente información:
5. Una vez limpia y ordenada la información procedemos a realizar la clasificación ABC, para esto tomaremos solo
las columnas que nos interesan y eliminamos las que no son de nuestro interés. Aquí un punto importe, cuando
digo eliminamos es que la vamos a trasladar a otra base de datos llamada “df1”, la base de datos original “df” se
mantiene intacta para realizar otros tipos de análisis.
6. Nos quedamos con la información necesaria para realizar la clasificación y dar formato a la fecha.
7. Combinamos mes y año para tener una sola columna.
8. Finalmente Pivoteamos nuestra df2 y la llevamos a un df3 con la información del modelo y las ventas.
9. Realizamos el cálculo de las ventas totales. En este caso he realizado el calculo de dos años (2022 y 2023) ya que
es solo un ejemplo; por esta razón, estoy usando iloc[:, 1:23] el rango puede cambiar en función al tipo de análisis
que quieren realizar, por ejemplo: iloc[:, 12:23] o iloc[:, 8:17]. Para los que no tienen claro como funciona iloc, este
comando te selecciona el número de columna.
10.Calculamos la desviación estándar y el coeficiente de variación.
11. Finalmente aplicamos un poco de código para obtener la clasificación XYZ. Los rangos para la clasificación
dependerán de cada empresa y criterio del analista o en ultima instancia de la gerencia (muy pocas veces se
involucran, pero siempre es bueno darles el alcance)
12. Luego pasamos a realizar la clasificación ABC. Para esto tomamos el df3 (corresponde a la base de datos
culminada de la clasificación XYZ) y la trasladamos a un df4 y ordenamos los valores de mayor a menor con la
función sort.values.
13. Calculamos los porcentajes acumulados
14. Finalmente aplicamos un poco de código para obtener la clasificación ABC. Los rangos de la clasificación
también dependerán de cada realidad y tipos de análisis que quieran realizar (la teoría dice que los productos A
son el 80%, los productos B al 95% y los C al 100% en acumulado, pero la realidad es otra)
15. Usamos la función merge, para unir las bases de datos (data frame) de la clasificación XYZ y ABC.
16. Como se puede observar en el df_final_ABC tenemos las columnas ABC y Clas_XYZ las cuales tenemos que
unir y crear una nueva columna. Usamos astype(str) porque son datos string lo cual nos ayudar para poder
realizar la unión como se observa en la columna Clas_ABC_XYZ
17. Finalmente ordenamos nuestra base de datos y nos quedamos con la información más relevante y
tendríamos la clasificación ABC_XYZ