[aerogear-dev] [UPS] Advanced Analytics

Sebastien Blanc scm.blanc at gmail.com
Wed Apr 8 12:39:50 EDT 2015


On Wed, Apr 8, 2015 at 6:27 PM, Andres Galante <agalante at redhat.com> wrote:

> How about
>
> "Push notifications" = for the # of notifications sent
>
No that is still confusing , something like (still bad wording and too
long) : number of devices that received the push notifcation

> "Open notifications" = for the ones that where open.
>
That one is okay

>
> Do we always have the same amount of notifications sent than devices
> registered? in that case Matthias is right and its useless to have both.
>
no, you can 1000 devices registered for a variant but send only to 15 due
to some criteria. But that is a bit out of scope for the analytic around a
Push Notification, for the graph numbers let's forget the number of
registered devices and only show the number of devices that received the
push.
(so we can compare just with the number of times the app was opened)

>
>
>
>
> On Wed, Apr 8, 2015 at 1:16 PM, Sebastien Blanc <scm.blanc at gmail.com>
> wrote:
>
>> I think that the wording confuses you Matthias and I agree it should be
>> different :
>>
>> [image: Displaying IMG_1727.PNG]
>>
>> Instead of "Delivered Messages" and "Open Message" we should have
>> something else, but I have no idea right now tbh :)
>>
>> On Wed, Apr 8, 2015 at 6:07 PM, Sébastien Blanc <scm.blanc at gmail.com>
>> wrote:
>>
>>>
>>>
>>> Envoyé de mon iPhone
>>>
>>> Le 8 avr. 2015 à 17:51, Matthias Wessendorf <matzew at apache.org> a
>>> écrit :
>>>
>>> Again, I doubt that there will be 3k of messages per app, a day.
>>> That would mean your "ESPN Sports News" app would send you 3k messages -
>>> joy, he?
>>>
>>> No, on the graph here you can see that "message1" has been sent to 2400
>>> devices and has been opened by 1250 users , it's pretty realistic , and for
>>> the whole week 6 messages has been sent
>>>
>>>
>>> I wonder how the charts would look on more realistic data:
>>> 500.000 devices
>>> 1 push message a day (delivered to all 500k)
>>> opened by 250k, same day
>>>
>>>
>>> Now if I sent two messages: Breaking news A, Breaking news B
>>> How would I see how many directly opened "Breaking news A" (or the other
>>> one)?
>>>
>>>
>>>
>>> On Wed, Apr 8, 2015 at 5:44 PM, Andres Galante <agalante at redhat.com>
>>> wrote:
>>>
>>>> Good idea! take a look:
>>>>
>>>> https://rawgit.com/andresgalante/UPS/master/app-detail-analytics.html
>>>>
>>>>
>>>>
>>>> On Wed, Apr 8, 2015 at 12:24 PM, Sébastien Blanc <scm.blanc at gmail.com>
>>>> wrote:
>>>>
>>>>> I wonder if a bar chart (even maybe stacked bar) would not be more
>>>>> clear to show this data ?
>>>>> Wdyt ?
>>>>>
>>>>> Envoyé de mon iPhone
>>>>>
>>>>> Le 8 avr. 2015 à 15:44, Andres Galante <agalante at redhat.com> a écrit :
>>>>>
>>>>> Yes, you are right, it should be something like:
>>>>>
>>>>> 5 message sent
>>>>> 3k delivered
>>>>> 2k open
>>>>> 4k devices.
>>>>>
>>>>> Just change the example. Also the x-axis should be dates.
>>>>>
>>>>> Thanks!
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Apr 8, 2015 at 10:32 AM, Matthias Wessendorf <
>>>>> matzew at apache.org> wrote:
>>>>>
>>>>>> One thing: I think the numbers on the chart are confusing, and
>>>>>> incorrect.
>>>>>> It's usually not a ton of messages that are sent. that's more like 5
>>>>>> or 10 per day (speaking of vanilla marketing pushes). If more, I'd
>>>>>> UNINSTALL the damn app.
>>>>>> Therefore the "app opened due to receiving push" numbers are also not
>>>>>> 100% correct here.
>>>>>>
>>>>>> On Wed, Apr 8, 2015 at 2:59 PM, Matthias Wessendorf <
>>>>>> matzew at apache.org> wrote:
>>>>>>
>>>>>>> :-) I like that too.
>>>>>>>
>>>>>>> But Andres, again, awesome UX !
>>>>>>>
>>>>>>> On Wed, Apr 8, 2015 at 2:46 PM, Sebastien Blanc <scm.blanc at gmail.com
>>>>>>> > wrote:
>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Apr 8, 2015 at 2:37 PM, Lukáš Fryč <lukas.fryc at gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Looks good so far, Andres,
>>>>>>>>>
>>>>>>>>> you are right, we want to show time-aggregated data, not
>>>>>>>>> particular events.
>>>>>>>>>
>>>>>>>>> Idea:
>>>>>>>>> My perspective might be very technical rather then marketing, but
>>>>>>>>> a pie chart with Push Network split would be interesting to me.
>>>>>>>>>
>>>>>>>> +1 (or Donut :) )
>>>>>>>>
>>>>>>>>>
>>>>>>>>> st 8. 4. 2015 v 14:12 odesílatel Andres Galante <
>>>>>>>>> agalante at redhat.com> napsal:
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> With the new data we have I've compared sent vs open messages on
>>>>>>>>>> a chart for each App:
>>>>>>>>>>
>>>>>>>>>> https://rawgit.com/andresgalante/UPS/master/app-detail-analytics.html
>>>>>>>>>> (the x axis should be dates)
>>>>>>>>>>
>>>>>>>>>> I am wondering if we can generate a ratio that's useful for a
>>>>>>>>>> marketing person and show a benchmark comparing with other UPS users to
>>>>>>>>>> know if the users campaign is successful or not. Something like: open/sent
>>>>>>>>>> or device/open
>>>>>>>>>>
>>>>>>>>>> I believe that to show the first and last time a message was open
>>>>>>>>>> is not very useful. Maybe I am wrong, but, If we want to show an over time
>>>>>>>>>> chart for each notification we should collect periodical data, for example
>>>>>>>>>> # of open messages per hour to generate a linear graph that represents a
>>>>>>>>>> day.
>>>>>>>>>>
>>>>>>>>>> What do you think?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Mon, Mar 30, 2015 at 5:00 PM, Sébastien Blanc <
>>>>>>>>>> scm.blanc at gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Envoyé de mon iPhone
>>>>>>>>>>>
>>>>>>>>>>> Le 30 mars 2015 à 21:31, Daniel Passos <dpassos at redhat.com> a
>>>>>>>>>>> écrit :
>>>>>>>>>>>
>>>>>>>>>>> On Mon, Mar 30, 2015 at 12:29 PM, Sebastien Blanc <
>>>>>>>>>>> scm.blanc at gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Folks !
>>>>>>>>>>>>
>>>>>>>>>>>> For AGPUSH-969[1] and to kick off the discussions,  I started a
>>>>>>>>>>>> small POC mainly focused on the backend. To sum up quickly : we want to
>>>>>>>>>>>> know how many installations/users has  opened the application after that a
>>>>>>>>>>>> Push Notification has been touched.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Let me see if I understood. UPS will send a message to the
>>>>>>>>>>> client and when the message be *read* (instead of delivered), the client
>>>>>>>>>>> will send a message back to the UPS saying: "The message was read"?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Yes , but let me be more specific here : us when the app is in
>>>>>>>>>>> the background or not running and that the user "tap" the notification
>>>>>>>>>>>
>>>>>>>>>>> So, the very first thing that had to be done was to give the
>>>>>>>>>>>> Push Notification a unique identifier, so that we can track it and do the
>>>>>>>>>>>> metrics on it.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> +1. Not only us (UPS) but also the backend app
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> For that, I have been using an existing model object that we
>>>>>>>>>>>> have , the PushMessageInformation[2], and that is currently used to provide
>>>>>>>>>>>> information for our dashboard.
>>>>>>>>>>>> This object has now some extra fields, like a appOpenCounter
>>>>>>>>>>>> etc ...
>>>>>>>>>>>>
>>>>>>>>>>>> The ID of this PushMessageInformation is now passed into the
>>>>>>>>>>>> payload of the Push Message, just before we send it,  this way the client
>>>>>>>>>>>> library can use this ID to pass extra information to the UPS when a
>>>>>>>>>>>> notification is touched.
>>>>>>>>>>>> For this POC, I hijacked the cordova-helloworld, so that it
>>>>>>>>>>>> extracts the ID from the payload and pass it as header when registering.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> The message back (from client to UPS) will be send every time
>>>>>>>>>>> the user _read_ that?
>>>>>>>>>>>
>>>>>>>>>>> Well normally that will only happen once per installation per
>>>>>>>>>>> Push message
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>> When the UPS receive the request, it looks for the header and
>>>>>>>>>>>> if it exist it updates the existing PushMessageInformation instance.
>>>>>>>>>>>>
>>>>>>>>>>>> Please note, that for this POC, all is happening on Application
>>>>>>>>>>>> level and not on Variant level but that can be easily changed. It depends
>>>>>>>>>>>> on how fined grained we want to have these analytics.
>>>>>>>>>>>>
>>>>>>>>>>>> I did a small screencast that shows this in action :
>>>>>>>>>>>> https://www.youtube.com/watch?v=PseBBJZLz6s&feature=youtu.be
>>>>>>>>>>>>
>>>>>>>>>>>> The UPS branch containing the changes is here (the 2 latests
>>>>>>>>>>>> commits are relevant) :
>>>>>>>>>>>> https://github.com/sebastienblanc/aerogear-unified-push-server/tree/analytics
>>>>>>>>>>>>
>>>>>>>>>>>> The client app is not really relevant since I really hacked
>>>>>>>>>>>> badly the app (and the push plugin) ;) , however if interested I may share
>>>>>>>>>>>> it.
>>>>>>>>>>>>
>>>>>>>>>>>> Now, let's discuss :)
>>>>>>>>>>>>
>>>>>>>>>>>> Sebi
>>>>>>>>>>>>
>>>>>>>>>>>> [1] https://issues.jboss.org/browse/AGPUSH-969
>>>>>>>>>>>> [2]
>>>>>>>>>>>> https://github.com/aerogear/aerogear-unifiedpush-server/blob/master/model/api/src/main/java/org/jboss/aerogear/unifiedpush/api/PushMessageInformation.java
>>>>>>>>>>>>
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> aerogear-dev mailing list
>>>>>>>>>>>> aerogear-dev at lists.jboss.org
>>>>>>>>>>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> -- Passos
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> aerogear-dev mailing list
>>>>>>>>>>> aerogear-dev at lists.jboss.org
>>>>>>>>>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> aerogear-dev mailing list
>>>>>>>>>>> aerogear-dev at lists.jboss.org
>>>>>>>>>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> aerogear-dev mailing list
>>>>>>>>>> aerogear-dev at lists.jboss.org
>>>>>>>>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> aerogear-dev mailing list
>>>>>>>>> aerogear-dev at lists.jboss.org
>>>>>>>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> aerogear-dev mailing list
>>>>>>>> aerogear-dev at lists.jboss.org
>>>>>>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Matthias Wessendorf
>>>>>>>
>>>>>>> blog: http://matthiaswessendorf.wordpress.com/
>>>>>>> sessions: http://www.slideshare.net/mwessendorf
>>>>>>> twitter: http://twitter.com/mwessendorf
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Matthias Wessendorf
>>>>>>
>>>>>> blog: http://matthiaswessendorf.wordpress.com/
>>>>>> sessions: http://www.slideshare.net/mwessendorf
>>>>>> twitter: http://twitter.com/mwessendorf
>>>>>>
>>>>>> _______________________________________________
>>>>>> aerogear-dev mailing list
>>>>>> aerogear-dev at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> aerogear-dev mailing list
>>>>> aerogear-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> aerogear-dev mailing list
>>>>> aerogear-dev at lists.jboss.org
>>>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> aerogear-dev mailing list
>>>> aerogear-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>>
>>>
>>>
>>>
>>> --
>>> Matthias Wessendorf
>>>
>>> blog: http://matthiaswessendorf.wordpress.com/
>>> sessions: http://www.slideshare.net/mwessendorf
>>> twitter: http://twitter.com/mwessendorf
>>>
>>> _______________________________________________
>>> aerogear-dev mailing list
>>> aerogear-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>>
>>>
>>
>> _______________________________________________
>> aerogear-dev mailing list
>> aerogear-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>>
>
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20150408/840d90e1/attachment-0001.html 


More information about the aerogear-dev mailing list