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-products02.png "faircoopDataAnalytics")
![faircoopDataAnalytics](https://raw.githubusercontent.com/arnaucode/faircoopDataAnalytics/master/chartsResults/fairmarket-products03.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 numpy as np
import pandas as pd import pandas as pd
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import mpld3
from mpld3 import plugins, utils
from datetime import datetime, date, timedelta from datetime import datetime, date, timedelta
products = pd.read_csv('datasets/fairMarket-products.csv') 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 #generate the full set of days from the first date to the last in the dataset
months = [] 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.plot(unique, globalCount, label="total products in FairMarket each day")
plt.legend(loc='upper left') plt.legend(loc='upper left')
plt.show() 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 numpy as np
import pandas as pd import pandas as pd
import matplotlib.pyplot as plt import matplotlib.pyplot as plt

Loading…
Cancel
Save