E-commerce & Logistics

Generate commercial report and send it to BI software or directly to stakeholders

Possible workflow
An example how to retrieve data as SQL
Generared CSV report

SLA monitoring for order deliveries

With Datamin it is very easy to monitor KPIs but also SLAs for various cases. One of the examples for e-commerce specifically is to detect orders which are not delivered within SLA time.
Potential SLA monitoring workflow
Potential SQL query to retrieve data

Monitor overpaid orders

In case an organization accepts payments from customers with direct bank transfers, it opens a potential for mistakes made in the references or amount.
The following workflow can help to control and find overpaid orders.
Potential workflow
Potential SQL query

Warehouse stock monitoring

With Datamin you can control the size of your stock and send alerts to the operational teams if it is necessary to restock some items:
Example of the workflow
Example of the message to the ops team

Filtering data sets by various values

Filtering data from large data sets is one of the most common and important tasks for e-commerce operations. One of the powerful instruments Datamin offers for that is Transformer with GJSON query language.
Let's imagine we have the following dataset and we need to filter it in various ways:
[
{
"amount":250,
"created_at":"2022-10-01 16:01:11",
"currency":"USD",
"id":1,
"organization_id":1,
"status":"dispatched",
"updated_at":"2022-10-01 16:01:11"
},
{
"amount":250,
"created_at":"2022-10-01 16:01:11",
"currency":"USD",
"id":2,
"organization_id":1,
"status":"paid",
"updated_at":"2022-10-01 16:01:11"
},
{
"amount":3677.2,
"created_at":"2022-10-01 16:01:11",
"currency":"USD",
"id":3,
"organization_id":2,
"status":"completed",
"updated_at":"2022-10-01 16:01:11"
},
{
"amount":21.87,
"created_at":"2022-10-01 16:01:11",
"currency":"EUR",
"id":4,
"organization_id":1,
"status":"assembled",
"updated_at":"2022-10-01 16:01:11"
},
{
"amount":21.87,
"created_at":"2022-10-01 16:01:11",
"currency":"EUR",
"id":5,
"organization_id":4,
"status":"assembled",
"updated_at":"2022-10-01 16:01:11"
},
{
"amount":341.76,
"created_at":"2022-10-01 16:01:11",
"currency":"EUR",
"id":6,
"organization_id":1,
"status":"complete",
"updated_at":"2022-10-01 16:01:11"
},
{
"amount":2110.76,
"created_at":"2022-10-01 16:01:11",
"currency":"USD",
"id":7,
"organization_id":3,
"status":"new",
"updated_at":"2022-10-01 16:01:11"
},
{
"amount":127.89,
"created_at":"2022-10-01 16:01:11",
"currency":"USD",
"id":8,
"organization_id":3,
"status":"new",
"updated_at":"2022-10-01 16:01:11"
},
{
"amount":127.9,
"created_at":"2022-10-01 16:01:11",
"currency":"EUR",
"id":9,
"organization_id":4,
"status":"new",
"updated_at":"2022-10-01 16:01:11"
},
{
"amount":344.44,
"created_at":"2022-10-01 16:01:11",
"currency":"USD",
"id":10,
"organization_id":5,
"status":"paid",
"updated_at":"2022-10-01 16:01:11"
}
]
Let's look at the following 4 examples:
Filter:
#(status == "assembled")#
Result:
[
{
"amount":21.87,
"created_at":"2022-10-01 16:01:11",
"currency":"EUR",
"id":4,
"organization_id":1,
"status":"assembled",
"updated_at":"2022-10-01 16:01:11"
},
{
"amount":21.87,
"created_at":"2022-10-01 16:01:11",
"currency":"EUR",
"id":5,
"organization_id":4,
"status":"assembled",
"updated_at":"2022-10-01 16:01:11"
},
{
"amount":67.01,
"created_at":"2022-10-01 16:01:11",
"currency":"EUR",
"id":12,
"organization_id":2,
"status":"assembled",
"updated_at":"2022-10-01 16:01:11"
}
]
Filter:
#(status == "assembled")#.amount
Result:
[
21.87,
21.87,
67.01
]
Filter:
#(status == "assembled").amount
Result: 21.87
Filter:
#(amount < 30)#
Result:
[
{
"amount":21.87,
"created_at":"2022-10-01 16:01:11",
"currency":"EUR",
"id":4,
"organization_id":1,
"status":"assembled",
"updated_at":"2022-10-01 16:01:11"
},
{
"amount":21.87,
"created_at":"2022-10-01 16:01:11",
"currency":"EUR",
"id":5,
"organization_id":4,
"status":"assembled",
"updated_at":"2022-10-01 16:01:11"
}
]