Combining Revenue and Spend

CurtisS
CurtisS Member
edited March 2023 in Datasets

I have a dataset with Facebook spend data and a dataset with revenue data. There are two join keys that will join the data... the date and AdID. 

 

I can combine the data for both, but what ends up happening, the AdIDs are duplicated for every instance shared which does happen. Ideally, I'd want to divide the spend based on the amount of AdIDs shared in a single day...

 

Count of AdID per day / Spend = Shared spend by AdID

 

Does anyone have a solution for this? Or a different way to setup the data is fine too. Just trying to get a 1:1 match to spend and revenue based on a shared parameter between the data sets. 

Best Answer

  • ST_-Superman-_
    Answer ✓

    You need to aggregate the data to the same level prior to joining the tables.

     

    You will need your revenue table and your spend table to aggregate their values by date and AdID.

     

    SELECT
    `AdID`
    ,count(`AdID`) -- this will tell you how many times the AdID appears each day
    ,`Date`
    ,sum(`Spend`) as `Total Spend`

    FROM spend_table
    GROUP BY `AdID`,`Date`
    ORDER BY `AdID`,`Date`

     

    SELECT
    `AdID`
    ,count(`AdID`) -- this will tell you how many times the AdID appears each day
    ,`Date`
    ,sum(`Revenue`) as `Total Revenue`

    FROM revenue_table
    GROUP BY `AdID`,`Date`
    ORDER BY `AdID`,`Date`

     

    Now, when you join these two tables, you will have a 1:1 ratio for each combo of AdID and Date

     

     


    “There is a superhero in all of us, we just need the courage to put on the cape.” -Superman

Answers

  • ST_-Superman-_
    Answer ✓

    You need to aggregate the data to the same level prior to joining the tables.

     

    You will need your revenue table and your spend table to aggregate their values by date and AdID.

     

    SELECT
    `AdID`
    ,count(`AdID`) -- this will tell you how many times the AdID appears each day
    ,`Date`
    ,sum(`Spend`) as `Total Spend`

    FROM spend_table
    GROUP BY `AdID`,`Date`
    ORDER BY `AdID`,`Date`

     

    SELECT
    `AdID`
    ,count(`AdID`) -- this will tell you how many times the AdID appears each day
    ,`Date`
    ,sum(`Revenue`) as `Total Revenue`

    FROM revenue_table
    GROUP BY `AdID`,`Date`
    ORDER BY `AdID`,`Date`

     

    Now, when you join these two tables, you will have a 1:1 ratio for each combo of AdID and Date

     

     


    “There is a superhero in all of us, we just need the courage to put on the cape.” -Superman