La función de script NPV() toma una tasa de descuento y varios valores ordenados por período. Las entradas (ingresos) son positivas y las salidas (pagos futuros) se supone que son valores negativos para estos cálculos. Estos ocurren al final de cada período.
El valor actual neto, VAN (o NPV por sus siglas en inglés), se utiliza para calcular el valor total actual de una corriente futura de flujos de caja. Para calcular el VAN (o NPV), tenemos que estimar los flujos de caja futuros de cada período y determinar el tipo de descuento correcto. La función de script NPV() toma una tasa de descuento y múltiples valores ordenados por período. Las entradas (ingresos) son positivas y las salidas (pagos futuros) se supone que son valores negativos para estos cálculos. Estos ocurren al final de cada período.
Sintaxis:
NPV(discount_rate, value)
Tipo de datos que devuelve: numérico. De forma predeterminada, el resultado recibirá el formato de moneda.
La fórmula para calcular el valor actual neto es:
donde:
Rt= Entradas y salidas netas de efectivo durante un solo periodo t
i = Tasa de descuento o rendimiento que podría obtenerse en inversiones alternativas
t = Número de períodos del temporizador
Argumentos
Argumento
Descripción
discount_rate
discount_rate es la tasa porcentual de descuento aplicada.
Un valor de 0,1 indicaría una tasa de descuento del 10%.
value
Este campo contiene valores para múltiples períodos ordenados por período. Se supone que el primer valor es el flujo de caja al final del período 1, y así sucesivamente.
Limitaciones:
La función NPV() tiene las siguientes limitaciones:
Los valores de texto, valores NULL y valores perdidos se descartan.
Los valores del flujo de caja deben estar en orden ascendente por período.
Cuándo se utiliza
NPV() es una función financiera utilizada para verificar la rentabilidad del proyecto y para deducir otras medidas. Esta función es útil cuando los flujos de caja están disponibles como datos sin procesar.
Configuraciones regionales
A menos que se especifique algo distinto, los ejemplos de este tema utilizan el siguiente formato de fecha: MM/DD/YYYY. El formato de fecha se especifica en la sentencia SET DateFormat de su script de carga de datos. El formato de fecha predeterminado puede ser diferente en su sistema, debido a su configuración regional y otros factores. Puede cambiar el formato en los ejemplos a continuación para ajustarlo a sus necesidades. O puede cambiar los formatos en su script de carga para que coincidan con estos ejemplos. Para más información, vea Modificar la configuración regional para aplicaciones y scripts.
La configuración regional predeterminada en las aplicaciones se basa en el perfil de usuario. Estos ajustes de formato regional no están relacionados con el idioma mostrado en la interfaz de usuario de Qlik Cloud. Qlik Cloud se mostrará en el mismo idioma que esté utilizando su navegador.
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos de un proyecto y su flujo de caja durante un período, que se carga en una tabla denominada CashFlow.
Una carga residente de la tabla CashFlow, que se utiliza para calcular el campo NPV del proyecto en una tabla denominada NPV.
Una tasa de descuento codificada del 10%, que se utiliza en el cálculo del NPV.
Una sentencia Group By, que se utiliza para agrupar todos los pagos del proyecto.
Script de carga
CashFlow:
Load
*
Inline
[
PrjId,PeriodId,Values
1,1,1000
];
NPV:
Load
PrjId,
NPV(0.1,Values) as NPV //Discount Rate of 10%
Resident CashFlow
Group By PrjId;
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
PrjId
NPV
Tabla de resultados
PrjId
NPV
1
$909.09
Para recibir un pago único de $1000 al final de un período, a una tasa de descuento del 10% por período, el NPV es igual a $1000 dividido por (1 + tasa de descuento). El NPV efectivo es igual a $909,09
Ejemplo 2: múltiples pagos (script)
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Un conjunto de datos de un proyecto y su flujo de caja durante varios períodos, que se carga en una tabla denominada CashFlow.
Una carga residente de la tabla CashFlow, que se utiliza para calcular el campo NPV del proyecto en una tabla denominada NPV.
Una tasa de descuento codificada del 10% (0,1) se utiliza en el cálculo del NPV.
Una sentencia Group By, que se utiliza para agrupar todos los pagos del proyecto.
Script de carga
CashFlow:
Load
*
Inline
[
PrjId,PeriodId,Values
1,1,1000
1,2,1000
];
NPV:
Load
PrjId,
NPV(0.1,Values) as NPV //Discount Rate of 10%
Resident CashFlow
Group By PrjId;
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
PrjId
NPV
Tabla de resultados
PrjId
NPV
1
$1735.54
Para recibir pagos de $1000 al final de dos períodos, a una tasa de descuento del 10% por período, el NPV efectivo es igual a $1735,54.
Ejemplo 3: múltiples pagos (script)
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Tasas de descuento para dos proyectos, que se cargan en una tabla denominada Project.
Flujos de caja para múltiples períodos, para cada proyecto por ID de proyecto e ID de período. Este ID de período podría usarse para ordenar los registros en caso de que los datos no estén ordenados.
La combinación de NoConcatenate, cargas residentes y la función Left Join para crear una tabla temporal, tmpNPV. La tabla combina los registros de las tablas Project y CashFlow en una tabla plana. Esta tabla tendrá tasas de descuento repetidas para cada período.
Una carga residente de la tabla tmpNPV, que se usa para calcular el campo NPV para cada proyecto en una tabla denominada NPV.
La tasa de descuento de valor único asociada a cada proyecto. Esto se recupera usando la función only() y se usa en el cálculo del NPV de cada proyecto.
Una instrucción Group By, que se utiliza para agrupar todos los pagos de cada proyecto por ID de proyecto.
Para evitar que se carguen datos sintéticos o redundantes en el modelo de datos, la tabla tmpNPV se elimina al final del script.
Script de carga
Project:
Load * inline [
PrjId,Discount_Rate
1,0.1
2,0.15
];
CashFlow:
Load
*
Inline
[
PrjId,PeriodId,Values
1,1,1000
1,2,1000
1,3,1000
2,1,500
2,2,500
2,3,1000
2,4,1000
];
tmpNPV:
NoConcatenate Load *
Resident Project;
Left Join
Load *
Resident CashFlow;
NPV:
Load
PrjId,
NPV(Only(Discount_Rate),Values) as NPV //Discount Rate will be 10% for Project 1 and 15% for Project 2
Resident tmpNPV
Group By PrjId;
Drop table tmpNPV;
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
PrjId
NPV
Tabla de resultados
PrjId
NPV
1
$2486.85
2
$2042.12
El Proyecto ID 1 espera recibir pagos de $1000 al final de tres períodos, a una tasa de descuento del 10% por período. Por lo tanto, el NPV efectivo es igual a $2486,85.
El Proyecto ID 2 espera dos pagos de $500 y dos pagos adicionales de $1000 en cuatro períodos a una tasa de descuento del 15%. Por lo tanto, el NPV efectivo es igual a $2042,12.
Ejemplo 4: ejemplo de rentabilidad de proyecto (script)
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
El script de carga contiene:
Tasas de descuento e inversiones iniciales (período 0) para dos proyectos, cargados en una tabla denominada Project.
Flujos de caja para múltiples períodos, para cada proyecto por ID de proyecto e ID de período. Este ID de período podría usarse para ordenar los registros en caso de que los datos no estén ordenados.
La combinación de NoConcatenate, cargas residentes y la función Left Join para crear una tabla temporal, tmpNPV. La tabla combina los registros de las tablas Project y CashFlow en una tabla plana. Esta tabla tendrá tasas de descuento repetidas para cada período.
La tasa de descuento de valor único asociada a cada proyecto, que se recupera mediante la función only() y se utiliza en el cálculo del NPV para cada proyecto.
Se usa una carga residente de la tabla tmpNPV para calcular el campo NPV para cada proyecto en una tabla denominada NPV.
Se crea un campo adicional que divide el NPV por la inversión inicial de cada proyecto para calcular el índice de rentabilidad del proyecto.
Se utiliza una sentencia group by, que agrupa por ID de proyecto, para agrupar todos los pagos de cada proyecto.
Para evitar que se carguen datos sintéticos o redundantes en el modelo de datos, la tabla tmpNPV se elimina al final del script.
Script de carga
Project:
Load * inline [
PrjId,Discount_Rate, Initial_Investment
1,0.1,100000
2,0.15,100000
];
CashFlow:
Load
*
Inline
[
PrjId,PeriodId,Values,
1,1,35000
1,2,35000
1,3,35000
2,1,30000
2,2,40000
2,3,50000
2,4,60000
];
tmpNPV:
NoConcatenate Load *
Resident Project;
Left Join
Load *
Resident CashFlow;
NPV:
Load
PrjId,
NPV(Only(Discount_Rate),Values) as NPV, //Discount Rate will be 10% for Project 1 and 15% for Project 2
NPV(Only(Discount_Rate),Values)/ Only(Initial_Investment) as Profitability_Index
Resident tmpNPV
Group By PrjId;
Drop table tmpNPV;
Resultados
Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:
PrjId
NPV
Cree la siguiente medida:
=only(Profitability_Index)
Tabla de resultados
PrjId
NPV
=only(Profitability_Index)
1
$87039.82
0.87
2
$123513.71
1.24
El proyecto ID 1 tiene un NPV efectivo de 87.039,82 dólares y una inversión inicial de 100.000 dólares. Por lo tanto, el índice de rentabilidad es igual a 0,87. Como es inferior a 1, el proyecto no es rentable.
El proyecto ID 2 tiene un NPV efectivo de 123.513,71 dólares y una inversión inicial de 100.000 dólares. Por lo tanto, el índice de rentabilidad es igual a 1,24. Como es mayor que 1, el proyecto es rentable.
No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.