10.51.10 • Published 6 years ago

@botpress/analytics v10.51.10

Weekly downloads
115
License
AGPL-3.0-only
Repository
github
Last release
6 years ago

@botpress/analytics

Analytics for Botpress provides an interface to view graphs and data of your chatbot typical usage. By using this module, you can have a look to your total users, retention, daily active users, busy hours and a lot more...

Installation

npm install --save @botpress/analytics

Usage

This module has some built-in analytics available from the box but also allows you to set up your own custom analytics.

For latter you need to:

  1. Register graphs by calling bp.analytics.custom.addGraph
  2. Calling bp.analytics.custom.increment(name, count=1) and bp.analytics.custom.set(name, count=1) to register events that get displayed in analytics

bp.analytics.custom.addGraph accepts an object with following keys:

  • name (String)
  • type (one of 'count', 'countUniq', 'percent', 'piechart', 'table')
  • description (String)
  • variables (String),
  • fn: (Function that is used to calculate result)
  • fnAvg: (Function) => that gets used for 'percent' type to calculate average value

Examples

If you need some statistics about the satisfaction of your users, you can create 3 graphs : 2 counts and 1 table.

Read events

To generate your graphs, create a new file inside src folder called analytics.js. Inside this file, call the addGraph() function :

module.exports = async bp => {
    bp.analytics.custom.addGraph({
        name: '😃 users',
        type: 'count',
        description: 'Happy users',
        variables: ['happy']
    })

    bp.analytics.custom.addGraph({
        name: '😕 users',
        type: 'count',
        description: 'Mad users',
        variables: ['mad']
    })

    bp.analytics.custom.addGraph({
        name: 'Unsatisfied reasons',
        type: 'table',
        description: 'Why your users are mad?',
        variables: ['reason']
    })
}

and then you can call the analytics.js file inside the index.js file :

const registerAnalytics = require('./analytics')

module.exports = async bp => {

    // ...
    // register functions
    // ...

    await registerAnalytics(bp)
}

Send events

To send events, create nodes that passes inside functions that calls the botpress customs analytics functions :

Examples of functions inside the actions.js file :

module.exports = {
    userIsHappy: async (state, { bp, user }, params) => {
        await bp.analytics.custom.increment(`happy~${user.id}`);
    },

    userIsMad: async (state, { bp, user }, params) => {
        await bp.analytics.custom.increment(`mad~${user.id}`);
    },

    satisfactionReason: async (state, event, { bp, user }) => {
        await bp.analytics.custom.set(`${event.text}~reason~${user.id}`);
    }
}

For more details, please read the documentation.

License

botpress-analytics is licensed under AGPL-3.0

10.51.10

6 years ago

10.51.9

6 years ago

10.51.8

6 years ago

10.51.7

7 years ago

10.51.6

7 years ago

10.51.5

7 years ago

10.51.4

7 years ago

10.51.3

7 years ago

10.51.2

7 years ago

10.51.1

7 years ago

10.51.0

7 years ago

10.50.0

7 years ago

10.49.0

7 years ago

10.48.5

7 years ago

10.48.4

7 years ago

10.48.3

7 years ago

10.48.2

7 years ago

10.48.1

7 years ago

10.48.0

7 years ago

10.47.1

7 years ago

10.47.0

7 years ago

10.46.5

7 years ago

10.46.4

7 years ago

10.46.3

7 years ago

10.46.2

7 years ago

10.46.1

7 years ago

10.46.0

7 years ago

10.45.0

7 years ago

10.44.2

7 years ago

10.44.1

7 years ago

10.44.0

7 years ago

10.43.0

7 years ago

10.42.0

7 years ago

10.41.1

7 years ago

10.41.0

7 years ago

10.40.0

7 years ago

10.39.0

7 years ago

10.38.0

7 years ago

10.37.1

7 years ago

10.36.1

7 years ago

10.36.0

7 years ago

10.35.1

7 years ago

10.35.0

7 years ago

10.34.0

7 years ago

10.33.2

7 years ago

10.33.1

7 years ago

10.33.0

7 years ago

10.32.0

7 years ago

10.31.0

7 years ago

10.30.0

7 years ago

10.28.0

7 years ago

10.27.1

7 years ago

10.27.0

7 years ago

10.26.0

7 years ago

10.25.2

7 years ago

10.25.1

7 years ago

10.25.0

7 years ago

10.24.4

7 years ago

10.24.3

7 years ago

10.24.2

7 years ago

10.24.1

7 years ago

10.24.0

7 years ago

10.23.0

7 years ago

10.22.4

7 years ago

10.22.3

7 years ago

10.22.2

7 years ago

10.22.1

7 years ago

10.22.0

7 years ago

10.21.0

7 years ago

10.20.1

7 years ago

10.20.0

7 years ago

10.19.0

7 years ago

10.18.0

7 years ago

10.17.3

7 years ago

10.17.2

7 years ago

10.17.1

7 years ago

10.17.0

7 years ago

10.16.1

7 years ago

10.16.0

7 years ago

10.15.0

7 years ago

10.14.2

7 years ago

10.14.1

7 years ago

10.14.0

7 years ago

10.13.4

7 years ago

10.13.3

7 years ago

10.11.2

7 years ago

10.11.1

7 years ago

10.11.0

7 years ago

10.10.0

7 years ago

10.9.4

7 years ago

10.9.3

7 years ago

10.9.2

7 years ago

10.9.1

7 years ago

10.9.0

7 years ago

10.8.0

7 years ago

10.7.0

7 years ago

10.6.2

7 years ago

10.6.1

7 years ago

10.6.0

7 years ago

10.5.0

7 years ago

10.4.0

7 years ago

10.3.1

7 years ago

10.3.0

7 years ago

10.2.3

7 years ago

10.2.2

7 years ago

10.2.1

7 years ago

10.2.0

7 years ago

10.1.0

7 years ago

10.0.12

7 years ago

10.0.11

7 years ago

10.0.2

7 years ago

10.0.1

7 years ago

10.0.0

7 years ago

2.2.7

7 years ago