Función matemática para valorar precios con pendiente cercana a 0 a partir de un punto.

Hola expertos. Haber si podéis ayudarme. Necesito una función para valorar precios. Actualmente estoy usando una regla de tres inversa (oferta mas barata/oferta a valorar* valoración máxima), por lo que el precio mas barato obtiene 50 puntos y el resto de precios en orden ascendente son valorados proporcionalmente según la formula. El problema es que ahora quiero poner un limite, es decir, que haya un precio mínimo aceptado que recibirá 49,5 puntos y si hay ofertas que son mas baratas que este, solo puedan recibir como máximo 0,5 puntos mas (50). O lo que es lo mismo que la pendiente se acerque a 0 a partir de ese valor.

espero haberme explicado

saludos y gracias de antemano

1 Respuesta

Respuesta
1

Imagino que querrás que los precios más altos tengan un sistema de puntuación similar al anterior. Lo más sencillo es que la función tenga una definición distinta según que la oferta a valorar supere o sea menor que el precio mínimo aceptado.

Sea m el precio mínimo aceptado y x la oferta a valorar

Sería una función de esta forma:

puntos(x) = 49,5·m/x si x>=m

puntos(x) = 50 - 0,5·x/m si x<m

Esta es la gráfica de la función para m = 25

Y eso es todo, si te sirve ya está, si la necesitas de otra forma dímelo.

Hola valeroasm. Ante todo muchas gracias por la respuesta y la rapidez.

Una cuestión, ¿seria posible hacerlo mediante una sola formula para todas la ofertas? si no, puedo tener problemas (no matemáticos) al valorar ofertas con 2 formulas diferentes.

gracias otra vez

Es que esta fórmula es lo más similar que puedes conseguir al modelo que tenías antes. Si quieres puedes usar solo la segunda función

puntos(x) = 50 - 0,5·x/m

Lo que sucede es que eso será la prolongación de la recta del principio. La pendiente será pequeña y constante y puede que tengas puntos negativos para precios altos.

Si quieres que no baje de cero podemos usar una función campana que es de la forma

$$f(x) = ae^{-\frac{(x-b)^2}{c}}$$

Por si no se ve bien es

f(x) = ae ^{-[(x-b)^2}/c}

Mediante la elección adecuada de a, b, c podemos hacer que tenga más pendiente o menos, es cuestión de ir probando.

Lo que si es fundamental es que tenga los valores 50 para 0 y 49,5 para m luego

ae ^{-[(0-b)^2}/c} = 50

ae^[-(b^2)/c] = 50

ln(a) - (b^2/c) = ln(50)

y la otra que surge es

ln(a) - [(m-b)^2]/c = ln(49,5)

Es decir debemos hacer que:

ln(a) - (b^2)/c = ln(50)

ln(a) -[(m-b)^2]/c = ln(49,5)

Como te decía la gama de elecciones es inmensa y dependerá del valor de m que quede una curva a tu gusto o no.

Pongamos a=50

ln(50) - (b^2)/c = ln(50)

-(b^2)/c = 0

b = 0

ln(50)-(m^2)/c = ln(49,5)

-(m^2)/c = ln(49,5) - ln(50) =

c = m^2/[ln(50) - ln(49,5)]

c = m^2/0,01005033585

Mira, no va a salir exacto del todo, pero podemos tomar

c = m^2/0.01 = 100m^2

Entonces la fórmula va a ser

$$puntos(x) = 50·e^{- \left ( \frac{x}{10m} \right)^2}$$

puntos(x) = 50e^[-(x/10m)^2]

Si se toma m grande le cuesta mucho descender como vas a ver-

El ejemplo anterior donde m = 25 es

puntos(x) = 50 e^[-(x/250)^2]

Sale en color azul

Un ejemplo que se va aver mejor es con m=10 por ejemplo

puntos(x) = 50 e^[-(x/100)^2]

sale en color rojo

Y eso es todo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas