15 Replies Latest reply: Apr 20, 2018 8:55 AM by Aurélien Martinez RSS

    Comparaison Campagne Maketing N / N-1

    LOIC MASSON

      Bonjour,

       

      Je dois réaliser un tableau me permettant de comparer l'efficacité des campagnes marketing par rapport au Chiffre d'affaire généré

      La comparaison doit prendre en compte les périodes durant lesquelles, les campagnes se sont déroulées :


      Magasin: CA N-1; CA N; Evolution par rapport les periodes ci dessous

       

      Exemple de 2 campagnes avec leurs périodes respectives:

      - NOEL2018 : du 05/12/2018 au 31/12/2018

      - NOEL2017:  du 01/12/2018 au 27/12/2018

       

      Dans mon script, j'ai

      - un fichier QVD pour mes ventes: NumFac;Client;Article;Qté;Punet;CA;Date_Facturation

      - un fichier Excel avec le code de la campagne, le cout, le nombre de catalogue envoyé, la date de début, la date de fin de la campagne

      - un calendrier qui a été généré  selon le modèle ci dessous (voir en bas de page):

       

      Ma question est donc la suivante: Quand je sélectionne 2 campagnes, j'aimerai pouvoir visualiser le CA facturé généré durant ces deux campagnes? En l'occurence, le CA généré entre le 01/12/2017 et 27/12/2017 et entre le du 05/12/2018 et 31/12/2018

       

      Merci de votre aide car je sèche... ;-)

       

      Loic M.

       

       

      --------------------------------------------------------------------------------

      //CALENDRIER
      PERIODE_FISCALE:
      LOAD * INLINE [
          MIN, MAX, PERIODE
      01/03/2016, 28/02/2017, 2017
      01/03/2017, 28/02/2018, 2018
      01/03/2018, 28/02/2019, 2019];

      CALENDRIER:
      LOAD 
        
      Date($(vDateMin)+RecNo()) as Date_Facturation,
        
      month($(vDateMin)+RecNo()) as [Mois_fiscal],
        
      num(Month($(vDateMin)+RecNo()))-3 as FiscalMonthNum,
        
      Day($(vDateMin)+RecNo()) as [Jour],
         'T'&
      ceil(month($(vDateMin)+RecNo())/3) as [Trimestre],
        
      WeekDay($(vDateMin)+RecNo()) as [Jour semaine]
        
      AUTOGENERATE($(vNbJours));

      LEFT Join
      IntervalMatch(Date_Facturation)
      LOAD
      MIN,
      MAX
      Resident PERIODE_FISCALE;
      JOIN
      LOAD *
      Resident PERIODE_FISCALE;
      DROP TABLE PERIODE_FISCALE;

        • Re: Comparaison Campagne Maketing N / N-1
          Aurélien Martinez

          Bonjour,

           

           

          --------------------------------------------------------------------------------

          //CALENDRIER
          PERIODE_FISCALE:
          LOAD * INLINE [
              MIN, MAX, PERIODE
          01/03/2016, 28/02/2017, 2017
          01/03/2017, 28/02/2018, 2018
          01/03/2018, 28/02/2019, 2019];

          CALENDRIER:
          LOAD 
           
          Date($(vDateMin)+RecNo()) as Date_Facturation,
           
          month($(vDateMin)+RecNo()) as [Mois_fiscal],
           
          num(Month($(vDateMin)+RecNo()))-3 as FiscalMonthNum,
           
          Day($(vDateMin)+RecNo()) as [Jour],
            'T'&
          ceil(month($(vDateMin)+RecNo())/3) as [Trimestre],
           
          WeekDay($(vDateMin)+RecNo()) as [Jour semaine]
           
          AUTOGENERATE($(vNbJours));

          LEFT Join (PERIODE_FISCALE)
          IntervalMatch(Date_Facturation)
          LOAD
          MIN,
          MAX
          Resident PERIODE_FISCALE;
          JOIN(CALENDRIER)
          LOAD *
          Resident PERIODE_FISCALE;
          DROP TABLE PERIODE_FISCALE;



          Aurélien

            • Re: Comparaison Campagne Maketing N / N-1
              LOIC MASSON

              Bonjour Aurélien,

               

              Merci pour la réponse mais ce n'est pas exactement ce que je veux.

               

              En fait je voudrais associer une campagne (avec une date de début et de fin) à une période de mon calendrier pour en réalité comparer cette campagne (cout, nombre de catalogue envoyé, nombre de personnes ciblées, etc) au chiffre d'affaires dégagé durant la période de cette campagne...

               

              Est ce que tu as une idée?

               

              MErci d'avance.

                • Re: Comparaison Campagne Maketing N / N-1
                  Aurélien Martinez

                  Bonjour,

                   

                  En faisant la même chose que pour le calendrier fiscale :

                   

                  CAMPAGNE:

                  Load * Inline [

                  Campagne, debut_campagne, fin_campagne

                  NOEL2018, 05/12/2018, 31/12/2018

                  NOEL2017, 01/12/2018, 27/12/2018

                  ];

                   

                   

                  LEFT Join (CAMPAGNE)
                  IntervalMatch(Date_Facturation)
                  LOAD
                  debut_campagne,
                  fin_campagne
                  Resident CAMPAGNE

                  ;

                    • Re: Comparaison Campagne Maketing N / N-1
                      LOIC MASSON

                      Merci bcp, je vais essayer de suite du coup.

                      • Re: Comparaison Campagne Maketing N / N-1
                        LOIC MASSON

                        Aurélie,

                         

                        C'est mieux mais j'ai une clé synthétique sur K_CAMPAGNE et Date:

                         

                        voici mon script plus détaillé

                         


                        //CALENDRIER DES VENTES

                        PERIODE_FISCALE:

                        LOAD * INLINE [

                            MIN, MAX, PERIODE

                        01/03/2016, 28/02/2017, 2017

                        01/03/2017, 28/02/2018, 2018

                        01/03/2018, 28/02/2019, 2019];


                        CALENDRIER:

                        LOAD 

                           Date($(vDateMin)+RecNo()) as Date,

                           month($(vDateMin)+RecNo()) as [Mois_fiscal],

                           num(Month($(vDateMin)+RecNo()))-3 as FiscalMonthNum,

                           Day($(vDateMin)+RecNo()) as [Jour],

                           'T'&ceil(month($(vDateMin)+RecNo())/3) as [Trimestre],

                           WeekDay($(vDateMin)+RecNo()) as [Jour semaine]

                           AUTOGENERATE($(vNbJours));


                        LEFT Join

                        IntervalMatch(Date)

                        LOAD

                        MIN,

                        MAX

                        Resident PERIODE_FISCALE;

                        JOIN

                        LOAD *

                        Resident PERIODE_FISCALE;

                        DROP TABLE PERIODE_FISCALE;

                        CALENDRIER_CAMPAGNE:

                        LOAD K_CAMPAGNE,

                             Date_Début_Campagne,

                             Date_Fin_Campagne

                        FROM

                        [D:\transfertvms\Marketing\CAMPAGNES_DESCRIPTIFS.xlsx]

                        (ooxml, embedded labels, table is Feuil1);



                        LEFT Join (CAMPAGNE)

                        IntervalMatch(Date)

                        LOAD

                        Date_Début_Campagne,

                        Date_Fin_Campagne

                        Resident CAMPAGNE;

                         

                        ////DETAILS DES VENTES + DETAILS DES CAMPAGNES

                         

                        LOAD K_Depot,

                             Cat_Dépot,

                             K_Sous_Famille,

                             K_Client,

                             K_Article,

                             Date,

                             Nom_Client,

                             AD1,

                             AD2,

                             AD3,

                             Ville,

                             CP,

                             Abrege_Article,

                             Quantite,

                             PUNET,

                             CANET,

                             Prix_achat,

                             Numfac,

                             PV.HT,

                             Frn,

                             [Nom Fournisseur],

                             Type_Document,

                             Num_Cde, 

                             Lib_Article,

                             K_Fournisseur,

                             Nom_Fournisseur,

                             Exlusion_Stat,

                             Lib_Famille,

                             Lib_Sous_Famille,

                             Lib_CSP,

                             Date_Création_Client,

                             K_Campagne,

                             Prix_Campagne,

                             TYPE_FAITS,

                             K_CAMPAGNE,

                             Nb_Exemplaire,

                             Cout_Campagne,

                             Lib_Dépot

                            

                        FROM

                        [D:\QlikView\BDD\CAMPAGNES_VENTE.QVD]

                        (qvd);


                        EXIT SCRIPT;


                        Si tu as une idée... ;-) Merci!

                          • Re: Comparaison Campagne Maketing N / N-1
                            LOIC MASSON

                            Aurélien pardon!!! (faute de frappe)

                             

                            Autre chose,

                            Dans le calendrier_campagne, j'ai corrigé l'erreur

                            CALENDRIER_CAMPAGNE:

                            LOAD K_CAMPAGNE,

                                 Date_Début_Campagne,

                                 Date_Fin_Campagne

                            FROM

                            [D:\transfertvms\Marketing\CAMPAGNES_DESCRIPTIFS.xlsx]

                            (ooxml, embedded labels, table is Feuil1);



                            LEFT Join (CALENDRIER_CAMPAGNE)

                            IntervalMatch(Date)

                            LOAD

                            Date_Début_Campagne,

                            Date_Fin_Campagne

                            Resident CALENDRIER_CAMPAGNE;

                            • Re: Comparaison Campagne Maketing N / N-1
                              Aurélien Martinez

                              Loïc,

                               

                              Il faut peut-être retirer K_CAMPAGNE (ou le renommer) dans la table des ventes.

                                • Re: Comparaison Campagne Maketing N / N-1
                                  LOIC MASSON

                                  Salut Aurélien,

                                   

                                  J'y ai pensé mais si je fais çà, je ne peux plus faire le lien avec mes campagnes et donc comparé mon CA sur la période de la campagne sélectionnée...

                                   

                                  Je suis donc bloqué!;-)

                                    • Re: Comparaison Campagne Maketing N / N-1
                                      Aurélien Martinez

                                      Salut Loïc,

                                       

                                      Le lien (entre vente et calendrier des campagne) sur le date ne suffit pas ?

                                       

                                      Par associativité si l'on sélectionne une campagne cela va automatiquement filtrer les ventes par rapport aux dates de la campagne.

                                        • Re: Comparaison Campagne Maketing N / N-1
                                          LOIC MASSON

                                          En fait non puisque Date_Début_Campagne et Date_Fin_Campagne apparaissent uniquement dans le calendrier Campagne, si je les rajouter dans mon script suivant, j'ai à nouveau une clé synthétique entre Date, Date_Début_Campagne et Date_Fin_Campagne....


                                          Si je ne rajoute pas les deux dates, je n'ai aucune associativité...

                                            • Re: Comparaison Campagne Maketing N / N-1
                                              Aurélien Martinez

                                              L'idée est d'avoir un modèle comme ceci :commu.PNG

                                                • Re: Comparaison Campagne Maketing N / N-1
                                                  LOIC MASSON

                                                  Aurélien,

                                                   

                                                  J'ai essayé, en fait j'ai plusieurs tables au départ:

                                                  - Les ventes

                                                  - Le descriptifs des campagnes (avec le champ K_Campagne)

                                                  - Le nombre de catalogues envoyés répart par code postal (avec le champ K_Campagne)

                                                  - La liste des clients destinataire des catalogues (avec le champ K_Campagne)

                                                  - La liste des Articles concernés par la promotion su cette campagnes


                                                  --> J'ai concaténé toutes les tables avec un

                                                  - TYPE_FAIT=VENTE pour les vente

                                                  - TYPE_FAIT=DESCRIPTIF_CAMPAGNE

                                                  - TYPE_FAIT=REPARTITION_CATALOGUE_CAMPAGNE

                                                  - TYPE_FAIT=ARTICLE_CAMPAGNE


                                                  --> Je réalise un store into CAMPAGNES_VENTES.QVD(QVD)

                                                  J'obtiens donc une seule table avec toutes mes informations.


                                                  Mais si je fais comme tu me le préconises, je peux effectivement filtrer par K_Campagne, j'ai donc mon CA sur la période de ma campagne mais je n'ai plus le détail par Campagne à savoir: le cout, le nombre de catalogue envoyé par Code postal, les articles concernés et les analyses croisées que je souhaiterai faire

                                                   

                                                  Je ne sais pas si je suis plus clair...

                                                    • Re: Comparaison Campagne Maketing N / N-1
                                                      Aurélien Martinez

                                                      Loïc,

                                                       

                                                      Peut-être en ajoutant un champ : date_k_campagne dans la table de fait

                                                      Mettre une table de lien entre le calendrier et les faits.

                                                       

                                                      commu.PNG

                                                       

                                                      Niveau script ça peut donner ça :

                                                       

                                                      //lien avec les campagnes

                                                      CALENDRIER_CAMPAGNE:

                                                      LOAD K_CAMPAGNE,

                                                           Date_Début_Campagne,

                                                           Date_Fin_Campagne

                                                      FROM

                                                      [D:\transfertvms\Marketing\CAMPAGNES_DESCRIPTIFS.xlsx]

                                                      (ooxml, embedded labels, table is Feuil1);



                                                      LEFT Join (CALENDRIER_CAMPAGNE)

                                                      IntervalMatch(Date)

                                                      LOAD

                                                      Date_Début_Campagne,

                                                      Date_Fin_Campagne

                                                      Resident CALENDRIER_CAMPAGNE;


                                                      Lien:

                                                      Load

                                                      *,

                                                      Date & '|' & K_CAMPAGNE as _key_Date_Capagne

                                                      resident CALENDRIER_CAMPAGNE

                                                      ;


                                                      drop table CALENDRIER_CAMPAGNE;


                                                      concatenate(Lien)

                                                      Load distinct

                                                      _key_Date_Capagne,

                                                        Date,

                                                        K_CAMPAGNE

                                                      resident CAMPAGNES_VENTE

                                                      ;


                                                      drop fields K_CAMPAGNE, Date from CAMPAGNES_VENTE;

                                                        • Re: Comparaison Campagne Maketing N / N-1
                                                          LOIC MASSON

                                                          Salut Aurélien,

                                                           

                                                          J'ai essayé et je pense que c'est une bonne idée mais j'ai encore une erreur:

                                                          Table introuvable

                                                          concatenate(LIEN)

                                                          Load distinct

                                                          _key_Date_Capagne,

                                                            Date,

                                                            K_Campagne

                                                          resident CAMPAGNES_VENTE

                                                           

                                                          Voici mon script:

                                                           

                                                          //CALENDRIER ES VENTES
                                                          PERIODE_FISCALE:
                                                          LOAD * INLINE [
                                                              MIN, MAX, PERIODE
                                                             
                                                              01/03/2011, 28/02/2012, 2012
                                                              01/03/2012, 28/02/2013, 2013
                                                              01/03/2013, 28/02/2014, 2014
                                                              01/03/2014, 28/02/2015, 2015
                                                              01/03/2015, 29/02/2016, 2016
                                                          01/03/2016, 28/02/2017, 2017
                                                          01/03/2017, 28/02/2018, 2018
                                                          01/03/2018, 28/02/2019, 2019]
                                                          ;

                                                          CALENDRIER:
                                                          LOAD 
                                                            
                                                          Date($(vDateMin)+RecNo()) as Date,
                                                            
                                                          //Year($(vDateMin)+RecNo()) as [Fiscal Year],
                                                             month($(vDateMin)+RecNo()) as [Mois_fiscal],
                                                            
                                                          //   Date($(vDateMin)+RecNo()) as Date_Création_Client,
                                                            // month(Date($(vDateMin)+RecNo())) as Mois_Création_Client
                                                            num(Month($(vDateMin)+RecNo()))-3 as FiscalMonthNum,
                                                            
                                                          Day($(vDateMin)+RecNo()) as [Jour],
                                                             'T'&
                                                          ceil(month($(vDateMin)+RecNo())/3) as [Trimestre],
                                                             WeekDay($(vDateMin)+RecNo()) as [Jour semaine]
                                                            
                                                          AUTOGENERATE($(vNbJours));
                                                          join

                                                          LOAD Date,
                                                              
                                                          Cumul_mois,
                                                              
                                                          Cumul_annuel
                                                          FROM
                                                          $(vCheminBdd)jours_ouvrés.xlsx
                                                          (
                                                          ooxml, embedded labels, table is Feuil1);

                                                           


                                                          //lien avec les campagnes

                                                          CALENDRIER_CAMPAGNE:
                                                          LOAD K_Campagne,
                                                               Date_Début_Campagne,
                                                               Date_Fin_Campagne
                                                          FROM

                                                          [D:\transfertvms\Marketing\CAMPAGNES_DESCRIPTIFS.xlsx]
                                                          (ooxml, embedded labels, table is Feuil1);

                                                          LEFT Join (CALENDRIER_CAMPAGNE)

                                                          IntervalMatch(Date)
                                                          LOAD
                                                          Date_Début_Campagne,
                                                          Date_Fin_Campagne
                                                          Resident CALENDRIER_CAMPAGNE;

                                                          LIEN:
                                                          Load
                                                          *,
                                                          Date & '|' & K_Campagne as _key_Date_Capagne
                                                          resident CALENDRIER_CAMPAGNE;
                                                          drop table CALENDRIER_CAMPAGNE;

                                                          concatenate(LIEN)

                                                          Load distinct
                                                          _key_Date_Capagne,
                                                            Date,
                                                            K_Campagne
                                                          resident CAMPAGNES_VENTE;
                                                          drop fields K_Campagne, Date from CAMPAGNES_VENTE;
                                                          */
                                                          //exit script;

                                                           

                                                          Ensuite j'ai mon QVD avec les fAITS


                                                          Si tu as une idée, je suis preneur...;-)