sql >> Base de Datos >  >> RDS >> Mysql

Cómo calcular las ventas promedio por semana en MySQL

Ventas promedio por semana es una métrica útil para todas las empresas, sin importar en qué industria trabaje. Brinda una buena idea de cómo le está yendo a su negocio y en un período de tiempo razonable. También ayuda a suavizar el ruido de las cifras de ventas diarias actuales. Aquí se explica cómo calcular las ventas promedio por semana en MySQL.

Cómo calcular el promedio de ventas por semana en MySQL

Hay varias formas de calcular las ventas promedio por semana en MySQL. Veremos cada uno de ellos

Supongamos que tiene una tabla con datos de ventas diarias sales(order_date,sale)

mysql>create table sales(order_date date,sale int);

mysql>insert into sales(order_date,sale)
values('2020-01-01',10),('2020-01-02',12),('2020-01-03',15),
('2020-01-04',11),('2020-01-05',13),('2020-01-06',9),
('2020-01-07',21),('2020-01-08',10),('2020-01-09',10),
('2020-01-10',2),('2020-01-11',16),('2020-01-12',12),
('2020-01-13',10),('2020-01-14',18),('2020-01-15',15),
('2020-01-16',12),('2020-01-17',10),('2020-01-18',18),
('2020-01-19',14),('2020-01-20',16),('2020-01-21',12),
('2020-01-22',21),('2020-01-23',13),('2020-01-24',15),
('2020-01-25',20),('2020-01-26',14),('2020-01-27',16),
('2020-01-28',15),('2020-01-29',10),('2020-01-30',18);

mysql>select * from sales;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-01-01 |   10 |
| 2020-01-02 |   12 |
| 2020-01-03 |   15 |
| 2020-01-04 |   11 |
| 2020-01-05 |   13 |
| 2020-01-06 |    9 |
| 2020-01-07 |   21 |
| 2020-01-08 |   10 |
| 2020-01-09 |   10 |
| ...        |   ...|
+------------+------+

Calcular las ventas promedio por semana en MySQL

MySQL proporciona una función WEEK incorporada que devuelve el número de SEMANA del año. Puede calcular fácilmente las ventas promedio por semana en MySQL usando la cláusula GROUP BY y la función AVG, como se muestra a continuación.

mysql> select week(order_date),avg(sale) from sales
    -> group by week(order_date);
+------------------+-----------+
| week(order_date) | avg(sale) |
+------------------+-----------+
|                0 |   12.0000 |
|                1 |   11.5714 |
|                2 |   13.5714 |
|                3 |   15.8571 |
|                4 |   14.6000 |
+------------------+-----------+

Puede embellecer su resultado usando las funciones CONCAT y ROUND:CONCAT se puede usar para concatenar cadenas personalizadas a números de semana, y la función ROUND se puede usar para redondear valores promedio. Aquí hay un ejemplo,

mysql> select concat('Week ',week(order_date)) as 'Week',round(avg(sale),2) as 'Average Sale'
 from sales group by week(order_date);
+--------+--------------+
| Week   | Average Sale |
+--------+--------------+
| Week 0 |        12.00 |
| Week 1 |        11.57 |
| Week 2 |        13.57 |
| Week 3 |        15.86 |
| Week 4 |        14.60 |
+--------+--------------+

Lectura adicional: Cómo calcular el porcentaje de crecimiento mes a mes en MySQL

Si su tabla tiene más columnas, cuyos promedios desea calcular, simplemente puede agregarlas a su consulta como se muestra a continuación en negrita

mysql> select concat('Week ',week(order_date)) as 'Week',round(avg(sale),2) as 'Average Sale'
,round(avg(goal),2) as 'Average Goals',round(avg(revenue),2) as 'Average Revenue'
 from sales group by week(order_date);

Si desea agregar filtros a su consulta, puede agregar una cláusula WHERE a su consulta como se muestra a continuación

mysql> select week(order_date),avg(sale) from sales WHERE <condition here>
    -> group by week(order_date);

Lectura adicional: ¿Cómo calcular las ventas totales por mes en MySQL?

La función Semana de MySQL proporciona múltiples formas de calcular los datos semanales. Su sintaxis es

SEMANA(fechaprimerdíadelasemana )

firstdayofweek es opcional y puede tomar los siguientes valores

Valor de opción Primer día de la semana Rango La semana 1 es la primera semana...
0 domingo 0-53 con un domingo en este año
1 lunes 0-53 con más de 3 días este año
2 domingo 1-53 con un domingo en este año
3 lunes 1-53 con más de 3 días este año
4 domingo 0-53 con más de 3 días este año
5 lunes 0-53 con un lunes en este año
6 domingo 1-53 con más de 3 días este año
7 lunes 1-53 con un lunes en este año

El valor predeterminado es 0.

Cuando calcule las ventas promedio por semana en MySQL, tenga cuidado al usar el segundo argumento en la función SEMANA. Si no se usa correctamente, podría terminar calculando mal los números promedio.

Finalmente, puede usar una herramienta de informes para trazar las ventas promedio por semana en un tablero y compartirlo con su equipo. Este es un ejemplo de gráfico de barras que muestra las ventas promedio por semana, creado con Ubiq.

Si desea crear gráficos de ventas, paneles e informes desde la base de datos MySQL, puede probar Ubiq. Ofrecemos una prueba gratuita de 14 días.