permission()->check(['global'])) {
return ;
}
$users = [];
$ordered = [];
$orders = Order::q('select * from `order` where env="live" order by date asc');
die('asd');
foreach ($orders as $order) {
if (!$users[$order->phone]) {
$users[$order->phone]['name'] = $order->name;
}
$users[$order->phone]['restaurants'][] = Restaurant::o($order->id_restaurant)->name;
if (!$users[$order->phone]['start']) {
$users[$order->phone]['start'] = $order->date;
}
$users[$order->phone]['end'] = $order->date;
$users[$order->phone]['value'] += $order->final_price;
$users[$order->phone]['orders']++;
}
foreach ($users as $key => $user) {
$users[$key]['restaurants'] = array_unique($user['restaurants']);
$start = new DateTime($user['start']);
$end = new DateTime($user['end']);
$users[$key]['days'] = $start->diff($end)->format('%a');
$users[$key]['valueperday'] = $users[$key]['value'] / ($users[$key]['days'] ? $users[$key]['days'] : 1);
if (!$users[$key]['days']) {
//$users[$key] = null;
$nonreturnTotalValue+= $users[$key]['valueperday'];
} else {
$returnUsers++;
$totalValuePerDay+= $users[$key]['valueperday']/$users[$key]['days'];
$totalValue+= $users[$key]['value'];
$totalRestaurantsPerCustomer+= count($users[$key]['restaurants']);
}
$ordered[$users[$key]['orders']]++;
}
$orderCount = Order::q('select * from `order` where env="live"')->count();
echo 'Orders: '.$orderCount.'
';
echo 'Users: '.count($users).'
';
echo 'Return Users: '.$returnUsers.'
';
echo 'AVG $ per user: '.(($nonreturnTotalValue+$totalValue)/count($users)).'
';
echo 'AVG $ per non return user: '.($nonreturnTotalValue/(count($users)-$returnUsers)).'
';
echo 'AVG $ per return user: '.($totalValue/$returnUsers).'
';
echo 'AVG $ per return day: '.($totalValuePerDay/$returnUsers).'
';
echo 'Estimated 2 year user value: '.(($totalValuePerDay/$returnUsers)*365*2).'
';
echo 'Estimated 2 year user value after restaurant payout: '.((($totalValuePerDay/$returnUsers)*365*2*.1)).'
';
echo 'AVG restaurants per return user: '.($totalRestaurantsPerCustomer/$returnUsers).'
';
echo '
Order amounts
';
arsort($ordered);
foreach ($ordered as $key => $order) {
echo $key.': '.(($order/count($users))*100).'%
';
}
exit;
echo '
'; print_r($users); } }