Analytics

Introduction

OneStock has partnered with Sisense, world renowned business intelligence software solution to leverage the data managed in Onestock and extract the maximum value.

All analytics are available in the OneStock backoffice. As well, there is a number of out of the box features to help you get the best understanding of the data, as dimensions drill downs, key indicators, and much more.

 

Two types of dashboards are available :

  • The standard analytics, which offers you basic key indicators helping you monitor your daily business. Those analytics are available for everyone.

  • The BI Suite, a set of out-of-the-box dashboards that make the most of this data. The BI Suite is a OneStock module and a specific access must be requested. The BI Suite is available in a dedicated section in the backoffice.

Data Source

Data is extracted from OneStock statistics, and not directly from the source data. These statistics are populated thanks to OneStock's workflows. It gives some level of flexibility to adapt statistics to your context, but the downside is that your workflow must manage the statistics calculation. If statistics are not stored for a given state transition, this transition will not be visible in the analytics data.

 

After extraction, data is processed and aggregated. During processing, a mapping is applied between the statistics calculated and default states displayed in the analytics section. Default states are applied to order items, orders and parcel states. These are the ones available in the dashboards.

Statistics calculations are based on OneStock's statistics, which are populated thanks to the order workflows. If statistics are not populated by the workflow, no statistics will be shown.

Displayed states - Mapped States and Raw States

To facilitate analytics understanding, raw states (value found in the database) are mapped to what we call mapped states. Mapped states are a common representation of multiple raw states (learn more here).

Legacy backoffice and store app analytics are based on raw stats states, in contrast to backoffice analytics, which are based on mapped states.

For example, 4a-Processed mapped state, matches dispatched Home delivery orders, collected Click & Collect and Reserve & Collect orders, and fulfilled Order in Store orders.

A standard mapping is used by default for all projects. A custom one can be configured with the help of the OneStock team.

Raw states are available in the Stock Locations (Raw) dashboard, where they can be viewed and exported.

More information about the standard mapping can be found here.

Interface overview

OneStock analytics are powered by SiSense.

Dashboards are composed by a widget display section - the main section - and a filtering panel on the right-hand side.

Filters

By filtering we can reduce or broaden the scope of data to be taken into account. The main filters are:

  • Site: Allows selecting one or more sites. When visualizing analytics with an external account - not OneStock- site selection is limited to only one.

  • Sales channel: Allows selecting one or more sales channels. When visualizing analytics with an external account - not OneStock- sales channel selection are limited given the users sales channel access rights.

  • Date: Allows selecting a period of time, based on the date of the event (if I pack an order today, the date is today, even if the order was created 3 days ago).

  • Currency: Allows changing the display currency. The conversion rate is the closing rate of the event date, and the current rate for the current date. 

    • If viewing statistics of before yesterday, yesterday and today, revenue conversion for statistics of yesterday and before yesterday will be done with their corresponding closing rates and today's will be converted using the current rate. 

  • Timezone: Allows changing the timezone. The change affects all dates.

    • If viewing the Real time revenue per hour graph in time zone + 0 displays 10k revenue at 10AM, changing the timezone to + 1 will result in a display of 10k at 11AM.

Example: Changing currency



Dashboard interactions

All widgets support export and drill down out of the box.

Exports

By clicking on the three dots at the top of each widget the widget can be exported. Supported formats are : csv, excel, pdf and image.

Drill Down

All dashboard widgets support drill down by any dimension available in the source table. Main graphs have predefined suggested drill down paths.

📊 Dashboards

Overview

The analytics page is divided into different sections:

  • Real Time: key order analytics of the current day.

  • Orders: key order analytics for a chosen date range.

  • Stock Location: key point of stock analytics for a chosen date range.

  • Stock Location (raw): stock locations analytics displayed in raw states.

  • Orchestration: ruleset performance

Real time

Time frame: Current day (Today in GMT+0)

All Items

Key KPIs

  • Placed items and resulting revenue (1-Created mapped state).

  • Processed items and resulting revenue (4a-Processed mapped state)

  • Average item price : Average items price of proccesed items.
    Technically speaking: IF(SUM([revenue_EUR]*[rate])>0, SUM([revenue_EUR]*[rate])/[Total quantity_items], 0) over processed line_items stats (4a-Processed mapped state).

  • Average number of items in basket : Average number of items per order processed order.

    Technically speaking: IF([Total quantity_items]/[Total quantity_orders]>0, [Total quantity_items]/[Total quantity_orders], 0), over processed line_items stats (4a-Processed mapped state).

  • Average basket price : Average processed order price.
    Technically speaking: IF(SUM([revenue_EUR]*[rate])/[Total quantity_orders]>0, SUM([revenue_EUR]*[rate])/[Total quantity_orders], 0), over processed line_items stats (4a-Processed mapped state).

 

Graph : Revenue in time (processed)

Revenue by hour of line_items statistics that have gone by the mapped processed state.

Revenue and top performing points of stock by delivery type

Number of items, resulting revenue and top performing points of stock are determined base on line_items statistics.

Orders

Statistics related to orders with the possibility to filter by a given date range

Disclaimer: Analytics are presented in GMT+0 timezone, while the order list page displays dates in the user's local timezone (GMT+2 for France). This may create some discrepancies when comparing both. For example, orders that are integrated at midnight in France time (GMT+2), will appear in analytics under the previous day's date due to the conversion from GMT+2 to GMT+0 (e.g., 25/09/2023 00:20 GMT+2 equals 24/09/2023 22:20 GMT+0).

Placed section

Offers KPIs about order placement.

  • Revenue is based on line items at the created mapped state.

  • Number of orders is based on order at the created mapped state.

  • Number of items is based on line item quantity at the created mapped state.

Processed section

Offers KPIs about production (order fulfillment). 

  • Revenue is based on line items at the processed mapped state.

  • Number of orders is based on order at the processed mapped state.

  • Number of parcels is based on parcel at the processed mapped state.

  • Number of items is based on line item at the processed mapped state.

 

 

Turnover section

Allows to view and compare states.

Performance by delivery type

Order type taken into account per section

Legacy backoffice and store app analytics are based on raw stats states, in contrast to backoffice analytics, which are based on mapped states.

Home delivery: orders that contain ffs but not ckc. So all orders with home delivery, including those placed from the order in store tunnels.

Click & Collect: orders that contain the type ckc. So all click and collect orders, including those placed from order in store tunnels and also ckc_ready and other types that contain ckc in their delivery types.

Reserve and collect: orders that contain the type ropis.

Order in Store: orders that contain the type ois, including home delivery and click and collect orders placed from the order in store tunnels. The latter are therefore duplicated. Thanks to the second widget in the section, we can make the difference between what is immediate retirement (straight fulfilled) and not immediate retirement.

 

Stock Locations

Key indicators (revenue, number of parcels, number of items) per point of stock opened by mapped states.

  • Revenue based on line item statistics.

  • Parcels are based on the count of distinct parcels found in line items statistics.

  • Items are based on the sum of items across line items statistics.

Order type taken into account per section

Home delivery: All home delivery orders, including those placed from the order in store tunnels.
Technically speaking: orders that contain ffs but not ckc (ffs and ffs,ois but not ffs,ckc)

Click & Collect: All click and collect orders, including those placed in the order in store tunnel.
Technically speaking: orders that contain ckc (ckc,ffs and ckready but not ffs)

Reserve and collect: Reserve and collect orders.
Technically speaking: orders that contain the type ropis. (ropis but not ffs)

Order in Store: All orders placed from the order in store tunnel, including home delivery and click and collect orders placed from order in store tunnels.

Technically speaking: orders that contain the type ois. (ckc,ffs,ois and ois but not ffs)

 

Stock Locations (raw)

Key indicators (revenue, number of parcels, number of items) per point of stock opened by raw states.

  • Revenue based on line item stats.

  • Parcels are based on the count of distinct parcels found in line items stats.

  • Items are based on the sum of items across line items stats.

Order type taken into account per section

Ship from Store: Only states related to actions taken at the shipping point, to fulfill any order that requires shipping.

Technically speaking: orders that contains ffs and exclusion of states not related to shipping (claims at the collection point).

Click & Collect: Only states related to actions taken at the collection point to fulfill click and collect orders.

Technically speaking: orders that contains ckc and exclusion of states not related to collecting (claims at the shipping point).

Reserve and collect: Only states related to actions taken at the collection point to fulfill reserve and collect orders.

Technically speaking: orders that contains ropis

Order in Store: Only states related to actions taken to fulfill order in store straight fulfilled lines.

Technically speaking: line that are straight fulfilled true.

 

Orchestration

Analytics regarding orchestration rules performance.

Ruleset Performance

A ruleset performance is displayed by rule. For each rule, the distribution of orchestration results is displayed. The results are :

  • â–  Not candidate: number of orders for which no candidates were found.

  • â–  Candidate: number of orders for which candidates were found but which were not claimed.

  • â–  Partially fulfilled: number of order for which candidates were found and that were claimed, but not fully.

  • â–  Fulfilled: number of orders for which candidates were found and that were totally claimed.

As orchestration is done in cascade, the amount of orders taken into account at each rule, is the total number of order that went through the previous rule and that were not fulfilled. If 100 orders are displayed on rule 1 and 20 are shown as fulfilled, the remaining 80 will be the base of orders for the following rule.

Differences with legacy backoffice

Legacy backoffice and current backoffice, by default, display analytics in the same way, except on the Stock Locations tab. If you want to get a similar view, check out Stock Locations (raw) dashboard, which displays raw states.

The difference are found between:

  • Legacy Stock Locations > Ship from Store screen and the current backoffice Stock Locations > Home Delivery. In the first, all order shipped from a stock location are accounted, which includes Click & Collect orders where stock is shipped from a stock location to the destination. In the later, only the Home Delivery orders processed at the stock location are taken into account.

  • Legacy Stock Locations > Click & Collect screen and the current backoffice Stock Locations > Click & Collect. In the first, only what is processed by the destination is taken into account, so no inclusion of Click & Collect orders where stock is shipped from a stock location to the destination. In the later, what is processed by the destination and at a stock location that ships to the collection stock location are taken into account.

  • Legacy Stock Locations > Order in Store screen and the current backoffice Stock Locations > Order in Store. In the first, only straight fulfilled order in stores are taken into account, in the later, all orders that have gone placed through the Order in Store tunnel are taken into account.

Differences with Store App Analytics

Also, the Store App widgets are usually configured by operation, in contrast to the current backoffice analytics which are displayed by delivery method. Its not that one is right and the other is wrong, is just that they are different. For example, in the Store App you might display the number of dispatched orders, which takes into account all orders (Ship from Store and Click and Collect), which can be found in the current backoffice analytics under a similaire form, Click & Collect orders under 3d-Dispatched_CKC, and Home Delivery orders 4a-Processed. Please notice that the example is based on the default mapping, the same can not be assured in the case of a custom mapping.

💡 Tips