Wiredcraft / marketing-dashboard

A simple dashboard for our marketing KPIs
0 stars 0 forks source link

Requirements for growth dashboard #1

Open BenderV opened 9 years ago

BenderV commented 9 years ago

This issue is intented for discussion for the requirements for the system being built.

What is it?

A simple fetcher in Python that gets data from Mailchimp, Google Analytics and Twitter to display growth week over week.

Who is it for?

Mostly for Product Manager. It will however be useful to any team members: developpers, marketing and managers.

How will it be used?

The end goal is to have a simple page that show the general growth of the different services.

I propose to have at the end something like this:

  1. download the repository
  2. modify config file to add api-key of the different services.
  3. have a manual command to fetch and crush the data from APIs and store the main numbers on a database.
  4. launch server to have a simple page to have view of the weekly growth of the different service.

    How will it be built?

You are free to use any framework/libraries that you think are the best for the job (keep it simple!), as long as the code is readable and maintenable.

My suggestion would be to start by a python script that get the relevant data. You can then store the result in a lite database (like sqlite3). You can then add a simple webserver (flask for e.g.) to have one page with three graphs, one for each service. If you are done with the above, you might want to create a commun interface to manage the different APIs so that it's easely extensible.

What kind of reports

You can start by having the most simple indicator for each servive:

Then, if you have time, expand to other measures (number of retweets, sum of times spend on the website, ...). Feel free to propose and implement any other ideas to make it better.

Feel free to ask if you have any questions or if you need help!

jdr500 commented 9 years ago

Hello Benjamin,

Thank you for the assignment. I will start working on it immediately and ask you questions if I get stuck with anything.

Best, Sevi Reyes

On Thu, Jul 16, 2015 at 10:10 AM, Benjamin notifications@github.com wrote:

Assigned #1 https://github.com/Wiredcraft/marketing-dashboard/issues/1 to @jdr500 https://github.com/jdr500.

— Reply to this email directly or view it on GitHub https://github.com/Wiredcraft/marketing-dashboard/issues/1#event-357085210 .

BenderV commented 9 years ago

Hi @jdr500!

We know that you must be busy but we wanted to know when you would be able to start? or if you already started, can you push so that we can track your progress and help you along!

Cheers, Ben

BenderV commented 9 years ago

I'm copying the mail that I sent to @jdr500 because it contains some non-trivial informations.

Yes, you should use a get request to store useful fields from the data response in a database.

The difficulty is that some service might not give you directly the information by time. For example Twitter don't give you your number of followers each week/month and doesn't tell you when a follower started to follow you.

For Twitter, what you can do is, create a command that make API call to get all the user information and can store this value on a database (sqlite3 or mongodb) with the date (timestamp). After, you can create a cron task that execute this command regularly (every week). That way, you will have a way to track the growth of the number of follower each week.

For Mailchimp, I think it's possible to have the growth list, so you should maybe start by it. Simply get the value and store it on a database.

Start by exploring that, we will help you along.

Sincerely,

Katierichard commented 9 years ago

@BenderV Twitter does provide the monthly additional followers on their analytics account and shows the total twitter audience day by day on analytics.twitter.com. Not sure if it's important for his task but I just wanted to let you know that data was out there.

BenderV commented 9 years ago

@Katierichard Thanks for the info! Unfortunately, Twitter does not provide a analytics API. There might be some way to work around this problem, but I think it won't be that easy. see: http://stackoverflow.com/questions/18690957/is-there-an-api-that-can-access-twitter-analytics

Katierichard commented 9 years ago

@BenderV Got it. Cheers.