Il est important de calculer le profit pour chaque entreprise. Si votre site Web ou votre boutique en ligne fonctionne sur MySQL, vous pouvez facilement calculer la marge dans MySQL. Dans cet article, nous verrons comment calculer la marge dans MySQL, calculer la marge pour chaque produit et également calculer la marge quotidienne.
Comment calculer la marge dans MySQL
Disons que vous avez deux tables purchases(order_id, product_id, quantity, cost_price, order_date ) et ventes (id_commande, id_produit, quantité, prix_vente, date_commande) qui contiennent des détails sur les informations d'achat et de vente de chaque produit.
mysql> create table purchases(order_id int, product_id int, quantity int, cost_price int, order_date date); mysql> insert into purchases(order_id, product_id, quantity, cost_price, order_date) values(1,101,10,30,'2021-01-01'), (2,102,15,50,'2021-01-02'), (3,101,30,80,'2021-01-03'), (4,103,20,35,'2021-01-04'), (5,105,10,50,'2021-01-05'), (6,104,17,40,'2021-01-06'), (7,101,30,45,'2021-01-07'), (8,102,60,60,'2021-01-08'), (9,110,19,70,'2021-01-09'), (10,108,20,80,'2021-01-10'); mysql> select * from purchases; +----------+------------+----------+------------+------------+ | order_id | product_id | quantity | cost_price | order_date | +----------+------------+----------+------------+------------+ | 1 | 101 | 10 | 30 | 2021-01-01 | | 2 | 102 | 15 | 50 | 2021-01-02 | | 3 | 101 | 30 | 80 | 2021-01-03 | | 4 | 103 | 20 | 35 | 2021-01-04 | | 5 | 105 | 10 | 50 | 2021-01-05 | | 6 | 104 | 17 | 40 | 2021-01-06 | | 7 | 101 | 30 | 45 | 2021-01-07 | | 8 | 102 | 60 | 60 | 2021-01-08 | | 9 | 110 | 19 | 70 | 2021-01-09 | | 10 | 108 | 20 | 80 | 2021-01-10 | +----------+------------+----------+------------+------------+ mysql> create table sales(order_id int, product_id int, quantity int, selling_price int, order_date date); mysql> insert into sales(order_id, product_id, quantity, selling_price, order_date) values(1,101,8,70,'2021-01-01'), (2,102,10,150,'2021-01-02'), (3,101,25,280,'2021-01-03'), (4,103,20,135,'2021-01-04'), (5,105,10,350,'2021-01-05'), (6,104,15,140,'2021-01-06'), (7,101,20,65,'2021-01-07'), (8,102,50,160,'2021-01-08'), (9,110,15,120,'2021-01-09'), (10,108,15,180,'2021-01-10'); mysql> select * from sales; +----------+------------+----------+---------------+------------+ | order_id | product_id | quantity | selling_price | order_date | +----------+------------+----------+---------------+------------+ | 1 | 101 | 8 | 70 | 2021-01-01 | | 2 | 102 | 10 | 150 | 2021-01-02 | | 3 | 101 | 25 | 280 | 2021-01-03 | | 4 | 103 | 20 | 135 | 2021-01-04 | | 5 | 105 | 10 | 350 | 2021-01-05 | | 6 | 104 | 15 | 140 | 2021-01-06 | | 7 | 101 | 20 | 65 | 2021-01-07 | | 8 | 102 | 50 | 160 | 2021-01-08 | | 9 | 110 | 15 | 120 | 2021-01-09 | | 10 | 108 | 15 | 180 | 2021-01-10 | +----------+------------+----------+---------------+------------+
Nous utiliserons ces tables pour calculer la marge dans MySQL. Voici la formule de la marge.
marge bénéficiaire =(quantité vendue*prix de vente – quantité achetée*prix de revient )/quantité vendue*prix de vente
Une fois que nous obtenons le total des ventes et le coût total, vous pouvez modifier la formule ci-dessus selon vos besoins pour calculer la marge brute, la marge nette, etc.
Calculer la marge totale dans MySQL
Voici la requête SQL pour calculer la marge bénéficiaire totale.
mysql> select (total_sales-total_cost)*100/total_sales as total_margin from (select sum(quantity*cost_price) as total_cost from purchases) as total_purchases, (select sum(quantity*selling_price) as total_sales from sales) as total_sales; +--------------+ | total_margin | +--------------+ | 57.6059 | +--------------+
Examinons la requête ci-dessus en détail.
Nous calculons le coût total et les ventes totales séparément à l'aide de sous-requêtes
select sum(quantity*cost_price) as total_cost from purchases
et
select sum(quantity*selling_price) as total_sales from sales
puis utilisez le résultat de ces sous-requêtes pour calculer la marge bénéficiaire totale.
Lecture bonus :Comment obtenir plusieurs comptes dans MySQL
Calculer la marge du produit dans MySQL
Voici la requête SQL pour calculer la marge bénéficiaire pour chaque produit.
mysql> select total_purchases.product_id, (total_sales-total_cost)*100/total_sales as total_margin from (select product_id,sum(quantity*cost_price) as total_cost from purchases group by product_id) as total_purchases, (select product_id,sum(quantity*selling_price) as total_sales from sales group by product_id) as total_sales where total_purchases.product_id=total_sales.product_id; +------------+--------------+ | product_id | total_margin | +------------+--------------+ | 101 | 54.2889 | | 102 | 54.2105 | | 103 | 74.0741 | | 104 | 67.6190 | | 105 | 85.7143 | | 108 | 40.7407 | | 110 | 26.1111 | +------------+--------------+
Dans la requête ci-dessus, nous utilisons les deux sous-requêtes suivantes pour calculer séparément les ventes et le coût de chaque produit.
select product_id,sum(quantity*cost_price) as total_cost from purchases group by product_id
et
select product_id,sum(quantity*selling_price) as total_sales from sales group by product_id
Ensuite, nous joignons le résultat de ces deux sous-requêtes basées sur product_id colonne pour calculer la marge bénéficiaire totale pour chaque produit.
Calculer la marge quotidienne dans MySQL
De même, vous pouvez calculer la marge bénéficiaire quotidienne à l'aide de la requête SQL suivante.
mysql> select total_purchases.order_date,(total_sales-total_cost)*100/total_sales as total_margin from (select date(order_date) as order_date, sum(quantity*cost_price) as total_cost from purchases group by date(order_date) ) as total_purchases, (select date(order_date) as order_date, sum(quantity*selling_price) as total_sales from sales group by date(order_date) ) as total_sales where total_purchases.order_date=total_sales.order_date; +------------+--------------+ | order_date | total_margin | +------------+--------------+ | 2021-01-01 | 46.4286 | | 2021-01-02 | 50.0000 | | 2021-01-03 | 65.7143 | | 2021-01-04 | 74.0741 | | 2021-01-05 | 85.7143 | | 2021-01-06 | 67.6190 | | 2021-01-07 | -3.8462 | | 2021-01-08 | 55.0000 | | 2021-01-09 | 26.1111 | | 2021-01-10 | 40.7407 | +------------+--------------+
Dans la requête ci-dessus, nous utilisons les deux sous-requêtes suivantes pour calculer séparément les ventes et le coût pour chaque jour.
select date(order_date) as order_date,sum(quantity*cost_price) as total_cost from purchases group by date(order_date)
et
select date(order_date) as order_date,sum(quantity*selling_price) as total_sales from sales group by date(order_date)
Ensuite, nous joignons le résultat de ces deux sous-requêtes en fonction de order_date colonne pour calculer la marge totale pour chaque jour.
Calculer la marge dans Ubiq
L'outil Ubiq Reporting prend en charge toutes les requêtes SQL ci-dessus et facilite la visualisation des résultats SQL de différentes manières. Il vous permet également de créer des tableaux de bord et des graphiques à partir de données MySQL. Voici la requête SQL pour calculer quotidiennement la marge dans Ubiq.
En fait, après avoir exécuté la requête, vous pouvez simplement cliquer sur un type de visualisation pour tracer le résultat dans un graphique.
Besoin d'un outil de reporting pour MySQL ? Ubiq permet de visualiser facilement les données en quelques minutes et de les surveiller dans des tableaux de bord en temps réel. Essayez-le aujourd'hui !