Tout d'abord je tiens à préciser que je suis complètement nul en Math donc j'ai fait ce que j'ai pu ;).
Je me permet de vous demander votre aide concernant un sujet sur lequel je bute depuis plusieurs jours : Comment recréer, grâce à un petit algorithme, un semblant de bourse ?
Je m'explique, je base mon système sur le fait suivant :
Prix = Demande / Offre
Le système que j'aimerais mettre en place est l'auto-régulation du prix selon la demande à un temps T.
Selon mon système l'offre est toujours égale à 1 (car chaque offre est différente) donc : Prix = Demande / 1
J'ai trouvé un semblant de calcul pour faire monter le prix de manière cohérente quand la demande augmente mais je ne sais pas comment faire lorsque la demande diminue.
Par exemple si mon prix minimum / de base est de 0,30 € et que j'ai 17 demandes pour le jour J.
Jour J:
0,3 x 1 = 0,3 € pour le demandeur N° 1
0,3 x 2 = 0,6 € pour le demandeur N° 2
0,3 x 3 = 0,9 € pour le demandeur N° 3
... 0,3 x 17 = 5,1 € pour le demandeur N° 17
à la fin du jour J nous avons atteint un pic à 5,1 € pour cette offre.
Mais comment faire pour le jour J+1 ?
Je pensais repartir de la base du Jour J (0,3€), mais comment avoir un calcul cohérent lorsque la demande explose ?
En effet si la demande est toujours croissante au jour J+2, il va falloir incrémenter d'autant plus afin que la demande se réduise favorisant la rareté de l'offre et donc limiter par la suite le nombre de demande (je ne sais pas si je suis super clair).
J'avais pensé au principe suivant pour le jour J+2:
5,1 + (5,1 x (3/17)) = 6 € Jour 2
5,1 = taux au jour J
17 = NB de demande de la veille
3 = NB de demande du jour
Avec ce calcul j'ai une augmentation minime qui parait cohérente mais je ne pense que cela soit viable pour les autres jour J+3, +4, +5 etc...
De plus l'autre problématique (et pas des moindres !) est la suivante : Comment gérer la baisse de la demande ?
Dans mon exemple ci-dessus, il y a une baisse de la demande du jour J+2 (3) par rapport au jour J (17) mais globalement la demande reste croissante donc le prix aussi. Mais que se passe t-il si il n'y a aucune demande au jour J+3 ?
Le but étant le suivant :
1) Lorsque il y a beaucoup de demande, le prix reste croissant et croît de plus en plus (tout en restant cohérent. Exponentiel ?) ce qui a pour conséquence de mettre en valeur l'offre et de limiter les futurs demandes (car il n'y en aura plus assez pour tout le monde - Auto-régulation Offre / Demande)
2) Lorsque il n'y a plus de demande pendant 1 jour, 2 jours et plus, réduire le coût de l'offre afin de relancer la demande (la réduire progressivement ?)
Je pense avoir été exhaustif. J'aimerais avoir votre avis par rapport à ma réflexion peut être me trouverez vous incohérent ou incomplet sur certains points et je ne demande qu'à améliorer ma stratégie.
D'un autre côté, si vous êtes doués en Math et que vous pouvez m'aider concernant ce petit algorithme / calcul mathématique, je vous en serais reconnaissant !
Merci par avance d'avoir pris le temps de me lire,
Salut rigolman,
ce que tu peux peut-être faire c'est stocker dans une variable le nombre moyen de demandes par jour (en stockant le nombre total de demandes et le nombre de jours écoulés depuis le début, tu obtiendrais cette moyenne en divisant l'un par l'autre) puis augmenter le prix de façon proportionelle au (nombre de demandes enregistrées la veille) moins (la valeur de la moyenne).
La moyenne étant remise à jour chaque jour tu aurais quelquechose qui suivrait assez bien les évolutions du nombre de demandes.
Ce principe ne fonctionne par contre que si tu initialises la valeur moyenne avec quelque chose de cohérent ou si tu trouves un autre truc pour le premier jour...
N'hésite pas à critiquer ou à me dire ce que tu préfèrerais ou à me demander des explications sur des trucs que tu ne comprendrais pas...
Pour tout bagage on a vingt ans On a l'expérience des parents On se fout du tiers comme du quart On prend le bonheur toujours en retard. [Ferré]
En fait ce serait sans doute mieux de ne pas prendre le nombre moyen de demandes par jour depuis le début mais peut-être le nombre moyen sur les 5 jours précédents par exemple (ou les 10), cela permettrrait un meilleur suivi des évolutions.
Pour tout bagage on a vingt ans On a l'expérience des parents On se fout du tiers comme du quart On prend le bonheur toujours en retard. [Ferré]
Un grand merci pour avoir pris le temps de me répondre, c'est déjà très sympa de ta part !
Ton idée à l'air sympa mais pourrais-tu l'alimenter avec un exemple concret (calcul comme dans mon exemple) afin que je me rende compte de ce que ca pourrait donner ? Parceque la c'est un petit peu abstrait pour moi...
Prenons quelques valeurs :
jour 1 : 15, jour 2 : 21, jour 3 : 9, jour 4 : 12, jour 5 : 42, jour 6 : 57, jour 7 : 12, jour 8 : 6, jour 9 : 3
(ce sont les nombres de demandes par jour)
mettons qu'on fixe un prix de départ de 5 (euros) et qu'on fasse la moyenne des trois dernières journées. Comme on n'a pas de données pour les trois premières journées on va dire qu'on laisse un prix constant durant les quatre premières journées.
Pour le cinqième jour, on calcule la moyenne des trois premiers : M5=(9+15+21)/3=15 et on a le nombre de demande pour le quatrième jour qui vaut D4=12, on augmente alors le prix en lui ajoutant quelquechose de proportionnel à 12-15=-3, prenons pour coefficient de proportionnalité 0.1, on a alors un nouveau prix : P5=5+0.1(-3)=4.7 (au cinquième jour, on fera payer l'action 4.7 euros)
Puis on recommence la même chose pour les autres, on a :
M6=14, D5=42 d'où P6=4.7+0.1*(28)=7.6
M7=21, D6=57 d'où P7=7.6+0.1*(36)=11.2
M8=37, D7=12 d'où P8=11.2+0.1*(-25)=8.7
M9=37, D8=6 d'où P9=8.7+0.1*(-31)=5.6
M10=18, D9=3 d'où P10=4.7+0.1*(-15)=3.2
Si tu veux des variations plus brutales des prix tu peux augmenter le coefficient de proportionnalité.
Pour tout bagage on a vingt ans On a l'expérience des parents On se fout du tiers comme du quart On prend le bonheur toujours en retard. [Ferré]
Oui tu as tout à fait raison, grosse erreur de ma part ! désolé !
Ton calcul est à la fois simple et efficace, je voudrais juste ajouter une autre variable, le coefficient de proportionnalité.
Actuellement on le met par défaut à 0,1 ce qui est très bien pour des faibles coûts mais je pense qu'il serait plus logique qu'il augment proportionnellement à la demande, qu'en penses-tu ?
Par exemple de 0 à 10 demande par jour on laisse 0,1, puis de 11 à 20 il monte à 0,2 etc... est-ce assez réaliste à ton avis ?
Sinon autre option il augmente aussi vite que la demande ex:
1 demande 0,1, 2 demande 0,2, 3 demande 0,3 etc...
Puis on recommence la même chose pour les autres, on a :
M6=14, D5=42 d'où P6=4.7+0.3*(28)=13.1
M7=21, D6=57 d'où P7=7.5+0.4*(36)=21.9
>> que faire lorsque la moyenne est négative ?
M8=37, D7=12 d'où P8=11.2+0.3*(-25)=3.7
M9=37, D8=6 d'où P9=3.7+0.4*(-31)= - 8.7 (on bloquerait les nb négatif)
En fait ce que tu es en train de vouloir faire c'est passer d'une loi linéaire à une loi quadratique* ce qui peut être une bonne idée mais il faut le faire plus franchement, c'est-à-dire éviter les paliers : tu peux carrément prendre k=|D-M|/100 +0.1 (le +0.1 étant là pour éviter toute annulation), le problème est qu'avec quelque chose de ce type tu vas avoir des variations très importantes, il vaudrait mieux prendre quelquechose comme k=|D-M|/200+0.1 .
*Cette technique a pour effet d'amplifier les variations du prix lorsque les demandes varient beaucoup et de réduire fortement ces variations lorsque les demandes varient peu. (Si tu vois quelle tête a une parabole, en fait ce qui se passe c'est que la variation du nombre de demande est en abscisse et la variation du prix en ordonnée).
Pour tout bagage on a vingt ans On a l'expérience des parents On se fout du tiers comme du quart On prend le bonheur toujours en retard. [Ferré]
"Cette technique a pour effet d'amplifier les variations du prix lorsque les demandes varient beaucoup et de réduire fortement ces variations lorsque les demandes varient peu."
>> C'est exactement ça que je souhaite faire !!
k=|D-M|/200+0.1
Donc si je traduis ta formule ça donnerais quelque chose comme
M6=14, D5=42 donc
K=28/200+0,1=0,24
Mais ou est-ce que j'intégre cette formule "K" dans l'autre formule ? je suppose qu'elle ne se suffit pas à elle même en voyant son seul resultat ?
Cette formule c'est le calcul de ce qui était avant le coeffcient de proportionalité, tu n'as donc qu'à remplacer le k précédent (0.1) par cette valeur que tu pourras recalculer à chaque journée.
Pour tout bagage on a vingt ans On a l'expérience des parents On se fout du tiers comme du quart On prend le bonheur toujours en retard. [Ferré]
En gardant les chiffres de tout à l'heure:
M7=21, D6=57 d'où P7=11.42+0.18*(36)=17.9
M8=37, D7=12 d'où P8=17.9+(-0.025)*(-25)=18.525
M9=37, D8=6 d'où P9=18.525+(-0.055)*(-31)=20.23
M10=18, D9=3 d'où P10=20.23+0.025*(-15)=19.855
...
Je trouve ça très cohérent, et je pense que ça pourrait bien fonctionner... qu'en penses-tu ? As-tu une dernière suggestion/remarque en voyant ces formule et en ayant une vision globale sur ces chiffres (amélioration encore possible ?)?
Un grand merci en tout cas, j'ai quelque chose de cohérent et qui marche !
Attention j'avais mis des valeurs absolues pour k, il faut que k reste positif, sinon on va augmenter le prix alors qu'il faudrait le baisser. (La valeur absolue d'un nombre c'est ce nombre sans le signe - qui peut être devant). Il faut donc enlever ici les deux signes - en gras.
Sinon ça me semble assez cohérent effectivement.
Pour tout bagage on a vingt ans On a l'expérience des parents On se fout du tiers comme du quart On prend le bonheur toujours en retard. [Ferré]
Ok donc je reprend, si en calculant K je trouve un nombre négatif comme "-0.025" je le transforme en "0.025".
Je crois que tu t'es trompé sur la derniere moyenne, M10=25 et non 18
Voila ce que ça me donne :
M7=21, D6=57 d'où P7=11.42+0.18*(36)=17.9
M8=37, D7=12 d'où P8=17.9+0.025*(-25)=17.275
M9=37, D8=6 d'où P9=17.275+0.055*(-31)=15.57
M10=25, D9=3 d'où P10=15.57+0.025*(-22)=15.02
C'est vrai que la c'est beaucoup plus cohérent vu que le prix se stabilise de lui même selon la moyenne précédemment calculée ! Par contre je trouve ça bizarre que sur la 3eme ligne le prix soit 15.02 : en effet on est passé de 12 à 6 demandes par jour et le prix a diminué que de 50 centimes... j'ai l'impression que c'est un peu leger ?
Donc j'imagine que si il y a 0 demandes durant plusieurs jours le prix chute ce qui donnerait :
M11=7, D9=0 d'où P11=15.02+0.065*(-7)=14.565
M12=3, D9=0 d'où P12=14.565+0.085*(-3)=14.31
M13=1, D9=0 d'où P13=14.31+0.095*(-1)=14.215
Le problème que je vois ici, c'est que le prix ne chute pas assez vite alors qu'il n'y a aucune demande depuis 3 jours...
Tu t'es trompé dans tes calculs :
on trouve normalement :
M7=21, D6=57 d'où P7=11.42+0.28*(36)=21.5
M8=37, D7=12 d'où P8=21.5+0.225*(-25)=15.875
M9=37, D8=6 d'où P9=15.875+0.255*(-31)=7.97
M10=25, D9=3 d'où P10=7.97+0.210*(-22)=3.35
Pour calculer k, tu fais calcules D-M tu divises par 200, tu enlèves le ssigne - s'il y en a un et tu ajoutes 0.1, si je me suis pas trompé ça donne ce que j'ai écrit e donc après trois jours à 0 ça donne :
M11=7, D9=0 d'où P11=3.35+0.135*(-7)=2.405
M12=3, D9=0 d'où P12=2.405+0.115*(-3)=2.06
M13=1, D9=0 d'où P13=2.06+*(-1)=1.95
Ce qui paraît déjà plus logique.
Pour tout bagage on a vingt ans On a l'expérience des parents On se fout du tiers comme du quart On prend le bonheur toujours en retard. [Ferré]
Arrrrrrgh !! oui merci la calculette pourri de window et en plus je gardais le signe "-" avant d'ajouter 0.1... mea culpa !
Merci pour cette précision, effectivement c'est beaucoup plus logique car j'ai testé avec une chute plus brutale comme ce qui suit et le prix chute aussi, c'est parfait !
Prenons par exemple une base de prix en dessous duquel il sera impossible de descendre: 0.30
si je fait les calculs que nous avons fait précédement voila ce que j'obtiens :
M5=15 D4=-3 d'où P5 = 0.30+0.115*(-3) = -0.045€ problème donc je garde 0.30
M6=14, D5=42 d'où P6=0.30+0.24*(28)=7.02
M7=21, D6=57 d'où P7=7.02+0.28*(36)=17.1
M8=37, D7=12 d'où P8=17.1+0.225*(-25)=11.47
M9=37, D8=6 d'où P9=11.47+0.255*(-31)=3.56
M10=25, D9=3 d'où P10=3.56+0.21*(-22)= -1.06
Tu peux voir sur la dernière ligne que malgré le fait qu'il y ait encore 3 demandes ce jour la, le prix devient négatif !
En fait il faudrait qu'il diminue pour se rapprocher au plus près du prix de base en dessous duquel il ne peut pas descendre à savoir 0.30
Donc si il n'y a que 3 demandes, le prix devrait être un peu plus haut que 0.30
Ce prix pourra être une variable qui sera différente selon les produits proposés. Ainsi grâce à ce prix de base (variable) les prix ne pourront descendre en dessous.
Le truc c'est qu'il faut plutot que tu partes d'un prix moyen et noon d'un prix minimal, parce que là tu pars d'un prix minimal alors que la valeur de la moyenne est à 15 c'est-à-dire qu'il y a normalement eu une quinzaine de demandes sur les trois dernières journées, si tu pars de 0.3 avec une moyenne à 0 tu n'auras normalement pas de problèmes.
Autre remarque : tu mets un nombre de demandes négatif ce qui est normalement impossible...
Pour tout bagage on a vingt ans On a l'expérience des parents On se fout du tiers comme du quart On prend le bonheur toujours en retard. [Ferré]
Ok alors je garde la moyenne des prix je pense effectivement que mieux par contre ça ne change pas mon premier problème qui est le fait que le prix devienne négatif.
J'ai pas compris quand tu m'as dit "tu mets un nombre de demandes négatif ce qui est normalement impossible...", car j'ai repris tes données et les dernieres demandes sont aux nombre de 3.
Ai-je fait une erreur dans mes calculs a nouveau ?
tu as écrit D4=-3, donc un nombre de demandes négatif, ce qui explique ton problème de nombre négatif à l'arrivée, puisqu'un nombre de demandes ne peut normalement être négatif...
Pour tout bagage on a vingt ans On a l'expérience des parents On se fout du tiers comme du quart On prend le bonheur toujours en retard. [Ferré]
Le resultat final reste donc le même et c'est la même problematique pour la derniere ligne:
M10=25, D9=3 d'où P10=3.56+0.21*(-22)= -1.06
K=(3-25)/200+0.1 = 0.21
oui mais ça ça vient comme je l'ai dit précédemment du fait que tu aies choisi un prix très bas alors que la moyenne de demandes est correcte au départ. Il faut prendre un prix de départ cohérent avec la moyenne...
Pour tout bagage on a vingt ans On a l'expérience des parents On se fout du tiers comme du quart On prend le bonheur toujours en retard. [Ferré]
ça veut dire qu'avec cette formule je ne peut pas avoir un prix de départ compris entre 0,1 et 0,9€ et une demande qui exploserait en passant d'un jour à l'autre de 0 à 50 ??
Y a-t-il un moyen de prendre en compte ce tarif compris entre 0 et 1 sans que ca foute en l'air la formule ?
J'avais cru comprendre aussi que le fait d'etre en dessous de 1 et d'utiliser 0 virgule quelque chose foutait le désordre !
Peut-etre peut-on convertir le premier prix compris entre 0,1 et 0,99 en une autre valeur afin que le tout redevienne cohérent ?
si tu peux très bien avoir un prix de départ à 0.3 (même à 0.1) si tu commences avec une valeur de la moyenne à 0 il n'y aura normalement pas de problème.
Pour tout bagage on a vingt ans On a l'expérience des parents On se fout du tiers comme du quart On prend le bonheur toujours en retard. [Ferré]