En mars dernier, j’ai vu ceci apparaître dans mon fil d’actualités Facebook:

Le polémiste Éric Duhaime invitait ses auditeurs à faire quelques centaines de kilomètres pour aller acheter du vin dans une boutique de la Régie des alcools de l’Ontario (ou LCBO pour Liquor Control Board of Ontario). Selon Duhaime, le vin s’y vendrait moins cher qu’à la SAQ.

Mais est-ce que c’est vrai? Les prix sont-ils toujours plus chers à la SAQ? L’amateur de vin québécois se fait-il fourrer par le vilain monopole?

Ce sont des questions qui reviennent régulièrement dans l’actualité. Divers spécialistes du vin ont déjà fait, dans le passé, des comparaisons entre les deux sociétés d’État. Selon ces experts, l’alcool est vendu plus cher au Québec qu’en Ontario. Ils ont cependant utilisé des échantillons dont on peut remettre en question la représentativité:

Le Sommelier fou, par exemple, fait régulièrement des «matches comparatifs» entre les deux. Dans celui-ci, on conclut qu’on économiserait 3,35$ en allant à la LCBO… mais sur un échantillon de 16 produits seulement.

Le Droit a fait un exercice semblable en 2013… en comparant 15 produits…

Un chercheur cité dans Le Soleil, la même année, a même «prouvé» les prix plus élevés à la SAQ. Son échantillon? 47 produits…

Quand on sait qu’il y a plusieurs milliers de vins, spiritueux et autres alcools offerts dans les boutiques des deux sociétés, on se dit qu’il serait possible de construire une comparaison avec un échantillon beaucoup plus grand. En fait, il est même possible de comparer les prix de TOUS les produits semblables à la SAQ et à la LCBO.

J’en avais parlé en mars dernier à Naël Shiab, alors journaliste pour Radio-Canada en Ontario. Naël fait beaucoup de journalisme de données et il me semblait que cela aurait fait un bon sujet pour Radio-Canada, en Ontario comme au Québec. Naël a fait son extraction de son côté, puis a finalement développé le sujet pour son nouvel employeur, le journal Métro, qui publie ce matin le premier d’une série de papiers sur le sujet. Son analyse et ses entrevues permettent de comprendre pourquoi la SAQ a des prix un peu plus chers. Il propose aussi un intéressant calculateur d’économies qu’il a programmé lui-même et qui nous dit combien de kilomètres il ne faut pas dépasser afin d’économiser réellement si on fait un voyage en Ontario uniquement pour acheter de l’alcool.

Pour ne pas le scooper, j’ai attendu jusqu’à aujourd’hui pour raconter comment j’ai procédé de mon côté.

Étape 1 – Faire l’inventaire de la SAQ

La première étape de cet exercice comparatif consiste à aller chercher tous les produits vendus par la Société des alcools du Québec.

En cliquant sur la loupe de l’outil de recherche du site, on a immédiatement le nombre total de produits vendus par la SAQ. Au moment où j’ai effectué mon extraction de données, il y en avait 12129.

Pour faciliter cette extraction, j’ai téléchargé la page HTML des résultats de recherche afin de limiter mes appels au serveur web de la SAQ, car autant de résultats représentent environ 50 Mo de données à chaque appel! L’ensemble des résultats tenait en fait dans trois pages HTML, chacune contenant un maximum de 5000 résultats.

J’ai donc écrit un premier script qui parcourt ces trois pages, extrait l’ensemble de l’inventaire de la SAQ et produit un fichier CSV.

Étape 2 – Comparer avec la LCBO

On pourrait maintenant procéder à une extraction semblable sur le site web de la LCBO. Mais un rubyiste ontarien nous a facilité la vie. Il s’appelle Carsten Nielsen et il a mis au point un API pour la LCBO.

Pour l’utiliser, il faut auparavant s’inscrire et obtenir une clé d’accès. L’auteur de l’API rend le processus facile et on peut en quelques clics commencer à utiliser son outil génial!

L’API fonctionne comme un outil de recherche dans l’inventaire de la LCBO. On entre une expression, et il nous retourne un objet JSON comprenant tous les produits pouvant correspondre à notre requête.

Par exemple, si on veut savoir quels sont les produits du Domaine Lafrance disponibles à la LCBO, on lance cette requête:

http://lcboapi.com/products?q=lafrance&access_key=<votre clé d'accès>

Et l’API nous répond en nous indiquant que cinq produits apparentés se trouvent dans l’inventaire de la LCBO en ce moment:

{"status":200,"message":null,"pager":{"records_per_page":20,"total_record_count":5, [...]

Pour chaque produit identifié, l’API nous retourne pas moins de 50 caractéristiques, dont:

Le prix (et autres infos associées, comme les Air Miles!)

"price_in_cents": 1695, "regular_price_in_cents": 1695, "limited_time_offer_savings_in_cents": 0, "limited_time_offer_ends_on": null, "bonus_reward_miles": 0, "bonus_reward_miles_ends_on": null,

Le nombre de bouteilles disponibles (ce qui permettrait de calculer en direct la valeur totale de l’inventaire de la LCBO [mais ça, c’est un autre projet])

"inventory_count": 991, "inventory_volume_in_milliliters": 743250, "inventory_price_in_cents": 1679745,

Le produit est-il cascher?

"is_kosher": false,

Des notes de dégustation

"tasting_note": "Quebec produces exceptional ciders, and this is an outstanding example. Fresh and inviting with notions of tree-ripened apples, orchard blossoms, lemon zest and garden flowers, it's off-dry on the palate with refreshing acidity keeping things tangy and elegant. A brilliant sipper, it'll also delight with lightly spiced pork dishes. (VINTAGES panel, July 2014)",

Etc.

Il s’agit donc d’écrire un deuxième script qui va:

– soumettre chacun des produits de la SAQ à l’API de la LCBO;

– extraire les données pertinentes dans le JSON qui est, le cas échéant, retourné;

– produire un CSV pour chaque correspondance possible.

Voici un exemple de ce que produit le script. Dans la capture d’écran ci-dessous, on voit ce qui s’est passé lorsque le script a traité les 2824e à 2837e produits de la SAQ (sur un total de 12129).

Au 2824e produit (appelé «Shafer Red Shoulder Chardonnay 2011»), l’API de la LCBO ne retourne qu’un seul produit («Shafer Red Shoulder Ranch Chardonnay 2012»), mais ce n’est pas un produit identique puisque le millésime est différent. On l’éliminera dans une étape ultérieure.

Entre les 2825e et 2936e produits, l’API n’a retourné aucun résultat, signifiant que ces produits n’étaient pas disponible à la LCBO au moment de l’extraction (en mars 2015).

Au 2837e produit («Skyy»), par contre, l’API de la LCBO a trouvé cinq produits qui semblent correspondre. Lorsqu’on examine plus attentivement chacun des résultats retournés, on se rend compte que c’est le deuxième qui correspond le mieux, puisque les deux produits ont le même volume (1,14 L). Dans ce cas précis, le produit est vendu plus cher en Ontario (39,75$) qu’au Québec (35,25$). Les amateurs de cette marque économisent donc 11% chaque fois qu’ils achètent leur bouteille à la SAQ plutôt qu’à la LCBO.

Étape 3 – Ménage dans les résultats

Après quelques heures de travail, le second script nous donne 6520 correspondances potentielles entre la SAQ et la LCBO. Mais il y a un gros ménage à faire dans le fichier CSV résultant.

La première étape de ce ménage est facile. Il suffit de voir lesquels de ces 6520 résultats sont pour des produits aux noms et aux volumes identiques. Dans notre tableur, on entre donc la formule suivante:

=SI( A2 = B2 ;SI( L2 = M2 ;"OUI";"");"")

Ici, les colonnes A et B contiennent respectivement les noms de produits de la SAQ et de la LCBO; les colonnes L et M, les volumes en millilitres. Si noms et volumes sont identiques, on écrit « OUI » dans la cellule. Ce premier ménage ne produit que 286 correspondances exactes.

C’est quand même incroyable! Sur les 12129 produits offerts par la SAQ, il n’y en aurait que 286 offerts également à la LCBO? Seulement 2,4%?

Mais comme on l’a vu avec l’exemple plus haut, des produits semblables ne portent pas nécessairement les mêmes noms: c’est simplement «Skyy» pour la SAQ et «Skyy Vodka» pour la LCBO.

Il y a donc tout un travail de vérification manuelle à faire. Il faut passer chacune des 6520 lignes et vérifier si ce que la SAQ appelle «Frontera Cabernet-Sauvignon», par exemple, correspond à ce que la LCBO appelle «Concha Y Toro Frontera Cabernet Sauvignon». Ici, les adresses web des images des produits peuvent nous aider à établir des correspondances en cas de doute:

Une fois réalisée cette opération fastidieuse, difficilement automatisable, on se retrouve avec 755 produits offerts à la fois à la SAQ et à la LCBO.

Voilà une première constatation surprenante. Il n’y que 6,2% des produits offerts par la SAQ qui sont également offerts à la LCBO. Il y en a peut-être plus, mais cela demanderait une vérification plus minutieuse.

Mais on se retrouve tout de même avec un échantillon de 755 produits, ce qui est bien davantage que les comparaisons publiées jusqu’à aujourd’hui.

Épilogue – Pis? La SAQ fourre-t-elle les Québécois?

Tout ce travail nous permet de répondre à la question de départ: le préjugé selon lequel la SAQ fourre les Québécois tient-il la route?

Réponse courte: «Non».

Sur les 755 produits qu’on a trouvés, la majorité est vendue plus cher. C’est vrai. Reste que plus de 40% des produits sont MOINS chers à la SAQ qu’à la LCBO! C’est une proportion non-négligeable.

La moyenne des prix est de:

59,60$ à la SAQ ;

; contre 59,11$ à la LCBO ;

; une différence hénaurme de 49 cents de plus la bouteille (ou 0,8%).

Quand examine les résultats plus attentivement, on a un portrait plus fin.

Dans les vins seulement, la différence de prix est plus importante: 2,01$ de plus, en moyenne, à la SAQ. Les Québécois paient donc 2,9% de plus pour le vin que les Ontariens.

Pour les autres types de produits, cependant (les spiritueux, les bières, etc.), les prix sont inférieurs au Québec! Près de deux dollars de moins la bouteille, en moyenne! Ici, ce sont les Ontariens qui paient davantage: en moyenne 4,6% de plus!

Quand on examine les produits par gamme de prix, on a un portrait encore différent. Les Québécois paient généralement davantage, sauf pour les bouteilles de moins de 10 dollars. Tous les détails dans le graphique interactif ci-dessous.

Conclusion: oui, Éric Duhaime a raison. Les prix sont généralement plus chers à la SAQ. Mais la différence est insignifiante. Voyez le tableau complet des 755 produits ici.

N.B.: notez que les chiffres présentés ici reflètent la situation à la mi-mars 2015, au moment où j’ai procédé à l’extraction des données. Si vous répétiez l’exercice maintenant, vous auriez probablement un portrait différent, car les inventaires des deux sociétés d’État changent continuellement.