Browse Source

botc

master
arnaucode 6 years ago
parent
commit
6cb70034bf
9 changed files with 119 additions and 1 deletions
  1. +12
    -0
      README.md
  2. +77
    -0
      botc-membersAnalytics.py
  3. BIN
      chartsResults/botc-members01.png
  4. BIN
      chartsResults/botc-members02.png
  5. BIN
      chartsResults/botc-members03.png
  6. BIN
      chartsResults/botc-members04.png
  7. BIN
      chartsResults/fairmarket-products04.png
  8. +25
    -1
      fairmarket-productsAnalytics.py
  9. +5
    -0
      fairmarket-shopsAnalytics.py

+ 12
- 0
README.md

@ -18,3 +18,15 @@ Products
![faircoopDataAnalytics](https://raw.githubusercontent.com/arnaucode/faircoopDataAnalytics/master/chartsResults/fairmarket-products02.png "faircoopDataAnalytics")
![faircoopDataAnalytics](https://raw.githubusercontent.com/arnaucode/faircoopDataAnalytics/master/chartsResults/fairmarket-products03.png "faircoopDataAnalytics")
#### BotC
Members
![faircoopDataAnalytics](https://raw.githubusercontent.com/arnaucode/faircoopDataAnalytics/master/chartsResults/botc-members01.png "faircoopDataAnalytics")
![faircoopDataAnalytics](https://raw.githubusercontent.com/arnaucode/faircoopDataAnalytics/master/chartsResults/botc-members02.png "faircoopDataAnalytics")
![faircoopDataAnalytics](https://raw.githubusercontent.com/arnaucode/faircoopDataAnalytics/master/chartsResults/botc-members03.png "faircoopDataAnalytics")
![faircoopDataAnalytics](https://raw.githubusercontent.com/arnaucode/faircoopDataAnalytics/master/chartsResults/botc-members04.png "faircoopDataAnalytics")

+ 77
- 0
botc-membersAnalytics.py

@ -0,0 +1,77 @@
# coding=utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime, date, timedelta
members = pd.read_csv('datasets/BotC.csv')
print members.head(1)
#generate the full set of days from the first date to the last in the dataset
months = []
days = []
dInit = date(2017, 6, 8)
dEnd = date(2017, 1, 9)
delta = dEnd - dInit
for i in range(delta.days+1):
day = dInit + timedelta(days=i)
dayString = day.strftime("%d/%m/%y")
dayDatetime = datetime.strptime(dayString, '%d/%m/%y')
days.append(dayDatetime)
#add the dates of shops creation to the days array
for memberDate in members['Date']:
if isinstance(memberDate, basestring):
memberDay = memberDate
memberDayDatetime = datetime.strptime(memberDay, '%B %d, %Y')
days.append(memberDayDatetime)
#count days frequency in days array
unique, counts = np.unique(days, return_counts=True)
countDays = dict(zip(unique, counts))
realCounts = []
for count in counts:
realCounts.append(count-1)
#count the total acumulation of shops created in each days
totalCount = 0
globalCount = []
for k in realCounts:
totalCount = totalCount + k
globalCount.append(totalCount)
dates = countDays.values()
counts = countDays.values()
#plot the data
plt.title("New members registered each day")
plt.plot(unique, realCounts)
plt.show()
plt.title("Total members each day")
plt.plot(unique, globalCount)
plt.show()
plt.title("New members and total members each day")
plt.plot(unique, realCounts, label="new members registered each day")
plt.plot(unique, globalCount, label="total members each day")
plt.legend(loc='upper left')
plt.show()
# place of the account
places = []
for place in members["Place"]:
if isinstance(place, basestring):
places.append(place)
placesNames, placesCount = np.unique(places, return_counts=True)
plt.title("Membership places")
plt.pie(placesCount, labels=placesNames, autopct='%1.1f%%', shadow=True, startangle=90)
plt.axis('equal')
plt.show()

BIN
chartsResults/botc-members01.png

Before After
Width: 1366  |  Height: 683  |  Size: 46 KiB

BIN
chartsResults/botc-members02.png

Before After
Width: 1366  |  Height: 683  |  Size: 28 KiB

BIN
chartsResults/botc-members03.png

Before After
Width: 1366  |  Height: 683  |  Size: 45 KiB

BIN
chartsResults/botc-members04.png

Before After
Width: 1366  |  Height: 683  |  Size: 256 KiB

BIN
chartsResults/fairmarket-products04.png

Before After
Width: 1366  |  Height: 683  |  Size: 167 KiB

fairmarketAnalysis-productsEvolution.py → fairmarket-productsAnalytics.py

@ -1,11 +1,20 @@
# coding=utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import mpld3
from mpld3 import plugins, utils
from datetime import datetime, date, timedelta
products = pd.read_csv('datasets/fairMarket-products.csv')
print products.tail(1)
#print products.tail(1)
#generate the full set of days from the first date to the last in the dataset
months = []
@ -57,3 +66,18 @@ plt.plot(unique, realCounts, label="new products offered each day")
plt.plot(unique, globalCount, label="total products in FairMarket each day")
plt.legend(loc='upper left')
plt.show()
# now, product categories analytics
categories = []
for category in products["Categoría pública/Display Name"]:
if isinstance(category, basestring):
categories.append(category)
categoriesNames, categoriesCount = np.unique(categories, return_counts=True)
plt.title("Products categories")
plt.pie(categoriesCount, labels=categoriesNames, autopct='%1.1f%%', shadow=True, startangle=90)
plt.axis('equal')
mpld3.show()

fairmarketAnalysis-shopsEvolution.py → fairmarket-shopsAnalytics.py

@ -1,3 +1,8 @@
# coding=utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

Loading…
Cancel
Save