Statistique : déterminer une valeur en fonction d'un % donné

Bonjour à tous,

Et merci à tous les contributeurs de leur aide diverse dans le forum qui m'a souvent été utile par le passé, et je l'espère dans le futur !

Cependant je cale cette fois sur un problème de méthode.

Le cas pratique :

Une société loue des véhicules
La rentabilité de la société dépend du taux de rotation des véhicules de son parc

Le taux de rotation d'un véhicule = le nombre de jours vendus par véhicule sur le total de jours de disponibilités du véhicule sur la période (ici on résonne par mois)
Un véhicule loué 31 jours sur un mois de 31 jours à un taux de rotation de 100% ; un véhicule loué 15j sur un mois de 31j à un taux de rotation de 15/31 = 48%

Le taux de rotation moyen du parc = le nombre total de jours vendus sur le total de jours de disponibilités du parc
Un parc de 2 véhicules dont 1 a été loué 31j sur 31j du mois, et l'autre 15j sur 31j aura un taux de rotation moyen de (31+15)/(31+31) = 74%


La problématique :

Sur la base des ventes historiques, est-ce qu'une fonction d'excel permettrait de déterminer la quantité de véhicules ayant un potentiel d'être loué au moins 65% du temps (où autre variable en %).

Dans l'exemple ci joint, j'y arrive par tâtonnement.

Mais je me demande si on peut optimiser mon approche empirique !

Merci d'avance aux curieux pour leur aide.

n.b. : je maitrise assez bien excel, mais je ne programme pas en vba (pas encore...)

Bonjour,

une proposition via une fonction personnalisée. voir formule en B16

on appelle la fonction avec la liste des nombres de locations par journée et le taux recherché, la fonction retourne le nombre de véhicules correspondant.

Bonjour @h2so4

C'est une solution très élégante
Je vais creuser le code VBA pour m'approprier la logique
l'occasion de me former sur les formules utilisées.

Un grand merci d'avoir consacré du temps à mon problème :)

Bonjour

élégante mais qui donne par hasard un résultat correct pour 65%. je m'y remets.

Bonjour h2so4

J'ai pu pas mal jouer avec l'outil, encore merci !

J'ai identifié qu'en cas de valeur dans la série = 0 de donnée on aboutie à un résultat : #VALUE!
Cela peut-il venir d'une division par 0 issue de :

tauxactuel = sommejour / (t(i) * UBound(t))

Le décompte des jours t(i) supposant une valeur non nulle pour être comptabilisé ?

Ma capacité à lire du code est très modeste, je ravi de compter sur votre aide à nouveau :)

Re !

J'ai également des incohérences qui apparaissent quand je tire la formule pour traiter un volume de données plus important (dans la même logique)

Si la série de donnée initiale est bien traitée, j'ai l'impression que au delà d'une certain valeur le calcul tangeante vers la valeur maximum.

Mais je comprends que c'était peut etre le sens de votre second post.

Je joins le jeu de données de test.

Bonjour,

j'ai appliqué la dernière version de la formule (voir message ci-dessus) sur le fichier joint et je n'ai pas les mêmes résultats que toi.

voici, le fichier avec les résultats que j'obtiens avec cette dernière version (j'y ai ajouté la gestion du cas "pas de location pour un certain jour")

C'est vraiment top. Merci pour la gestion du 0.

J'ai du mal à m'expliquer ce qui est susceptible de fausser les résultats entre chez toi et chez moi

------------------------------

Update :
Je me suis rendu compte que pour la série en L24, quelque soit le taux paramétré <= 75,11% (via la cellule C1 ou inscrite en dure dans la formule "taux"), j'ai toujours le même résultat qui sort, i.e.

taux de rotation de 75,11% pour 116 véhicules

Quand je dépasse le taux de 75,11% --> la formule semble s'executer correctement, avec une valeur de sortie "véhicule" inférieure à 116

Ex : 106 véhicules pour un taux paramétré à 82%


Plus globalement, si je paramètre un taux très bas, ex : 10%
Tous les résultats sortent faussés sous la forme :

taux de rotation de xx,xx% pour y véhicules

Comme dans le screen plus bas où les résultats de la formule sont syntaxés avec du texte (ce que j'avais modifié dans la version que je t'avais renvoyée)

ou y = max (données)

------------------------------

Voici ce que je vois en ouvrant ton dernier fichier :

screen stockrotation

update 2

Je viens de comprendre que le problème venait de moi

Si tauxactuel > taux, alors naturellement il est impossible que le stock "en parc" sur la période analysée puisse avoir un taux de rotation inférieur à ce qui a été réalisé. Il était donc judicieux d'indiquer dans ce cas de figure la valeur réalisée réelle.

J'avais comme biais de lecture de vouloir voir sortir une valeur pour un parc de véhicule avec pour cible un taux de rotation cible.

Autrement dit : être également capable de voir où j'avais pu manquer de stock par rapport à mon objectif de taux de rotation.

En effet, au delà d'un taux cible je peux me retrouver en situation de "sur-rotation" --> si j'ai manqué de stock, j'ai potentiellement perdu des clients ou du chiffre d'affaires.

Une erreur de lecture qui m'aura permis de mieux comprendre le fonctionnement du script !

@h2so4, si tu en as la coeur, je suis preneur d'un script additionnel permettant :

Si tauxactuel > taux --> tester par ajout incrémental de 1 stock additionnel "hors parc" d'aller tangenter le taux cible.

Et en tout cas un immense merci pour ton aide !
Je passe le poste en résolu et espère avoir l'occasion de te rendre la pareil à une autre occasion (vraisemblablement pas sur excel )

bonjour,

Je viens de comprendre que le problème venait de moi

effectivement j'aurais dû expliquer le choix que j'avais fait pour le cas où le nombre de véhicules faisait que l'on dépasse le taux demandé.

Ceci dit, après réflexion, pas besoin de fonction personnalisée.

nombre_de_véhicules=nombre_de_jours_vendus/(taux_souhaité * Nombre_de_jours_du_mois)

Rechercher des sujets similaires à "statistique determiner valeur fonction donne"