Vector Motion
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://vectormotion.vercel.app/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