Put Call Ratio: Live PCR Data, Interpretation, and Excel Formulas

In this article

The put call ratio (PCR) is total put volume (or open interest) divided by total call volume (or open interest). A PCR above 1.0 means more puts than calls are trading, which reads as bearish sentiment; below 1.0 reads as bullish. Extreme readings are often treated as contrarian signals, and what counts as "normal" differs by market: Nifty PCR typically moves between about 0.8 and 1.3, while US equity-only PCR usually runs lower. In Excel, MarketXLS returns PCR for US-listed options directly with =opt_PutCallVolRatio("AAPL") and =opt_PutCallOIRatio("AAPL").

See it in actionMarketXLS video

Try it in your own spreadsheet

Get the free MarketXLS sample workbook (.xlsx).

No account needed. MarketXLS live data requires a paid plan. Preview workbook

Explore more videos
Put Call Ratio analysis and interpretation in Excel with MarketXLS formulas

This guide covers how PCR is calculated, how to interpret it, typical ranges by market, and how to track it in Excel.

Table of Contents

What Is the Put Call Ratio?

The Put Call Ratio (PCR) is an indicator used in options trading that compares the trading volume of put options to call options. It is calculated by dividing the number of traded put options by the number of traded call options. An increase in the put-call ratio is generally seen as bearish because it implies an increase in the number of put options traded relative to calls. Conversely, a decrease in this ratio is seen as bullish, as it suggests a higher number of call options being traded relative to puts.

The PCR serves as a barometer for market sentiment. When traders are fearful and expect prices to decline, they buy more puts for protection, driving the ratio higher. When traders are optimistic and expect prices to rise, they buy more calls, pulling the ratio lower.

The formula is simple:

PCR = Total Put Volume (or Open Interest) ÷ Total Call Volume (or Open Interest)

For example, if Nifty 50 options show 2,000,000 traded put contracts and 1,500,000 traded call contracts in a given day, the PCR would be:

PCR = 2,000,000 ÷ 1,500,000 = 1.33

This suggests a bearish sentiment as more traders are positioning for downside protection.

How Is the Put Call Ratio Calculated?

The Put Call Ratio is calculated by dividing the total number of traded put options by the total number of traded call options for a given underlying asset or market index. As puts are used to hedge against price decreases and calls are used to hedge against price increases, this ratio functions as a sentiment indicator.

There are two primary data inputs used:

  1. Volume-based PCR: Uses the total number of contracts traded during a specific period (usually one trading day).
  2. Open Interest-based PCR: Uses the total number of outstanding (unsettled) contracts at the end of a trading day.

Both approaches yield valid but sometimes different readings, and understanding when to use each is important for accurate analysis.

Two Methods: Volume PCR vs Open Interest PCR

The Put Call Ratio can be calculated in two distinct ways, and each tells a slightly different story about market sentiment.

Volume-Based PCR

Volume-based PCR divides the total put volume by the total call volume for a given trading session. This provides a snapshot of intraday or daily trading activity and reflects the most recent sentiment shift.

PCR (Volume) = Total Put Volume ÷ Total Call Volume

Volume PCR is more responsive to short-term sentiment changes. A sudden spike in put volume relative to call volume can signal panic or hedging activity in real time.

Open Interest-Based PCR

Open Interest-based PCR divides the total put open interest by the total call open interest. Open interest represents all outstanding contracts that have not been closed or settled.

PCR (OI) = Total Put Open Interest ÷ Total Call Open Interest

Open interest PCR tends to reflect a broader, more sustained market sentiment because it includes both current trades and positions that remain open from previous sessions. Many traders prefer open interest-based PCR for swing analysis because it filters out intraday noise.

Comparison: Volume PCR vs Open Interest PCR

FeatureVolume PCROpen Interest PCR
Data sourceDaily traded contractsOutstanding unsettled contracts
ResponsivenessHighly responsive to daily changesMore stable, reflects sustained sentiment
Best forShort-term / intraday analysisSwing trading and medium-term positioning
Noise levelHigher: can spike on single large tradesLower: smoothed by accumulated positions
ReliabilityGood for spotting sudden sentiment shiftsBetter for identifying persistent trends
Common useDay traders, scalpersSwing traders, institutional analysis

Both methods are valuable, and many professional traders monitor both to get a complete picture. A divergence between volume PCR and OI PCR can itself be a useful signal — for example, if volume PCR spikes bearish but OI PCR remains neutral, the bearish activity may be short-lived hedging rather than a sustained directional bet.

What Is a Good Put Call Ratio?

A good put-call ratio is not a fixed number. It changes based on market conditions, the underlying asset, and the specific market being analyzed. Generally:

  • PCR above 1.0: More puts are being traded than calls, suggesting bearish sentiment. Traders expect the market to fall or are hedging existing long positions.
  • PCR below 1.0: More calls are being traded than puts, suggesting bullish sentiment. Traders expect the market to rise.
  • PCR at or near 1.0: Roughly balanced sentiment between bulls and bears.

However, context matters enormously. A PCR of 1.2 might be considered extremely bearish in one market and perfectly normal in another. The key is to compare current PCR readings against the historical average for that specific market or underlying asset.

What Extreme PCR Values Signal

Savvy investors watch for extreme variations in the put-call ratio because these extremes often signal potential market reversals:

  • Very high PCR (e.g., above 1.3–1.5): Extreme bearishness. From a contrarian perspective, this may signal a market bottom because excessive fear often precedes a rebound. When "everyone" is buying puts, the selling pressure may be exhausted.
  • Very low PCR (e.g., below 0.5–0.7): Extreme bullishness. Contrarian traders see this as a potential market top because excessive optimism often precedes a correction. When "everyone" is buying calls, the buying pressure may be overextended.

The right interpretation of a good put-call ratio depends on one's perspective, trading strategy, and the historical norms for the specific market.

How to Interpret the Put Call Ratio

Put Call Ratio interpretation requires understanding both the absolute level and the direction of change.

Absolute Level Interpretation

PCR RangeMarket SentimentPotential Signal
Below 0.5Extremely bullishContrarian bearish — possible top
0.5 – 0.7Moderately bullishMarket trending higher
0.7 – 1.0Neutral to mildly bullishBalanced conditions
1.0 – 1.3Moderately bearishMarket under pressure
Above 1.3Extremely bearishContrarian bullish — possible bottom

Directional Change Interpretation

The trend of the PCR matters as much as the absolute level:

  • Rising PCR: Sentiment is shifting bearish. Traders are buying more puts relative to calls. This can indicate growing fear or increasing hedging activity.
  • Falling PCR: Sentiment is shifting bullish. Traders are buying more calls relative to puts. This can indicate growing optimism or unwinding of hedging positions.
  • Stable PCR at extreme levels: If the PCR stays elevated for an extended period, it may indicate sustained institutional hedging rather than panic, which is a different interpretation than a sudden spike.

Smart Money vs Retail Interpretation

Typically, smart money and institutional investors hold large positions focused more on option selling. These big players have access to detailed market information and sophisticated analytical tools. Therefore, following their positioning can be informative.

One approach is to compare PCR at different levels:

  • Equity-only PCR: Looks at individual stock options only. More heavily influenced by retail traders.
  • Index-only PCR: Looks at index options only. More heavily influenced by institutional and professional traders who use index options for portfolio hedging.

When index PCR is elevated but equity PCR is not, it often means institutions are hedging while retail traders remain bullish — a potentially important divergence.

Put Call Ratio Ranges by Market

Different markets have different "normal" PCR ranges based on the composition of their participant base and the types of strategies commonly employed.

Nifty (NSE) PCR

The Nifty Put Call Ratio is one of the most closely watched indicators in the Indian derivatives market. It typically fluctuates between 0.8 and 1.3:

  • Lower band (~0.8): Bullish territory for Nifty
  • Upper band (~1.3): Bearish territory for Nifty
  • Extreme readings above 1.5: Often precede sharp rallies (contrarian signal)
  • Extreme readings below 0.7: Often precede corrections

Nifty PCR is available on a daily basis from the NSE and can be tracked across multiple expiration dates to gauge short-term versus medium-term sentiment.

S&P 500 / CBOE PCR

The CBOE (Chicago Board Options Exchange) publishes the total, equity-only, and index-only put call ratios daily:

  • CBOE Total PCR average: Approximately 0.85–1.05
  • CBOE Equity-only PCR: Typically 0.50–0.80
  • CBOE Index-only PCR: Typically 1.0–1.5 (higher because institutions routinely buy puts for hedging)

Individual Stock PCR

Individual stock PCR can vary wildly depending on the stock, recent news, and earnings cycles. It is most useful when compared against its own historical average rather than against a fixed benchmark.

PCR as a Contrarian Indicator

Traders often use the put call ratio as a contrarian indicator. The logic:

  • When the majority of market participants are bearish (high PCR), the selling may be overdone, and a reversal to the upside is more likely.
  • When the majority are bullish (low PCR), the buying may be overdone, and a reversal to the downside is more likely.

This works because options markets often reflect the collective psychology of traders. At extremes, this psychology tends to be wrong — panic selling creates buying opportunities, and euphoric buying creates selling opportunities.

Important caveat: PCR should never be used in isolation as a contrarian signal. It is most effective when combined with price action, support/resistance levels, and other technical indicators to confirm the reversal signal.

Historical Examples of Contrarian PCR Signals

During major market events, extreme PCR readings have historically preceded significant reversals:

  • In market crashes, PCR often spikes above 1.5 as traders rush to buy puts. These spikes have frequently marked interim bottoms.
  • During market euphoria, PCR can drop below 0.5 as speculative call buying dominates. These readings have often preceded corrections.

Is Put Call Ratio the Same as Put Call Parity?

No. Put Call Ratio (PCR) and Put Call Parity are two entirely different concepts in options trading.

Put Call Ratio is a sentiment indicator calculated by dividing the number of traded put options by the number of traded call options. It provides insights into market sentiment — a high PCR points to a bearish mood among investors and vice versa.

Put Call Parity is a mathematical relationship that defines a pricing equilibrium between European put and call options with the same strike price, expiry date, and underlying asset. The formula is:

C + PV(K) = P + S

Where C is the call price, P is the put price, S is the stock price, and PV(K) is the present value of the strike price.

Put Call Parity does not reflect a percentage or ratio of trading activity. Rather, it is a theoretical principle used for pricing options and identifying arbitrage opportunities. If put-call parity is violated, traders can construct riskless arbitrage trades to profit from the mispricing.

PCR should never be mistaken as the Put Call Parity percentage — they measure entirely different things.

Other Key Metrics to Monitor Alongside PCR

While the Put Call Ratio is valuable on its own, combining it with other indicators creates a more robust analytical framework.

Implied Volatility (IV)

Implied Volatility reflects the market's view on how much the underlying asset will move in the future. High IV implies significant expected price movement, while low IV suggests stability. When PCR is high AND IV is spiking, it confirms genuine fear in the market. When PCR is high but IV is stable, the put buying may be routine hedging rather than panic.

Open Interest Distribution

Looking at where open interest is concentrated across strike prices reveals key support and resistance levels. High put open interest at a strike often acts as support (put writers defend that level), while high call open interest can act as resistance.

VIX (Volatility Index)

The VIX measures implied volatility of S&P 500 options and is often called the "fear gauge." Combining PCR with VIX readings gives you both a sentiment measure (PCR) and a volatility measure (VIX). When both are elevated, the bearish signal is stronger.

Max Pain

Max Pain is the strike price at which the maximum number of options (both puts and calls) expire worthless. Tracking max pain alongside PCR helps identify where the market is likely to gravitate toward expiration.

Comparison: PCR vs Other Sentiment Indicators

IndicatorWhat It MeasuresData SourceBest ForLimitations
Put Call RatioRelative put vs call activityOptions volume/OIMarket sentiment directionCan be skewed by hedging
VIXImplied volatility of S&P 500 optionsCBOE options pricingFear/complacency gaugeOnly measures S&P 500
AAII Sentiment SurveyRetail investor bullish/bearish %Weekly surveyRetail sentimentLagging, weekly only
Fear & Greed IndexComposite of 7 indicatorsMultiple market dataBroad sentiment overviewComposite may mask individual signals
Short Interest RatioDays to cover short positionsStock lending dataBearish positioningUpdated bi-monthly only
Advance/Decline LineBreadth of market participationStock exchange dataMarket breadth healthDoesn't capture options sentiment

The put call ratio's main advantage over survey-based indicators is that it is updated during the trading day and comes from actual trades.

What Timeframe Should You Use for PCR?

The PCR can be analyzed across multiple timeframes, and the appropriate timeframe depends on your trading style:

Daily PCR

Most commonly used. Provides a snapshot of that day's sentiment. Useful for day traders and short-term swing traders. However, daily PCR can be noisy — a single large institutional trade can skew the reading.

5-Day Moving Average PCR

Smooths out daily noise by averaging the last five trading days. This is the most popular approach for swing traders and gives a more reliable read on short-term sentiment trends.

20-Day Moving Average PCR

Provides a medium-term view of sentiment. Useful for position traders looking to identify major sentiment shifts. When the 20-day PCR average reaches extreme levels, the reversal signal is typically stronger and more reliable.

Expiration-Specific PCR

Analyzing PCR for a specific expiration date (e.g., the nearest monthly expiration) can reveal sentiment focused on a particular time horizon. This is especially useful around major events like budget announcements, earnings seasons, or central bank meetings.

For most technical analysts, the 5-day to 10-day moving average of the PCR provides the best balance between responsiveness and reliability, particularly for Indian markets like Nifty where weekly expirations create significant daily PCR volatility.

How to Calculate Put Call Ratio in Excel with MarketXLS

MarketXLS returns the put call ratio for a US-listed stock or ETF with one formula, or you can build it from put and call totals. Options data is end-of-day on the Standard plan and real-time on the Advanced and Business plans.

Getting the Put Call Ratio Directly

=opt_PutCallVolRatio("AAPL")
=opt_PutCallOIRatio("AAPL")

Formula documentation: opt_PutCallVolRatio, opt_PutCallOIRatio

=opt_PutCallVolRatio returns the volume-based PCR and =opt_PutCallOIRatio returns the open interest-based PCR. Both accept an optional expiration date to limit the ratio to one expiry.

Getting Total Put and Call Volume

To see the components, use OPT_TotalVolumeOptions for total put and call volume:

=OPT_TotalVolumeOptions("AAPL", "Put")
=OPT_TotalVolumeOptions("AAPL", "Call")

Formula documentation: OPT_TotalVolumeOptions

Then calculate the PCR by dividing put volume by call volume:

=OPT_TotalVolumeOptions("AAPL", "Put") / OPT_TotalVolumeOptions("AAPL", "Call")

Formula documentation: OPT_TotalVolumeOptions

Getting Total Open Interest

For the open interest-based PCR, use:

=OPT_TotalOpenInterestOptions("AAPL", "Put")
=OPT_TotalOpenInterestOptions("AAPL", "Call")

Formula documentation: OPT_TotalOpenInterestOptions

And calculate OI-based PCR:

=OPT_TotalOpenInterestOptions("AAPL", "Put") / OPT_TotalOpenInterestOptions("AAPL", "Call")

Formula documentation: OPT_TotalOpenInterestOptions

Getting the Full Option Chain

To see the complete options data with volume and open interest across all strikes:

=QM_GetOptionChain("AAPL")

Formula documentation: QM_GetOptionChain

This returns a comprehensive table of all available call and put contracts including strikes, expirations, bid/ask prices, volume, and open interest. You can use this data to calculate PCR at individual strike levels or for specific expiration dates.

Getting Volume and OI Breakdown

For a detailed volume and open interest breakdown:

=OPT_Vol_OI("AAPL")

Formula documentation: OPT_Vol_OI

This gives you a combined view of volume and open interest data that you can use to calculate both types of PCR simultaneously.

Getting the Current Stock Price

Always reference the current price for context:

=Last("AAPL")

Formula documentation: Last

Building a PCR Dashboard in Excel

Here is a step-by-step approach to building a comprehensive PCR monitoring dashboard using MarketXLS:

Step 1: Set Up the Header Row

Create columns for: Symbol, Last Price, Put Volume, Call Volume, Volume PCR, Put OI, Call OI, OI PCR, and Signal.

Step 2: Enter Formulas

For each stock or index you want to track, enter the following formulas:

ColumnFormula
Last Price=Last("AAPL")
Put Volume=OPT_TotalVolumeOptions("AAPL", "Put")
Call Volume=OPT_TotalVolumeOptions("AAPL", "Call")
Volume PCR=B3/C3 (Put Vol / Call Vol)
Put OI=OPT_TotalOpenInterestOptions("AAPL", "Put")
Call OI=OPT_TotalOpenInterestOptions("AAPL", "Call")
OI PCR=E3/F3 (Put OI / Call OI)
Signal=IF(D3>1.3,"Contrarian Bullish",IF(D3<0.7,"Contrarian Bearish","Neutral"))

Step 3: Add Multiple Symbols

Repeat for SPY, QQQ, MSFT, TSLA, or any other symbols you follow. This gives you a multi-asset PCR overview on a single screen.

Step 4: Add Conditional Formatting

Apply color coding:

  • Green for PCR below 0.7 (bullish sentiment) or above 1.3 (contrarian bullish)
  • Red for PCR above 1.3 (bearish sentiment) or below 0.7 (contrarian bearish)
  • Yellow for neutral readings between 0.7 and 1.3

Step 5: Track Historical PCR

Use =opt_PutCallVolRatioHistorical("AAPL", DATE(2026,6,1)) to pull the volume PCR for a past date, and fill a column of dates to chart PCR over time. You can also export =QM_GetOptionChain("AAPL") to a separate sheet each day to keep strike-level history.

The dashboard refreshes when MarketXLS updates the data: in real time on the Advanced and Business plans, and end-of-day on the Standard plan.

PCR Trading Strategies

Strategy 1: Contrarian Reversal Trading

When PCR reaches extreme levels (above 1.3 or below 0.5), look for price confirmation of a reversal:

  1. Monitor PCR for extreme readings
  2. Wait for a candlestick reversal pattern (hammer, engulfing, doji) at a key support or resistance level
  3. Enter the trade in the direction of the expected reversal
  4. Use the extreme PCR reading as confluence for your thesis

Strategy 2: Trend Confirmation

Use PCR to confirm an existing trend:

  • In an uptrend, a declining or stable PCR below 1.0 confirms bullish momentum
  • In a downtrend, a rising or stable PCR above 1.0 confirms bearish momentum
  • If PCR diverges from the trend (e.g., PCR rises while price continues higher), it may signal the trend is weakening

Strategy 3: Expiration-Based PCR Analysis

Focus on the PCR for the nearest weekly or monthly expiration:

  1. Pull data for the specific expiration using =QM_GetOptionChain("AAPL")
  2. Calculate PCR for that expiration only
  3. Identify where the heaviest put and call open interest sits
  4. Use this to anticipate where the market is likely to pin at expiration

Strategy 4: Multi-Timeframe PCR

Compare daily PCR against the 5-day and 20-day moving averages:

  • If daily PCR spikes above the 20-day average, it signals a short-term sentiment extreme
  • If the 5-day average crosses above the 20-day average, it signals a sustained sentiment shift
  • Trade in the contrarian direction when both short-term indicators are at extremes relative to the long-term average

Common Mistakes When Using the Put Call Ratio

Mistake 1: Using PCR in Isolation

PCR is a sentiment indicator, not a timing tool. A high PCR tells you sentiment is bearish, but it does not tell you exactly when the market will reverse. Always combine PCR with price action, support/resistance levels, and other technical indicators.

Mistake 2: Ignoring the Context

A PCR of 1.2 means different things in different markets. Nifty options have a different "normal" PCR range than S&P 500 options. Always compare the current PCR against the historical average for that specific market.

Mistake 3: Confusing Hedging with Directional Betting

Institutional investors routinely buy puts to hedge long stock portfolios. This activity raises the PCR without necessarily signaling bearish intent. Learning to distinguish between hedging-driven PCR increases and genuine bearish sentiment is critical.

Mistake 4: Not Accounting for Expiration Effects

PCR can behave erratically near options expiration dates as traders roll positions to the next expiration. Weekly expirations in particular can cause PCR to spike or drop without any meaningful change in sentiment.

Mistake 5: Over-Relying on Daily Data

Single-day PCR readings can be heavily influenced by one or two large trades. Using a moving average (5-day or 10-day) smooths out these anomalies and provides more reliable signals.

Frequently Asked Questions

What is the Put Call Ratio and why does it matter?

The Put Call Ratio is a sentiment indicator that compares the number of traded put options to call options. It matters because it gauges market sentiment during the trading day: whether traders are predominantly bearish (buying puts) or bullish (buying calls). When used alongside other technical and fundamental analysis tools, it helps traders anticipate potential market reversals and confirm existing trends.

How do you calculate the Put Call Ratio for Nifty?

To calculate the Nifty Put Call Ratio, divide the total put option volume (or open interest) by the total call option volume (or open interest) for Nifty 50 index options. The NSE publishes daily PCR data on its website. The MarketXLS opt_ functions in this guide cover US-listed options; for Nifty and other NSE data in Excel, see MarketXLS India, which connects to Indian brokers such as Zerodha and Angel One.

Is a high Put Call Ratio bullish or bearish?

A high Put Call Ratio (above 1.0) indicates bearish sentiment because more puts are being traded than calls. However, from a contrarian perspective, extremely high PCR readings (above 1.3–1.5) can actually be bullish signals because they suggest the market may be overly pessimistic and due for a rebound. The interpretation depends on whether you are reading PCR as a direct sentiment measure or a contrarian indicator.

What is the difference between volume PCR and open interest PCR?

Volume PCR uses the total number of contracts traded during a specific period, reflecting the most recent trading activity. Open Interest PCR uses the total number of outstanding unsettled contracts, reflecting accumulated positioning over time. Volume PCR is more responsive to short-term changes while open interest PCR provides a smoother, more stable reading of sustained market sentiment.

Can the Put Call Ratio predict market crashes?

The Put Call Ratio cannot predict market crashes with certainty, but it can provide warning signals. Extremely low PCR readings (below 0.5) indicate excessive bullish complacency, which has historically preceded some market corrections. However, PCR should always be used in combination with other indicators rather than as a standalone predictor. No single indicator can consistently predict crashes.

How often should you check the Put Call Ratio?

For day traders, checking PCR at the start of the trading day and monitoring changes throughout the session is common. For swing traders, checking the daily PCR and its 5-day moving average at the end of each trading day is sufficient. For position traders, weekly reviews of the 20-day PCR moving average provide the best perspective. The frequency depends on your trading style and time horizon.

Summary

The put call ratio compares put activity to call activity to show whether options traders lean bearish or bullish.

Key takeaways from this guide:

  • PCR above 1.0 signals bearish sentiment; below 1.0 signals bullish sentiment
  • Volume PCR captures short-term shifts; Open Interest PCR reveals sustained positioning
  • Extreme readings work best as contrarian signals when confirmed by price action
  • Different markets have different normal PCR ranges, so compare against historical norms
  • MarketXLS formulas like =opt_PutCallVolRatio(), =opt_PutCallOIRatio(), =OPT_TotalVolumeOptions(), and =QM_GetOptionChain() track PCR for US-listed options in Excel
  • Never use PCR alone: combine it with IV, VIX, price action, and support/resistance levels

Watch both the level of the PCR and its direction of change, and compare index PCR with equity-only PCR to separate institutional hedging from retail sentiment.

👉 See MarketXLS plans to build a PCR dashboard in Excel (real-time options data requires the Advanced or Business plan). Visit MarketXLS to learn more.

Disclaimer

None of the content published on marketxls.com constitutes a recommendation that any particular security, portfolio of securities, transaction, or investment strategy is suitable for any specific person. The author is not offering any professional advice of any kind. The reader should consult a professional financial advisor to determine their suitability for any strategies discussed herein.

About the authors
Robin

About Robin

Co-Founder & COO, MarketXLS

Robin is a co-founder and the COO of MarketXLS. He works with Ankur and Anagh on the MarketXLS blog, creating articles together about market data and spreadsheet workflows.

Written collaboratively by Robin, Ankur and Anagh.

Important Disclaimer

The information provided in this article is for educational and informational purposes only and should not be construed as investment advice, a recommendation, or an offer to buy or sell any securities. MarketXLS is a financial data platform and is not a registered investment advisor, broker-dealer, or financial planner. Always conduct your own research and consult with a qualified financial professional before making any investment decisions. Past performance is not indicative of future results. Trading and investing involve substantial risk of loss.

The Professional Investment Platform Inside Excel

Market data and options research tools in Excel

  • Option prices and Greeks in Excel
  • Historical options data in Excel
  • US stock and index options data
  • Prices and data on underlying stocks and indices
  • Use MarketXLS formulas in your Excel worksheets
  • Explore options research workflows in Excel
  • Excel formulas and sample worksheets

See MarketXLS in action

Bring this workflow into Excel.

Book a demo with our team to see how MarketXLS supports your market research.

Ankur
AnkurFounder & CEO, MarketXLS
Book a demo