2017-06-03 2 views
1

En utilisant R, existe-t-il une formule qui peut m'aider à calculer une commission de vente en fonction de cette condition. Pour exemple:Calculer la commission linéaire - Recherche d'une formule

Si la croissance (en%) se situe entre 5% et 7%, le vendeur recevra une commission qui sera linéaire de 10% à 12,5%

Les variables:

TargetAmt<-100 
Earned<-105.6 
PctGrowth<-((Earned-TargetAmt)/TargetAmt)*100 
PctGrowth 

5,6

Par conséquent, je dois maintenant de calculer sa commission, qui sera linéaire de 10% à 12,5%.

Je peux le faire manuellement en calculant la pente de la ligne. Cependant, comment puis-je faire cela dans R?

+2

Vos points sont (x1, y1) = (0.05, 0.10) et (x2, y2) = (0.07, 0.125). Utilisez simplement la forme point-pente d'une ligne: y-y1 = m * (x-x1), où m = (y2-y1)/(x2-x1). – Robert

Répondre

3

1) lm Pour une croissance de 5,6% la commission est de 10,6%

growth <- c(5, 7) 
commission <- c(10, 12.5) 

fit <- lm(commission ~ growth) 
predict(fit, list(growth = 5.6)) 
##  1 
## 10.75 

1a) Alternativement, on peut obtenir la formule de la régression linéaire, puis il suffit d'appliquer nous-même. Dans ce cas, la pente est de 1,25 et l'ordonnée à l'origine est de 3,75:

> fit 
Call: 
lm(formula = commission ~ growth) 

Coefficients: 
(Intercept)  growth 
     3.75   1.25 

de sorte que la commision est 1,25 fois la croissance en pourcentage, plus 3,75 points de pourcentage, à savoir * 5,6 + 1,25 = 3,75 10,75.

2) environ Une autre façon est d'utiliser approx comme ceci:

approx(growth, commission, xout = 5.6)$y 
## [1] 10.75 
+0

Merci G. Grothendieck.Cela a aidé les tas. – MaxPD

+2

C'est vraiment sympa et simple, juste une chose, OP demandait une commission de 10 à 12.5. Donc, assurez-vous de changer la commission <- c (10, 12) à la commission <- c (10, 12.5) –

+0

Je vais utiliser la fonction 'approx'. C'est le plus droit. Je vous remercie. – MaxPD

2

Solution alternative

Trouver l'équation de la ligne

aide y = mx + c:

m = (0.125 - 0.1)/(0.07-0.05) 
m = 0.025/0.02 
m = 1.25 

de remplacement 0,1 (10%) et 0,05 (5%) dans l'équation pour obtenir c

y = 1.25x + c 
0.1 = (1.25 * 0.05) + c 
0.1 - (1.25 * 0.05) = c 
c = 0.0375 

nous avons maintenant notre équation de la ligne:

y = 1.25x + 0.0375 

Le code :

TargetAmt <- 100 
Earned <- 105.6 

profitAsDecimal = (Earned/TargetAmt) - 1 
commission = (1.25 * profitAsDecimal) + 0.0375 
commissionAsDecimal = (1.25 * profitAsDecimal) + 0.0375 

donc, pour la croissance de 5,6 votre commissionAsDecimal serait 0,1075. multipliez par 100 pour obtenir le pourcentage de 10,75.

Cette réponse vous donnera un résultat linéaire de 5% à 7% égal à 10% à 12,5%. La réponse ci-dessus va de 10% à 12%

+1

Merci. Tu as raison. Il a eu une faute de frappe. Je connaissais le concept. Je voulais la formule en R. Merci pour votre aide. – MaxPD