VectorMotion
E-Commerce

Customer Lifetime Value Card - Revenue Analytics

Monitor customer lifetime value (CLV) and customer profitability. Analyze retention value and long-term customer relationships.

Customer Lifetime Value Card

The Customer Lifetime Value Card Analyze customer lifetime value and revenue potential.

Preview

Installation

ash npx shadcn@latest add https://www.vectormotion.dev/registry/customer-lifetime-value-card.json

Customer Lifetime Value Card
'use client';import React from "react";import { User, DollarSign, TrendingUp } from "lucide-react";import { motion } from "motion/react";import { clsx, type ClassValue } from "clsx";import { twMerge } from "tailwind-merge";function cn(...inputs: ClassValue[]) {  return twMerge(clsx(inputs));}interface CustomerLifetimeValueCardProps {  className?: string;  title?: string;  value?: string;  change?: number;}const DEFAULT_TITLE = "Customer Lifetime Value";const DEFAULT_VALUE = "$1,234";const DEFAULT_CHANGE = 15;export const CustomerLifetimeValueCard: React.FC<  CustomerLifetimeValueCardProps> = ({  className = "",  title = DEFAULT_TITLE,  value = DEFAULT_VALUE,  change = DEFAULT_CHANGE,}) => {    const isInteractive = true;    const index = 33;    return (      <motion.div        layoutId={isInteractive ? `card-${index}-${title}` : undefined}        transition={{ duration: 0.4, ease: "easeOut" }}        className={cn(          "relative overflow-hidden rounded-xl border border-border bg-card text-card-foreground p-6 shadow-sm transition-all flex flex-col group",          isInteractive            ? "cursor-pointer hover:border-zinc-300 dark:hover:border-zinc-700"            : "",          className,        )}      >        <div className="mb-4 flex items-start justify-between relative z-10">          <div>            <h3 className="font-semibold text-lg tracking-tight text-foreground">              {title}            </h3>            <p className="text-sm text-muted-foreground mt-1">              Predicted total revenue            </p>          </div>          <div className="rounded-full bg-zinc-100 dark:bg-zinc-800 p-2 text-foreground flex items-center justify-center">            <User className="h-5 w-5 text-purple-500" />          </div>        </div>        <div className="relative z-10 flex-1 flex flex-col justify-end">          <div className="text-3xl font-bold text-foreground mb-1">{value}</div>          <div className="flex items-center gap-2">            <TrendingUp className="h-4 w-4 text-emerald-500" />            <p className="text-sm text-muted-foreground">              <span className="text-emerald-500">+{change}%</span> this year            </p>          </div>        </div>      </motion.div>    );  };

Usage

This component is a data-rich dashboard card displaying e-commerce metrics with animated visualizations and dark mode support. Perfect for dashboards, landing pages, and analytics interfaces.

Prop

Type

On this page

Free block

Need this in production?

Unlock install commands, source access, commercial use, and AI prompts for all VectorMotion blocks.