How to query number of different ratings (not reviews!) from App Store - app-store

Is there any API that allows to query the number of ratings from the Apple App Store?
I know that http://itunes.apple.com/rss/customerreviews... can be used to get a list of reviews. But since a rating (selecting stars 1-5) does not require to write a review (additional text added to the rating), the number of reviews is not the same as the number of ratings. An app could have hundreds of ratings without having a single review.
I know that one can use http://itunes.apple.com/lookup?id=SomeID to get the total number of ratings and the average rating of the current version, e.g. "100 ratings with an average of 4 stars".
But I am looking for a solution to get the number of different rating, e.g.
60 x 5 stars
20 x 4 stars
10 x 3 stars
7 x 2 stars
3 x 1 stars
Is there any (more or less) official way of getting these concrete star ratings without reverse engineering the iTunes protocol and without using any paid third party APIs?

Related

Campaign analysis in Tableau

I am doing campaign analysis and the objective of campaigns is to convert lead into customer. I want to see how many leads are exposed to how many campaigns in terms of percentages before they convert to customer.
Below is the sample data where there are four unique lead.
abc has seen three campaigns, efg has seen two campaigns and so on and so forth
I want to show in pie chart may be something like below in tableau where out of 4 leads 2 leads has seen 1 campaign each so 50%, 1 lead has seen 2 campaigns so 25% and 1 lead has seen 3 campaign so another 25%
First of all you have to find how many campaigns have been exposed for each Lead, Count Campaign:
{ FIXED [Lead id] : COUNT([Campaign])}
Since you want to breakdown your pie with this value, you need to convert this calculated field into a dimension.
In order to calculate the % you're looking for, you need just an additional step; Metric:
COUNTD([Lead id]) / attr({ FIXED : COUNTD([Lead id])})
Doing so you're going to compare each value to the total distinct value of your Lead (4)

timeline of product launch based on minimum products sold

I have a dimension "Products" that has several iphone generations, let's say, iphone4, iphone5, iphone6, iphone7, iphone8. I also have a measure "Number sold" that indicates, the number of phones that are sold. I finally have a "Date" dimension. With this information I am able to see a daily trend of phones sold on a given day based on the generation. Pretty straightforward!
I define the launch date of an iphone as the day where there are at least 50 iphones sold on a given day (let's call this iphone release date). The visualization I'd like to have is to show the exact date on the x-axis and a square, or circle (or any other kind of visualization) labelled with the iphone generation that reached at least 50 units sold on that day.
So to be clear, for instance, 30 iphone4 were sold on 3/3, 52 on 3/4, 63 on 3/5, etc (this would be SUM(Number sold)). I only want to see some kind of mark on the chart on 3/4 indicating "iphone4". This would tell me that 3/4 was the launch date for iphone4, under my assumption that a launch date is when I have at least 50 iphone4 sold that day. Similarly, I would be able to see launch dates for other iphone generations.
How do I do that achieve this in Tableau, and how do I do so in an appealing way?

qlik sense capability api 10000 limit

We've reached the limit for hypercubes and need to extract more than 10000 (data points - I used this term for lack of words to describe the individual cell that the API sends over 10000 is the max when you multiply width and height of your initial fetch) using the capability API. has anyone been able to get the next page for hypercubes? note that our requirement is for mashups not extensions.
we did a work around but it required us to break our dataset and it takes a little longer.
makes you think, since Qlik is a data analytics tool there should be a way to get all of your data. in an era where we process millions if not billions of records, 10000 data points (not even records) is miniscule.
I should also volunteer that the app we are using this for is for stock analysis and they want to see trends and require to see information on individual points as tooltips. with the number of dimensions and measures we pass (total of 7 times the number of stocks - about 20 = 140) we are constricted to only 70 days (10000/140).
we are using qliksenseserver 11.24.4
Qlik Sense November 2017 Patch 2

Add rating to value and calculate average in Firebase

I would like to know is it possible to rate one thing from 1-5 and then calculate its average? For example I have product "milk" with "rate":0.
Would it be possible to count how many users have rated it and then do the calculation rate/how many users have given the rating = rating?
To make things clear: I rate milk with 3 and you rate it with 1 then the average is (3+1)/2 = rate: 2
Should I do this calculation user end or it is possible to do it Firebase end?
What logic I should use for this?
The hardest thing is to keep count how many users have rated the product. I think I can do other things.
Should I make new key:value like count and increase the count every time user rates?
Edit: I tried something like this but this leads to nil:
let rate = self.productsValue[indexPath.row]["rate"] as? Int
print("rate",rate)
let count = self.productsValue[indexPath.row]["count"] as? Int
print("count",count)
let rating = Int(rate!) / Int(count!)
print(rating)
To both get the average rating and how many users that gave it a certain rating, I suggest this kind of JSON tree:
Products
Milk:
...
nrOfUsersGivenRating0: 15
nrOfUsersGivenRating1: 54
nrOfUsersGivenRating2: 12
nrOfUsersGivenRating3: 32
nrOfUsersGivenRating4: 21
nrOfUsersGivenRating5: 65
Then you can on the client-side calculate the total number of users that voted, the average rating and easily get how many users that voted for a certain rating. Hope it helps!

Inter annotator agreement when users annotates more than one category for any subject

I want to find the inter annotator agreement for few annotators.
Annotators annotates few categories (out of 10 categories) for each subjects.
For e.g. there are 3 annotator , 10 categories and 100 subjects .
I am aware about http://en.wikipedia.org/wiki/Cohen's_kappa (For two annotators) and http://en.wikipedia.org/wiki/Fleiss%27_kappa (for more than two annotators) inter annotator agreement but I realized that they may not work if user annotates more than one category for any subject.
Do anyone has any idea for determining inter annotation agreement in this scenario.
Thanks
i had to do this several years back. i cant recall how exactly i did it(i dont have code anymore) but i have a worked example to report to my professor. i was dealing with annotation of comments and have 56 categories and 4 annotators.
note:at the time i need a way to detect where annotators most disagree so that after each annotation session they can focus on why they disagree and set out reasonable rules to maximize this statistic. it worked well for that purpose
Let's assume A-D are annotators and 1-5 are categories. This is a possible scenario.
A B C D Probability of agreement
1 X X X X 4/4
2 X X X 3/4
3 X X 2/4
4 X 1/4
5
A tags this comment as 1,2,3,4 B->1,2,3, and so forth.
For each category the probability of agreement is calculated.
Which is then divided by the number of unique categories tagged for that particular comment.
Therefore for the example comment, we have 10/16 as annotator's agreement. This is a value between 0 and 1.
if this doesnt work for you then (http://www.mitpressjournals.org/doi/pdf/10.1162/coli.07-034-R2) pg-567, which was referenced by pg-587 case study.
Compute agreement on a per-label basis. If you treat one of the annotators as the gold standard, you can then compute recall and precision on label assignments. Another option is label overlap, which would be the proportion of subjects where either annotator assigned a category where the both assigned it (intersection over union).